ヤマムギ

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

  関連記事

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

ブログ画像のシンガポールリージョンへのレプリケーションはじめました

このブログの画像はS3バケットに保存して、CloudFront経由で配信していま …

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

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

Amazon Linux 2023からAWS CLIをアンインストールする

AWS CLIのない検証用EC2 Linuxが欲しかったのでアンインストールしま …

Amazon S3アクセスポイント経由からアクション可能なポリシー

S3アクセスポイントを使うことで、複雑で長いバケットポリシーを避け、アクセスポイ …

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …

EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認

きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …

Amazon CloudWatch Syntheticsでハートビートモニタリングを実行

このブログに対してハートビートモニタリングのCanaryを実行してみました。 C …

RDS自動バックアップの自動クロスリージョンコピー

このブログのRDS for MySQLはAWS Backupで大阪リージョンから …

Cloud9のデフォルト設定での権限確認(AWS managed temporary credentials)

Cloud9の環境を作成した際のデフォルトアクセス権限は、環境を作成したIAMユ …