2017-01-23 28 views
1

AWSを初めて使用しており、GithubのAWS CodeDeployを使用してデプロイしようとしています。 そのために、CodeDeployDemoという名前のインスタンスを作成し、そのインスタンスにロールとポリシーを添付しました。エラー:AWSのHEALTH_CONSTRAINTS CodeDeployからGithubからAWS CodeDeployへのデプロイ

Policy ARN arn:aws:iam::378939197253:policy/CE2CodeDeploy9 

私の方針は以下のとおりです。AmazonEC2RoleforAWSCodeDeploy という名前

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Action": [ 
      "s3:Get*", 
      "s3:List*" 
     ], 
     "Effect": "Allow", 
     "Resource": "*" 
    } 
] 

}

とも付加されたポリシー、私はまた、次のように、ステップによって私のUbuntuのステップのためのCodeDeployエージェントをインストール:

$chmod 400 Code1.pem 
$ssh -i "Code1.pem" [email protected] 
$sudo apt-get update 
$sudo apt-get install awscli 
$sudo apt-get install ruby2.0 
$cd /home/ubuntu 
$sudo aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1 
$sudo chmod +x ./install 
$sudo ./install auto 

し、私のアプリケーションを作成し、GitHから展開するCodeDeployへUB CodeDeployDefault.OneAtATime

を使用してでも、最終段階で、それは次のエラーを示しています。

Deployment failed: Because too many individual instances failed deployment, 
too few healthy instances are available for deployment, 
or some instances in your deployment group are experiencing problems. 
(Error code: HEALTH_CONSTRAINTS) 

注:私の展開はrunning.Iが他のインスタンスを停止しているときに私の唯一のインスタンスが実行されています。 解決策を探してください。前もって感謝します。!!

答えて

2

これは、codeDeployがインスタンスをヒットしてec2インスタンスの正常性をチェックするためです。デプロイする前に、インスタンス上で以下のbashスクリプトを実行し、スクリプトが機能しているかどうか確認する必要があります。 httpdサービスを開始する必要があります。インスタンスを再起動します。

#!/bin/bash 
    sudo su 
    apt-get update -y 
    apt-get install apache2 -y 
    apt-get install ruby2.0 
    apt-get install awscli 
    cd ~ 
    aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1 
    chmod +x ./install 
    ./install auto 
    echo 'hello world' > /var/www/html/index.html 
    hostname >> /var/www/html/index.html 
    update-rc.d apache2 defaults 
    service apache2 start 
関連する問題