При запуске точечного флота с использованием примера terraform здесь Мне необходимо указать требуемое значение.
iam_fleet_role = "arn:aws:iam::12345678:role/spot-fleet"
Однако я не хочу указывать номер учетной записи, поэтому хочу создатьроль и прикрепите политику «AmazonEC2SpotFleetTaggingRole», чтобы я написал код ниже, но я получаю сообщение об ошибке:
* aws_spot_fleet_request.cheap_compute: "iam_fleet_role" doesn't look like a valid ARN ("^arn:[\\w-]+:([a-zA-Z0-9\\-])+:([a-z]{2}-(gov-)?[a-z]+-\\d{1})?:(\\d{12})?:(.*)$"): "test_role"
Что я делаю неправильно или я должен делать это другим способом?
resource "aws_iam_role" "test_role" {
name = "test_role"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
}
resource "aws_iam_role_policy_attachment" "AmazonEC2SpotFleetTaggingRole-policy-attachment" {
role = "${aws_iam_role.test_role.name}"
policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole"
}
# Request a Spot fleet
resource "a`enter code here`ws_spot_fleet_request" "cheap_compute" {
iam_fleet_role = "${aws_iam_role_policy_attachment.AmazonEC2SpotFleetTaggingRole-policy-attachment.role}"
spot_price = "0.77"
allocation_strategy = "diversified"
target_capacity = 2
valid_until = "2018-06-11T20:44:20Z"
launch_specification {
instance_type = "t2.micro"
ami = "ami-1853ac65"
spot_price = "0.777"
availability_zone = "us-east-1a"
tags {
Name = "spot-fleet-example"
}
}
}