ECS Blue/Green デプロイでもリクエストカウント追跡のオートスケーリングを利用したい (Metric Math 編)
By msysh on 2024-03-21
2023年3月に「Application Auto Scaling がターゲット追跡ポリシーに対する Metric Math に対応」というアップデートがありました。こちらを使うことで以前課題となっていた、CodeDeploy による ECS Blue/Green デプロイ環境下でのリクエストカウント追跡のオートスケーリングをシンプルに実現できそうだったので試してみました。
Amazon Bedrock を使って LINE ボットを作ってみた
By msysh on 2024-01-07
AWS でも生成 AI のサービスとして Amazon Bedrock が一般利用可能になりました。AWS の一貫した API で様々なモデルを実行できるのが特徴で、気軽に生成 AI を利用したサービスが構築できるのが嬉しい点かと思います。その Bedrock を使って AI とチャットができる LINE ボットを作ってみました。今回は AWS Step Functions で新しく使えるようになった機能を駆使してなるべくコードを書かずに、かつサーバレスで実現してみたいと思います。
パブリックサブネットの EC2 を IPv4 から IPv6 に移行してみた
By msysh on 2023-08-27
2023年 7月 30日に AWS よりパブリック IPv4 アドレス利用についての新しい料金体系が発表され、2024年 2月 1日 からパブリック IPv4 アドレスの利用に対して課金が発生することになります。せっかくの機会ですので EC2 に割り当てていた IP を v4 から v6 に移行してみました。
ECS 外部デプロイを使って Blue/Green デプロイを Step Functions で実装してみたデモ
By msysh on 2023-07-08
ECS で Blue/Green デプロイ(以下、B/G デプロイ)をしたい場合、CodeDeploy を使うと比較的簡単に構成することができますが、Green 環境をデプロイした後のテスト期間が最大2日間までになります。リリース前のテスト期間をもっと取りたいようなケースに対処するために、ECS のデプロイタイプを外部デプロイにし、デプロイコントローラを AWS Step Functions で実装することで B/G デプロイを実現できそうでしたのでデモアプリとして作ってみました。
#aws #cdk #ecs #bluegreen #external-deploy #stepfunctions #codepipeline
CDK のコマンドラインオプションを入力補完したい(zsh)
By msysh on 2023-06-18
CDK のコマンドラインオプションとして指定するキーワードをいつも忘れてしまうので入力補完できないものかと調べてみました。
CDK で作成した VPC Endpoint の DNS 名を CfnOutput で出力する方法
By msysh on 2023-06-18
CDK で VPC Endpoint など作成した時に、プロビジョニングが完了したら作成した VPC Endpoint の DNS 名を CfnOutput
で出力したい、というのはよくあると思うのですが、雑に書いていたら出力できなかったので正しい出力方法を備忘録的にメモっておきます。
Service Connect を使用した ECS サービスにオートスケーリングを設定してみる
By msysh on 2022-12-26
2022年の re:Invent にて ECS の新しいネットワーク機能として Service Connect がリリースされました(アナウンス)。これまで、ECS におけるサービス間通信として ELB、Service Discovery(Cloud Map)、App Mesh がありましたが、新しく 4つ目の選択肢として登場しました。今回、この Service Connect を使用した ECS サービスにおいて Auto Scaling の設定を検討する機会がありましたのでどんなメトリクスが使えるか調査してみました。
#aws #service-connect #ecs #service-discovery #cloud-map #auto-scaling
CloudFront Continuous Deployment (継続的デプロイメント)を S3 をオリジンにして試してみた
By msysh on 2022-11-23
CloudFront で Continuous Deployment (継続的デプロイメント) がサポートされました。これまで CloudFront では Blue/Green デプロイメントを実現するには、別の Distribution を作って DNS で切り替えたり、オリジンを付け替えたりと少々作り込む必要がありました。今回のアップデートによりマネージドサービスとしてその辺りが利用できそうなので試してみました。また、Lambda@Edge、CloudFront Functions まわりもどうなるか確認してみました。
#aws #cloudfront #continuous-deployment #bluegreen #lambdaedge #cloudfront-functions #s3 #oac
AWS CDK のバグフィックスして Contribute してみた話
By msysh on 2022-07-31
CDK で Cognito をセットアップしていたのですが、コードで書いた通りにリソースがデプロイされず、GitHub で Issues を探してみるとバグとして該当しているようでした。折角なのでバグを修正し、Contribute にチャレンジしてみました。個人的な経験上、あまり GitHub で Collaborate する機会もなく、なかなかドキドキしたので今後の備忘録として初歩的な内容ですが残しておきたいと思います。
ECS Blue/Green デプロイでもリクエストカウント追跡のオートスケーリングを利用したい
By msysh on 2021-08-22
コンテナワークロードでは CodeDeploy などで継続的なデリバリを行い、Auto Scaling を利用して負荷に応じて、動的にコンテナを増減させて運用されているのではないかと思います。特に ECS では CodeDeploy を利用して、Blue/Green デプロイメントを行うことができます。また、Auto Scaling ではスケーリングを判断する指標の1つとして Application Load Balancer(ALB)ターゲットグループ内のターゲットごとに完了したリクエストの数(ALBRequestCountPerTarget
)を利用することができます。が、実は現時点ではそれらを一緒に使うと、そのままでは期待通りに動作してくれません。それぞれをうまく利用するために検討する機会がありましたので、考え方のベースとして記録に残しておきたいと思います。