ember-cli-deploy と ember-cli-deploy-cloudfront を使用して、ember アプリを AWS CloudFront にデプロイしようとしています。
AWS でバケットとユーザーをセットアップし、ユーザーに AmazonS3FullAccess ポリシーを付与しました。
.env.deploy.production
ファイルを次のように設定します。
AWS_KEY=<my key>
AWS_SECRET=<my secret>
PRODUCTION_BUCKET=<app.<my domain>.com
PRODUCTION_REGION=us-east-1
PRODUCTION_DISTRIBUTION=<my cloudfront distribution id>
私config/default.js
はこのように見えます:
/* jshint node: true */
module.exports = function(deployTarget) {
var ENV = {
build: {},
pipeline: {
activateOnDeploy: true
},
s3: {
accessKeyId: process.env.AWS_KEY,
secretAccessKey: process.env.AWS_SECRET,
filePattern: "*"
},
cloudfront: {
accessKeyId: process.env.AWS_KEY,
secretAccessKey: process.env.AWS_SECRET
}
};
if (deployTarget === 'staging') {
ENV.build.environment = 'production';
ENV.s3.bucket = process.env.STAGING_BUCKET;
ENV.s3.region = process.env.STAGING_REGION;
ENV.cloudfront.distribution = process.env.STAGING_DISTRIBUTION;
}
if (deployTarget === 'production') {
ENV.build.environment = 'production';
ENV.s3.bucket = process.env.PRODUCTION_BUCKET;
ENV.s3.region = process.env.PRODUCTION_REGION;
ENV.cloudfront.distribution = process.env.PRODUCTION_DISTRIBUTION;
}
return ENV;
};
ember-cli-deploy
、ember-cli-deploy-cloudfront
およびをインストールしember install ember-cli-deploy-aws-pack
ました。
私が走るときember deploy production
次のエラーが表示されます。
AccessDenied: User: arn:aws:iam::299188948670:user/Flybrary is not authorized to perform: cloudfront:CreateInvalidation
無効化の作成を処理するのは私の理解ember-cli-deploy-cloudfront
ですが、このエラーを見たとき、私は AWS IAM コンソールに入り、自分で無効化を作成しました。を実行しようとすると、まだ同じエラーが発生しますember deploy production
。