Depois de dar uma olhada nesta resposta para Usando propriedades do ambiente com arquivos nos arquivos de configuração do beanstalk elástico Adicionei a seguinte seção ao .ebextensions/01_files.config
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: dev-config
e atualizou o URL do s3 para incluir o nome do intervalo no host, para que o arquivo final fosse assim:
"/usr/share/tomcat7/lib/local.properties" :
mode: "000777"
owner: ec2-user
group: ec2-user
source: https://dev-config.s3.amazonaws.com/local.properties
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: dev-config
Isso permitiu que a instância do ecnel beanstalk ec2 usasse a função do IAM associada a ela para acessar o bucket s3 contendo os arquivos.
PS: para que essa configuração funcione, verifique se você concedeu acesso ao intervalo do S3 em questão para o aws-elasticbeanstalk-ec2-role
principal. Você pode obter o ARN do console do IAM.