Советы по настройке Terraform: связь TLS через VPC - PullRequest
0 голосов
/ 27 января 2019

Я работаю для клиента, у которого достаточно простая проблема:

У них есть EC2 в двух разных регионах / VPC, на которых размещены микросервисы.До этого момента все EC2 требовались только для связи с экземплярами EC2, которые находились в одной подсети, но теперь нам нужно подготовить нашу инфраструктуру, чтобы определенные ec2 в публичной подсети VPC A могли вызывать определенные ec2 в публичной подсети VPC B (и наоборот).).Коммуникации будут вызывать спокойные API через HTTPS / TLS 2.0

. В этом нет ничего революционного, но ИТ движется медленно, и я хочу создать концепцию Terraform, которая:

  1. Создает два VPC
  2. Создает общедоступную подсеть в каждой
  3. Создает EC2 в каждой
  4. Устанавливает httpd в EC2 вместе с сертификатом для использования SSL / TLS
  5. Создаетсоответствующие группы безопасности, так что только IP-адреса, связанные с конкретным экземпляром, могут вызывать соответствующую службу

На этом клиенте нет контейнеризации, только отдельные EC2 для каждого приложения с 1 или 2 резервными копиями для распределения нагрузки,Я работаю с terraform, поэтому я могу представить им различные идеи для рассмотрения, такие как использование пиринга VPC, эластичных IP-адресов, шлюзов NAT и т. Д.

Я вижу, как использовать Terraform для внесения этих инфраструктурных изменений,но я не уверен, как создать EC2, которые устанавливают сервер, который может использовать временный сертификат для демонстрации трафика HTTPS.Я вижу технологию под названием Packer, но также подумал, что мне следует просто создать собственный AMI, который делает это.

Каким было бы наилучшее решение?Это не должно быть готово к производству, поэтому я предпочитаю создать быстрое стабильное доказательство концепции.

1 Ответ

0 голосов
/ 04 февраля 2019

Я бы использовал параметр EC2 user_data в Terraform для установки httpd и создания вашего сертификата SSL. Packer отлично подходит, если вы хотите создать AMI для ускорения, но, поскольку это POC, и вы не выполняете сложную настройку, которая может занять много времени, я бы просто использовал user_data.

...