0

展開を成功させるために必要なものをすべて作成しました。Amazon インスタンスで CodeDeploy エージェントを設定せずにデプロイしようとしましたが、デプロイは [明らかに] 失敗しました。しかし、それを設定した後、成功しました。私の質問は、使用するすべてのインスタンスを手動で構成する必要があるかどうかです。デプロイ グループに 100 個のインスタンスがある場合はどうなりますか? CodeDeploy エージェントツールが設定済みの AMI を作成する必要がありますか?

編集

私はこれを見ました: https://www.youtube.com/watch?v=qZa5JXmsWZs

これで: https://github.com/andrewpuch/code_deploy_example

これを読んでください: http://blogs.aws.amazon.com/application-management/post/Tx33XKAKURCCW83/Automatically-Deploy-from-GitHub-Using-AWS-CodeDeploy

インスタンスの IAM クレデンシャルを使用して構成する必要がある理由がわかりません。私が立ち上げた役割から信用を得ることになっていませんか?私は AWS の役割とポリシーの専門家ではありませんが、CD のドキュメントから、これは私が理解したことです。IAM ユーザーにインスタンスへのアクセス権を付与して、CD エージェントをセットアップする必要がないようにする方法はありますか?

編集2

この投稿のような答えだと思います: http://adndevblog.typepad.com/cloud_and_mobile/2015/04/practice-of-devops-with-aws-codedeploy-part-1.html

But as you can see, I launched multiple instances but I only installed CodeDeploy agent on one instance, what about others? Do I have to repeat myself and login to them and install them separately? It is OK since I just have 2 or 3. But what if I have handers or even thousand of instances? Actually there are different solutions for this. One of them is, I setup all environment on one instances and create an AMI from it. When I launch my working instance, I will create instance from the one I’ve already configured instead of the AWS default ones. Some other solutions are available

4

1 に答える 1

1

各インスタンスには、CodeDeploy エージェントのみがインストールされている必要があります。AWS CLI をインストールする必要はありません。インストールと操作の詳細については、AWS CodeDeploy エージェントの操作を参照してください。

IAM でインスタンス プロファイル/ロールを作成し、CodeDeploy サービスを介してコードのデプロイを受け入れるための適切なアクセス許可をインスタンスに付与する必要があります。

ApplicationServer という役割を作成します。このロールに、次のポリシーを追加します。これは、リビジョンに S3 を使用していることを前提としています。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Resource": [
                "arn:aws:s3:::codedeploy-example-com/*"
            ]
        },
        {
            "Sid": "Stmt1414002531000",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "Stmt1414002720000",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

あなたの特定の質問に:

私の質問は、使用するすべてのインスタンスを手動で構成する必要があるかどうかです。

デプロイ グループに 100 個のインスタンスがある場合はどうなりますか? aws-cli ツールが設定済みの AMI を作成する必要がありますか?

基本ツールで AMI を構成するか、CloudFormation または puppet を使用して、必要に応じて特定のインスタンスでのソフトウェア インストールを管理します。繰り返しますが、AWS CLI は CodeDeploy には必要ありません。CodeDeploy エージェントの最新バージョンのみが必要です。

于 2016-01-25T21:50:42.413 に答える