ヤマムギ

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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS , ,

ad

ad

  関連記事

Rocket.ChatからOut Going Webhookを設定してみる

API GatewayとLambda とりあえず、どんなデータが飛んでくるのか見 …

AWS CLIを使用せずにCodeCommitへSSHユーザーで接続する

AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …

AWS KMSのキーポリシーとアイデンティティベースポリシー

AWS KMSのCMKを作成する際に、管理者とキーユーザーを選択することで、以下 …

Rocket.ChatをAmazon EC2 Ubuntuサーバーで起動

こちらRocket.Chatを1行でAWS上に導入を参照させていただきました。 …

Amazon Location Service入門ワークショップ-マップの操作

関連記事 Amazon Location Service入門ワークショップの前提 …

試したい事があるのでAWS でとりあえずAmazon Linuxのサーバを作る

1年間の無料キャンペーン期間中に検証する とある勉強会でせっかくAWSのアカウン …

ads.txtをS3に配置してCloudFrontで設定する

ads.txtのダウンロード ads.txt設置してねってメールが来てました。 …

RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する

本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …

AWS Backupで取得したAMIとスナップショットの削除

個人で使っているAWSリソースの断捨離をしてました。 Cloud9も複数アカウン …

Amazon Linux にnodejsとmongoDBをインストールする

EPEL リポジトリを利用してnodejsとnpmをインストールする [bash …