Даже имея все документы, я получал ошибку «Доступ запрещен для корзины». Удаление шифрования из ведра работало для меня.
я проблема с использованием Terraform (v0.9.2) при добавлении сервисов в ELB (я использую:https://github.com/segmentio/stack/blob/master/s3-logs/main.tf).
Когда я бегуterraform apply
Я получаю эту ошибку:
* module.solr.module.elb.aws_elb.main: 1 error(s) occurred:
* aws_elb.main: Failure configuring ELB attributes:
InvalidConfigurationRequest: Access Denied for bucket: my-service-
logs. Please check S3bucket permission
status code: 409, request id: xxxxxxxxxx-xxxx-xxxx-xxxxxxxxx
Мой сервис выглядит так:
module "solr" {
source = "github.com/segmentio/stack/service"
name = "${var.prefix}-${terraform.env}-solr"
environment = "${terraform.env}"
image = "123456789876.dkr.ecr.eu-west-2.amazonaws.com/my-docker-image"
subnet_ids = "${element(split(",", module.vpc_subnets.private_subnets_id), 3)}"
security_groups = "${module.security.apache_solr_group}"
port = "8983"
cluster = "${module.ecs-cluster.name}"
log_bucket = "${module.s3_logs.id}"
iam_role = "${aws_iam_instance_profile.ecs.id}"
dns_name = ""
zone_id = "${var.route53_zone_id}"
}
Моя корзина s3-logs выглядит так:
module "s3_logs" {
source = "github.com/segmentio/stack/s3-logs"
name = "${var.prefix}"
environment = "${terraform.env}"
account_id = "123456789876"
}
Я проверил в S3, и политика ведра выглядит так:
{
"Version": "2012-10-17",
"Id": "log-bucket-policy",
"Statement": [
{
"Sid": "log-bucket-policy",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789876:root"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-service-logs/*"
}
]
}
Насколько я понимаю, ELB должен иметь доступ к корзине S3 для хранения журналов (он работает в той же учетной записи AWS).
Ведро и ELB все вeu-west-2
.
Любые идеи о том, что проблема может быть высоко ценится.