ヤマムギ

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

  関連記事

Apple Silicon M1 MacBook ProにAWS CLI v2をインストール

公式手順どおりにインストールしました。 macOS での AWS CLI バージ …

AWS Cost Explorerの設定で「EC2リソースの推奨事項を受け取る」を有効にしました

「EC2リソースの推奨事項を受け取る」という機能がAWS Cost Explor …

AWS Service Catalogチュートリアル

AWS Service Catalog 開始方法のチュートリアルにそってみました …

ブログのアーキテクチャをコストベースで見直しました

当ブログはAWSで構築しています。 アーキテクチャをコストを最重視して見直しまし …

AWS Lambda(Python3.7)でPandocを実行する際にCSSもLayerから読み込む

Pandocで必要そうなオプションを確認しておく 先日の「AWS Lambda( …

slackのbotをAWS Lambda(Python)+API Gatewayで構築

slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …

S3バケットのデフォルト暗号化はデフォルトだったことを確認しました

S3バケットのデフォルト暗号化は名前のとおりだとデフォルトなので、暗号化を指定し …

Organizations組織でAWS SSOを有効にする

先日AWS Control Towerで環境を作ったら、自動でAWS SSOがで …

AWS APIリクエストにPostmanで署名を作成する

新年明けましておめでとうございます! 署名バージョン4 「AWSはマネジメントコ …

AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う

この記事はSelenium/Appium Advent Calendar 201 …