ヤマムギ

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 , ,

  関連記事

EC2 Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(手順整理版)

ブログサイト(WordPress)をレンタルWebサーバーからAWSに移設する事 …

S3オブジェクトへのリクエストをCloudTrail, Athenaで識別する(パーティショニング)

Amazon S3オブエジェクトへのリクエストをCloudTrail, Athe …

JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っかけ会

「JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo …

AWS Transit GatewayのAcceleratedサイト間VPN接続確認

Transit GatewayでVPN接続を作成するときに、Global Acc …

RedmineをELB(ALB)でAutoScalingグループへ負荷分散

高可用なRedmineを作るためのELBの設定です。 高可用なRedmine R …

AWS EC2でAMI(Amazon Machine Image)を作成しておく

前回まででひとまずRedmineを構築するところまで出来たので、念のためスナップ …

AWS License ManagerでAMIからインスタンスの起動を制御

EC2 Image BuilderでRocket.ChatのAMIを作って起動テ …

Lambdaバージョンとエイリアスとトリガー

Lambdaのバージョン、エイリアスにはそれぞれ別のトリガーが設定できます。 上 …

Amazon Connect 発信イベントをEventBridgeで確認

Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …

LINE Bot APIのファーストステップをLambda+API Gatewayでやってみたらものすごく簡単で驚いた

トライアル当初はホワイトリストのしばりや、初回反応するまで時間がかかったりとみな …