Я пытаюсь скопировать файл из S3, используя данные пользователя terraform.Все остальные команды выполняются, но не могут скопировать с S3.При создании новой роли и политики из консоли она отлично работает с тем же разрешением.
fatal error: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Max retries exceeded with url: /somebucket/index.html (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x7fac02dfe550>, 'Connection to s3.amazonaws.com timed out. (connect timeout=60)'))
Мой код выглядит следующим образом: -
resource "aws_iam_role" "CF2TF-IAM-Role" {
name = "CF2TF-IAM-Role"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
EOF
}
resource "aws_iam_policy" "CF2TF-IAM-Policy" {
name = "CF2TF-IAM-Policy"
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": "*"
}
]
}
EOF
}
resource "aws_iam_role_policy_attachment" "CF2TF-IAM-PA" {
depends_on = ["aws_iam_role.CF2TF-IAM-Role", "aws_iam_policy.CF2TF-IAM-Policy"]
role = "${aws_iam_role.CF2TF-IAM-Role.name}"
policy_arn = "${aws_iam_policy.CF2TF-IAM-Policy.arn}"
}
resource "aws_iam_instance_profile" "CF2TF-IAM-IP" {
name = "CF2TF-IAM-IP"
depends_on = ["aws_iam_role.CF2TF-IAM-Role"]
role = "${aws_iam_role.CF2TF-IAM-Role.id}"
}
Файл пользовательских данных выглядит следующим образом: -
#!/bin/bash
yum update -y
yum install httpd -y
aws s3 cp s3://somebucket/index.html /var/www/html/index.html
service httpd start