AWS CodeDeployの速度改善(ALB)
AWS CodeDeployの速度改善(ALB):
CodePipelineの一連の流れを確認するためにテストをしているのですが、
CodeDeployにおいて、
リリースのたびに10-15分も時間がかかることになってしまいます。
画像の差し替えなど、かなり頻繁にコンテンツリリースが発生するので、このままでは使い物になりません。
そのため、なんとか速度改善ができないか足掻いてみました。
AWSフォーラムに記載があったのですが、デプロイのライフサイクル中の
そのため、ヘルスチェックの値を変更すれば改善が見込めそうということがわかりました。
そこで、ALBにぶら下げているターゲットグループのヘルスチェック設定を、それぞれ最小の値にしてみました。
そのうえでCodeDeployを実行したところ、
ただ、残念ながら
どうやら、ロードバランサが
今度は、
Connection drainingは、
と辿ったところの項目です。
ここの値を、試しに
そのうえでCodeDeployを実行してみたところ、見事
5分強 → 10秒と大幅に時間短縮をすることができました。
なんとかALB環境でもCodeDeployの時間短縮をすることができました。
今回AWSのcode兄弟を使用したデプロイ方式はを触ってみて思ったのは、頻繁に静的コンテンツのリリースが発生したり、コンパイルが必要ないPHPなどのサイトであれば、この仕組みは大掛かりすぎな気がしています。
今回はCodePipelineの一連の流れを確認するために、リリースコンテンツを1MB以下の状態で実施しましたが、次はリリースコンテンツの量を増やして、どのぐらい時間がかかるか試してみようと思います。
CodePipelineの一連の流れを確認するためにテストをしているのですが、
CodeDeployにおいて、
BlockTraffic
とAllowTraffic
が共に5分程かかっていました。リリースのたびに10-15分も時間がかかることになってしまいます。
画像の差し替えなど、かなり頻繁にコンテンツリリースが発生するので、このままでは使い物になりません。
そのため、なんとか速度改善ができないか足掻いてみました。
環境
- ALBBlockTraffic
- インプレースデプロイ方式
- AutoScaling
- リリースコンテンツの総量は1MB程度
[対応その1] ヘルスチェックのパラメータを変更してみる
AWSフォーラムに記載があったのですが、デプロイのライフサイクル中のBlockTraffic
とAllowTraffic
はELB
のヘルスチェックの設定に関係しているとのこと。そのため、ヘルスチェックの値を変更すれば改善が見込めそうということがわかりました。
そこで、ALBにぶら下げているターゲットグループのヘルスチェック設定を、それぞれ最小の値にしてみました。
そのうえでCodeDeployを実行したところ、
AllowTraffic
の項目を5分強 → 約1分と大幅に短縮することができました。ただ、残念ながら
BlockTraffic
は変わらず5分強時間がかかっています。どうやら、ロードバランサが
ALB
ではなくELB
の場合は、この設定だけでBlocdTraffic
も短くなるようなのですが、ALB
だとうまくいかないですね…
[対応その2] Connection drainingのパラメータを変更してみる
今度は、BlockTraffic
が毎回5分(300秒)強
かかっていることに着目しました。ALBのCoonection draining
のデフォルトの時間が300秒
なので、ここの設定がなにかしら関係しているかもと思いました。Connection drainingは、
ターゲットグループ > 説明タブ > 項目 > 登録解除の遅延
と辿ったところの項目です。
ここの値を、試しに
300秒から10秒
に変更をしてみました。そのうえでCodeDeployを実行してみたところ、見事
BlockTraffic
の項目を、5分強 → 10秒と大幅に時間短縮をすることができました。
感想
なんとかALB環境でもCodeDeployの時間短縮をすることができました。今回AWSのcode兄弟を使用したデプロイ方式はを触ってみて思ったのは、頻繁に静的コンテンツのリリースが発生したり、コンパイルが必要ないPHPなどのサイトであれば、この仕組みは大掛かりすぎな気がしています。
今回はCodePipelineの一連の流れを確認するために、リリースコンテンツを1MB以下の状態で実施しましたが、次はリリースコンテンツの量を増やして、どのぐらい時間がかかるか試してみようと思います。
コメント
コメントを投稿