Попытка автоматически зарегистрировать мои экземпляры EC2 в Route 53 - PullRequest
0 голосов
/ 19 июня 2019

На данный момент у меня работает около 40 экземпляров Windows EC2.Это число начнет существенно расти в ближайшие несколько месяцев.Каждый из них является экземпляром t2.small Windows 2016 Server.Стоимость начинает становиться проблемой по мере увеличения числа.Каждый экземпляр имеет свой собственный Elastic IP-адрес, потому что, когда пользователь Tom хочет получить доступ к своей машине, он будет использовать DNS tom.mydomain.com.

tom.mydomain.com, зарегистрированный в размещенной зоне Route53, указывающей на Elastic IP 22.33.44.55, которыйбыл связан с экземпляром Тома EC2.Проблема в том, что Том должен использовать свою машину только 4 часа в день.Когда он не используется, он просто выключает машину.Но ... Elastic IP, который указывает на остановленный экземпляр, стоит почти столько же в час, сколько экземпляр t1.micro в работающем состоянии.

Так что я хочу сделать, когда Том входит в консоль AWSи запускает свой экземпляр EC2, он автоматически регистрируется в Route53 для DNS «tom.mydomain.com».

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

Учебное пособие Авторегистрация экземпляра EC2 в AWS Route 53 выглядит так, как будто это именно то, что я хочу сделать.Проблема в том, что скриптинг для Linux.Я хочу, чтобы это работало для Windows.У меня все сделано до шага 6 в учебнике, но я застрял там.Кто-нибудь получить что-то похожее на это работает на Windows?

Ответы [ 3 ]

2 голосов
/ 21 июня 2019

Я бы порекомендовал:

  • Создайте веб-интерфейс , где ваши пользователи могут аутентифицироваться и запрашивать доступ к своему экземпляру Amazon EC2.
    • Вы можете использовать Amazon Cognito для аутентификации и DynamoDB для хранения данных
  • Как только пользователь аутентифицируется, сервис может:
    • Запустить свой экземпляр EC2 (если он был ранее остановлен)
    • Свяжите случайный общедоступный IP-адрес с доменным именем клиента
    • Сообщите пользователю, что экземпляр теперь доступен
  • Пользователи входят в экземпляр и выполняют свои рабочие функции
  • Затем у вас есть какой-то механизм (я не уверен, что), который обнаруживает, что им больше не нужен экземпляр, а затем Останавливает экземпляр, чтобы сэкономить расходы

Приведенный выше процесс позволяет избежать присвоения учетных данных IAM вашим пользователям . Хотя учетные данные IAM важны для сотрудников, работающих в вашей инфраструктуре AWS, их не следует назначать конечным пользователям вашего сервиса.

Процесс также избегает назначения разрешений IAM каждому экземпляру EC2 . Хотя сами экземпляры могут вызывать маршрут 53 для обновления записи для своего доменного имени, для этого требуется, чтобы роль IAM была назначена экземпляру EC2. Если ваши пользователи имеют доступ к самому экземпляру, это потенциально может открыть дыру в безопасности, где они могут вызвать Route 53 с неверными данными, например, присвоить доменные имена других пользователей их собственному экземпляру.

Стоит отметить, что приведенные выше рекомендации отражают способ работы Amazon WorkSpaces - пользователи аутентифицируются, их экземпляр запускается и после периода неиспользования экземпляр останавливается.

0 голосов
/ 29 июня 2019

Да. Облачная информация была бы рекомендуемым подходом. Вы можете попробовать cloudkast , который является онлайн-генератором шаблонов облачной информации. Это сделает вашу задачу по созданию шаблона облачной информации очень простой и легкой

0 голосов
/ 21 июня 2019

Я рекомендую использовать шаблон облачной информации. Облачная информация может создать EC2 и затем присоединить его к URL-адресу route53. Поэтому, когда кому-то нравится использовать экземпляр EC2, он должен запустить стек в Cloudformation. Как только он закончит, он должен вернуться к облачной информации и уничтожить стек.

...