Is there a way to control two instantiated systemd services as a single unit?

Solution 1:

Look at using the BindsTo option to tie the units together. The systemd.unit(5) manual page describes it like this:

BindsTo=

Configures requirement dependencies, very similar in style to Requires=, however in addition to this behavior, it also declares that this unit is stopped when any of the units listed suddenly disappears. Units can suddenly, unexpectedly disappear if a service terminates on its own choice, a device is unplugged or a mount point unmounted without involvement of systemd.

Which sounds like it should do what you want and tie one unit to the other so that whenever the master stops the slave stops as well and vice versa for starting up.

Don't forget that you can also use Before/After to specify the order in which they should start if necessary.