Загрузка файла Terraform из одного экземпляра EC2 в другой экземпляр EC2 внутри того же VPC - PullRequest
0 голосов
/ 27 июня 2019

Программа terraform, запущенная в одном экземпляре Amazon Linux 2 EC2, создает еще один экземпляр Amazon Linux 2 EC2 в том же VPC.


Задача
Все работает правильно, за исключением поставщика файлов terraform. Но когда программа terraform достигает точки, где она пытается загрузить конкретный файл из исходного экземпляра EC2 в целевой экземпляр EC2, время ожидания программы истекает через 5 минут.


Работает извне AWS
При загрузке с удаленного сервера Windows за пределами AWS работает тот же файл. Таким образом, проблема связана либо с экземплярами EC2 Amazon Linux 2, либо с чем-то в конфигурации AWS, например с политикой роли IAM, или с чем-то еще.


Какой-то код

Следующий код исходного экземпляра EC2 предназначен для того, чтобы terraform очень легко извлекать файл и отправлять файл в целевой экземпляр EC2:

sudo chown sudo-username:sudo-username /home/sudo-username/folder-name/name-of.pem  
sudo chmod -R 777 /home/sudo-username/folder-name  
sudo chown -R sudo-username:sudo-username /home/sudo-username/folder-name  

Кроме того, следующий код, запущенный на исходном экземпляре EC2, успешно передает тот же файл из исходного экземпляра EC2 в целевой экземпляр EC2:

scp -i .ssh/name-of.file /home/sudo-username/folder-name/name-of.pem sudo-username@local.ip.inside.vpc:~/  

Я не включаю код поставщика файлов Terraform, потому что тот же код поставщика файлов Terraform отлично работает при запуске на исходном сервере вне AWS, и потому что я подтвердил, что /home/sudo-username/folder-name/name-of.pem был определен как источник файла.


Вопрос
Что конкретно нужно настроить в AWS, чтобы terraform могла загружать файл из одного экземпляра EC2 в другой экземпляр EC2 в том же VPC?

Это вопрос открытия портов в брандмауэре? Или создание политики роли IAM для любого из экземпляров EC2?

Для меня успех команды scp показывает, что эта проблема связана с взаимодействием между terraform и AWS.

...