ヤマムギ

growing hard days.

*

Amazon ECSサービスでAWS App Meshを使用

      2023/02/12

AWS App MeshユーザーガイドのAWS App Mesh とAmazon ECS の開始方法をやりました。

メッシュと仮想サービスを作成

[今すぐはじめる]ウィザードからメッシュと仮想サービスを作成しました。

仮想ノードの作成

仮想ノード名、DNSホスト名を入力しました。

リスナーでhttp(画像はhttp2ですが)を選択して80を入力しました。

仮想ルーターとルートの作成

仮想ルーター名とリスナーを設定しました。

ルート設定、ターゲット設定をユーザーガイドの指定通りにしました。

追加リソースの作成

仮想ノードServiceBv2を追加しました。
リスナーはServiceB同様にhttp(画像はhttp2ですが) 80です。

仮想ノードServiceAを追加しました。

サービスバックエンドにserviceb.apps.localを選択しました。

リスナーはほかの仮想ノード同様にhttp(画像はhttp2ですが) 80です。

仮想ルーターserviceBのルートserviceBを編集し、ターゲット設定にserviceBv2を重み25で追加しました。

仮想サービスservicea.apps.localを追加しました。

対象サービス環境の構築

サービスディスカバリを使用してECSサービスの作成の方法で3つのECSサービスを作成しました。

サービスをApp Meshに統合

タスクの新しいリビジョンの作成操作は旧UIのほうがわかりやすかったので旧UIで設定しています。
新UIでもEnvoy用のコンテナを追加すればいいようです。

[App Mesh統合の有効化]を選択しました。
メッシュ名、仮想ノード名などを選択して[適用]を押下しました。

デフォルト設定が提供されたので[確認]を押下して反映しました。

Envoy用のコンテナができたので、一応トラブルシューティング用にCloudWatch Logsを有効にしておきました。

ECSのタスク実行ロールにはAmazonECSTaskExecutionRolePolicyポリシーをアタッチしました。
ECSのタスクロールには各仮想ノードに対してのappmesh:StreamAggregatedResourcesアクションを許可しました。

確認

同じVPCで起動したEC2インスタンスからserviceb.apps.localなどサービスに対してアクセスすると、server: envoyが表示されて適用されていることが確認できました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

  関連記事

よくあるサーバーレスアーキテクチャで質問フォーム

この記事はServerless2 Advent Calendar 2018に参加 …

AWS Elastic Beanstalkによって作成されたS3バケットはDeleteBucketが拒否されていた

ちょっとした検証をしたあとに、Elastic Beanstalkのアプリケーショ …

AWS Certificate Manager証明書とAmazon Route 53でAmazon API GatewayのAPIのカスタムドメイン名前解決する

AWS Certificate ManagerとAmazon Route 53と …

「Getting started with AWS Glue DataBrew」をやってみました

AWS Glue DataBrewを体験してみたくて、開発者ガイドのチュートリア …

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらや …

RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する

RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …

Route 53サブドメインホストゾーンを作成したら、元のホストゾーンにNSレコードを作成する自動化

ハンズオン環境でRoute 53のホストゾーンを触ってほしい際に、サブドメインを …

API Gatewayで顧客レベルの使用量プランを設定する

API GatewayのAPIキーを使って使用量プランでのスロットリングも設定し …

kintone webhookからAWS API Gateway – Lambdaを実行しレコードの値を渡す

2017年2月のアップデートでkintoneにWebhook機能がリリースされま …

EC2 Image BuilderでRocket.ChatのAMIを作って起動テンプレートを更新しました

EC2 Image Builderの練習をしようと思い、Rocket.Chatの …