回答:
CodeDeployはデフォルトではほとんど動作しません。S3またはGithubからコードを取得し、ファイルの指示に従ってスクリプトを実行しますappspec.yml
。
展開がS3からギガバイトのデータを取得している場合は、データ転送に時間がかかります(特に帯域幅が制限されている小規模なEC2インスタンスで)が、それ以外の場合、展開の遅延は、展開スクリプトで実行しています。
CodeDeployデプロイメントの手順は次のとおりです。
太字のものはCodeDeployまで、その他はあなた次第です。太字のものにさまざまな遅延が見られる場合は、AWSサポートにお問い合わせください。それ以外の場合は、フックを調査する必要があります。
ターゲットグループのヘルスチェック設定を調整するだけで、数分かかる可能性があります。
これはBlockTraffic
、AllowTraffic
両方とも正常なヘルスチェックを待機するために機能します。デフォルトのヘルスチェック間隔は30秒ごとに1回のチェックで、正常なヘルスチェックには5回連続して200回の応答が必要です。したがって、デフォルトでは2分30秒以上かかります。そして、それはすべてのEC2インスタンスについてです。ヘルスチェックの間隔を短くし、必要な成功したチェックの数を制限すると、展開時間が改善されます。
Script at specified location: ... failed to complete in 5 seconds
ます。> BeforeInstall :)()理由を教えてください- :(それがappspec.yml->フックに設定されている