Если я правильно понимаю ситуацию, у вас есть 3 приложения, запущенные в тех же 4 экземплярах, которые используют отдельный порт для каждого приложения для обслуживания трафика. Поскольку у вас может быть только 1 порт на целевую группу, я предполагаю, что у вас также есть 3 целевые группы. Учитывая ваше описание, похоже, что вы развернули все 3 приложения, используя одно и то же приложение CodeDeploy, предположительно связав все это вместе.
Только одна целевая группа на развертывание
В сложившейся ситуации невозможно привязать / открепить одно развертывание CodeDeploy от 3 разных целевых групп в одном и том же развертывании. Ограничение - одна целевая группа на развертывание, поэтому невозможно связывать / отменять привязку с 3 разных портов. Конечно, вы можете сделать все это вручную, используя ловушки жизненного цикла , но я бы очень не рекомендовал это.
Используйте другое приложение CodeDeploy для приложения
То, что вам действительно нужно, это создать отдельное приложение CodeDeploy для каждого запущенного вами приложения. Если вы разбили его на 3 разных приложения в CodeDeploy, у вас вообще не возникнет этой проблемы, потому что у вас будет 3 разных группы развертывания с тремя разными целевыми группами, все они связаны с разными портами. Ваш процесс выпуска будет намного безопаснее, потому что вы рискуете обновлять только одно приложение за раз вместо 3, а когда вы делаете развертывание, вам нужно только отсоединиться от целевой группы, обслуживающей 1 приложение, чтобы другие 2 приложения продолжали работать. Это должно увеличить вашу доступность.
Единственный недостаток этого подхода - большее количество развертываний с преимуществами повышенной безопасности, и вы не сможете выпустить все 3 приложения одновременно, если для этого была какая-то причина.