resource "aws_iam_instance_profile" "eb" { name_prefix = "eb-ec2-role-" role = aws_iam_role.eb.name } resource "aws_iam_role" "eb" { name_prefix = "eb-ec2-role-" path = "/" 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" "eb_web_tier" { role = aws_iam_role.eb.name policy_arn = "arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier" } resource "aws_iam_role_policy_attachment" "eb_multi_container_docker" { role = aws_iam_role.eb.name policy_arn = "arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker" } resource "aws_iam_role_policy_attachment" "eb_ssm" { role = aws_iam_role.eb.name policy_arn = "arn:aws:iam::aws:policy/AmazonSSMFullAccess" } resource "aws_iam_role_policy_attachment" "eb_worker_tier" { role = aws_iam_role.eb.name policy_arn = "arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier" }