Мне не удалось воспроизвести это с использованием следующего шаблона:
---
AWSTemplateFormatVersion: 2010-09-09
Description: Test QA Template
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-08589eca6dcc9b39c
InstanceType: t2.micro
KeyName: default
UserData:
Fn::Base64: !Sub |
#!/bin/bash -xe
/opt/aws/bin/cfn-init -s ${AWS::StackId} --resource MyInstance --region ${AWS::Region}
Metadata:
AWS::CloudFormation::Init:
config:
packages:
yum:
java-1.8.0-openjdk.x86_64: []
tomcat: []
httpd.x86_64: []
services:
sysvinit:
httpd:
enabled: true
ensureRunning: true
files:
/usr/share/tomcat/webapps/sample.zip:
source: https://s3.amazonaws.com/mybucket/sample.zip
mode: '000500'
owner: tomcat
group: tomcat
(Другими словами, использование вышеуказанного шаблона позволило мне установить файл sample.zip с помощью cfn-init.)
Таким образом, есть кое-что, связанное с правами доступа в том, как вы получаете доступ к корзине S3.
Достаточно сказать, что использование ключей доступа является плохой практикой.Взгляните на этот документ, содержащий рекомендации по назначению роли IAM для экземпляра EC2, а затем к добавлению политики корзины, предоставляющей соответствующий доступ к этой роли.