J'ai un fichier simple dans mon .ebextensions
dossier:
00-myconfig.config
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: my-bucket
files:
"/tmp/ca-bundle.zip":
mode: "000755"
owner: root
group: root
source: https://s3-ap-southeast-2.amazonaws.com/my-bucket/ca/ca-bundle.zip
authentication: S3Access
Ce qui, selon plusieurs réponses, est le moyen d'accorder l'accès au compartiment S3 au aws-elasticbeanstalk-ec2-role
rôle.
Mais je continue d'obtenir l'erreur 403 dans /var/log/eb-activity.log
[2015-08-26T01:27:03.544Z] INFO [22320] - [Application update/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Activity execution failed, because: Failed to retrieve https://s3-ap-southeast-2.amazonaws.com/my-bucket/ca/ca-bundle.zip: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?> (ElasticBeanstalk::ExternalInvocationError)
Si j'ajoute manuellement une stratégie d'accès S3 au aws-elasticbeanstalk-ec2-role
rôle, tout fonctionne, donc je sais que je n'ai pas d'orthographe erronée dans les URL ou quoi que ce soit d'autre, l'instance EC2 est définitivement dans le rôle correct.
Qu'est-ce qui ne va pas?
PS. J'ai essayé la files
section avec ou sans le paramètre «authentification».