CodeDeployの設定で2つのシナリオ...展開(一般的に、あなたのCIサーバー/ビルドエージェント)とターゲット・インスタンス(複数可)上で動作し、実際の処理を行いCodeDeployエージェント「を作成します」という部分は一般的にあります配備最初の半分は本質的にはであり、をCodeDeploymentにプッシュし、後半はをから引っ張っています...それは私がそれを視覚化する方法です。
CIサーバ/ビルドエージェントの場合、次のような権限を持つIAMロールが必要です。ビルドエージェントは、(1)デプロイメント用に指定したS3バケットにアクセスし、(2)など、対象のEC2インスタンス上で
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::YourDeploymentBucket"
},
{
"Effect": "Allow",
"Action": [
"codedeploy:*"
],
"Resource": "*"
}
]
}
を改訂を作成するCodeDeployサービス、彼らはこのような何かを持っている必要があります...これは、リビジョンを引っ張ってCodeDeployエージェントサービスにS3バケットに(1)のアクセスを提供し、 (2)エージェントがそれ自体を更新できるように、すべての汎用コード配布バケットへのアクセス。もちろん、それらのインスタンスは他のすべての基準を満たす必要があります...一般的に、IAMの役割が必要であり、コードデプロイエージェントをインストールする必要があります。あなたはこれらのアクセス許可を割り当てる方法
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::YourDeploymentBucket/*",
"arn:aws:s3:::aws-codedeploy-us-east-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-2/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
"arn:aws:s3:::aws-codedeploy-ap-south-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
"arn:aws:s3:::aws-codedeploy-eu-central-1/*",
"arn:aws:s3:::aws-codedeploy-eu-west-1/*",
"arn:aws:s3:::aws-codedeploy-sa-east-1/*"
]
}
]
}
はあなた次第です...ビルドエージェントは、EC2インスタンスがある場合、それはインスタンス(複数可)に関連付けられているIAMロールに付加されたポリシーとして、これらを割り当てることが最善でしょう。ターゲットデプロイメントマシンでは、同じことを行います。ポリシーを作成し、ターゲットにするインスタンスに関連付けられたIAMロールに割り当てます。