Назад | Перейти на главную страницу

Какое имя использовать при обмене данными между подсетями AWS

Я гуглил весь день и не могу понять. Я пытаюсь настроить многоуровневое приложение в AWS VPC, но я новичок в большой системной сетевой архитектуре. Я собираюсь использовать несколько подсетей для обработки различных частей приложения. Наши серверы приложений должны будут связываться с серверами баз данных в подсети БД, а также с различными другими службами в других подсетях. Я собираюсь использовать CloudFormation, чтобы все это организовать.

Мой вопрос очень простой. Какие имена / IP-адреса я настраиваю для своих приложений, чтобы они могли взаимодействовать с этими другими службами. Моим серверам приложений потребуется URL-адрес для базы данных и всех этих других служб. Кажется, я не могу понять, как назначить имя хоста созданным ресурсам.

Для база данных у вас есть два варианта:

  1. RDS - база данных, управляемая Amazon и предоставляемая вам как услуга. В этом случае вам дается имя хоста на странице сведений о RDS. Это могло быть что-то вроде mysql-rds01.abcdefgh.ap-southeast-2.rds.amazonaws.com - используйте это.
  2. Разверните свой собственный сервер БД с ОС вы справитесь. В этом случае вы можете использовать внутреннее имя, например ip-172-31-44-105.ap-southeast-2.compute.internal или лучше создать зону в AWS Route53 и в этой зоне создайте запись вроде db-server будучи CNAME указывая на указанное выше имя. Это дает преимущество использования стабильного имени (db-server), который можно обновить в одном месте (Route53) при изменении IP-адреса экземпляра.

Всегда стараюсь использовать RDS если у вас нет очень веской причины, почему бы не использовать RDS и не использовать свой собственный.

Затем для связи между уровнями может быть хорошей идеей использовать Эластичные балансировщики нагрузки (ELB) - они могут быть внутренний, например спрячьте свой внутренний кластер веб-служб за внутренним ELB, а для разговора с веб-службой используйте DNS-имя ELB. Будет что-то вроде internal-blahblah-12345678.ap-southeast-2.elb.amazonaws.com и снова вы можете дать ему хороший CNAME в Маршрут53.

Излишне говорить, что всем этим будет управлять ваш CloudFormation шаблоны. В том же шаблоне, который создает ваш хост веб-службы, также создайте его ELB и его записи Route53. Тогда у вас будут все логически связанные ресурсы, созданные за один раз.