AppSync Events を Amplify なしで使ってみた
By msysh on 2024-11-03
AppSync に新しく WebSocket による Publish/Subscribe (Pub/Sub) API として AppSync Events がリリースされました。公式ドキュメントでは Amplify クライアントを使った接続のサンプルが紹介されていますが、今回 Amplify を使用しない接続方法を試してみました。
ECS のタスクを再起動せずにコンテナを再起動する “再起動ポリシー” を設定してみた
By msysh on 2024-08-31
Amazon ECS で “タスクを再起動せずにコンテナを再起動する機能が提供” されました。これは ECS タスク内のコンテナが終了した場合に、コンテナをローカルで再起動させることができる機能で、タスクを置き換える (再デプロイする) ことなく迅速にコンテナを回復できる機能です。こちらの機能を使ってどのぐらい早く回復できるか試してみました。
Amplify Gen2 で Lambda から AppSync に Mutate し、リアルタイムイベントを配信する
By msysh on 2024-06-11
Web アプリにおいてサーバーからクライアント (ブラウザ) に向けてデータをプッシュしたいシーンがあるかと思います。WebSocket を使った GraphQL などが使われ、AWS のマネージドサービスとしては AppSync があります。一般的な例としては AppSync を通じて DynamoDB のデータを更新すると、AppSync にサブスクライブしているクライアントに対してイベントをリアルタイムに送信できたりします。今回は AppSync を経由せずに DynamoDB が更新された時に、AppSync にサブスクライブしているクライアントにサーバーからイベントをプッシュする方法を Amplify Gen2 で実装してみました。スマートにできなかったところも一部あったのですが、記録として残しておきたいと思います。
Amplify Gen2 のマニュアルセットアップのメモ
By msysh on 2024-06-08
AWS Amplify Gen2 が 2024年 5月 に一般提供開始となりました (アナウンス)。いい機会ですので手元でちょっとしたデモアプリを作成するために、Amplify Gen2 も使ってみようと思いました。本記事ではかなり初歩的とは思いますがマニュアルインストールした際の手順を記録しておきたいと思います。
Lambda ストリームレスポンスを使って CloudFront 経由で 6MB 以上のレスポンスを返す
By msysh on 2024-04-17
Lambda からのレスポンスサイズにはいろいろと制限があり、例えば同期呼び出しにおいて、関数 URL や API Gateway 経由だと 6MB、ALB 経由だと 1MB までといった制限があります。それ以上のデータを返す場合は、Lambda ではなく ECS に変えたり、S3 に出力してからごにょごにょする必要がありました。が、2023年4月に Lambda でストリームレスポンスがサポートされ、この制限を超えることができるようになりました。また、CloudFront の OAC (Origin Access Control) が Lambda の関数 URL をサポートしましたので合わせて検証してみました。
#lambda #stream-response #function-url #cloudfront #oac #aws
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 のコマンドラインオプションとして指定するキーワードをいつも忘れてしまうので入力補完できないものかと調べてみました。