Программа 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.