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アクションを許可しました。
確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ curl -v http://serviceb.apps.local * Trying 10.0.10.249:80... * Connected to serviceb.apps.local (10.0.10.249) port 80 (#0) > GET / HTTP/1.1 > Host: serviceb.apps.local > User-Agent: curl/7.87.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < date: Sat, 11 Feb 2023 06:59:57 GMT < server: envoy < last-modified: Fri, 10 Feb 2023 07:53:28 GMT < etag: "132-5f453cafc6007" < accept-ranges: bytes < content-length: 306 < content-type: text/html < x-envoy-upstream-service-time: 0 < <html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>ServiceB</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html> * Connection #0 to host serviceb.apps.local left intact |
同じVPCで起動したEC2インスタンスからserviceb.apps.localなどサービスに対してアクセスすると、server: envoyが表示されて適用されていることが確認できました。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
【PR】 「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
EC2ハードウェア専有インスタンス(Dedicated Instances)を起動して請求書を確認してみました
EC2ハードウェア専有インスタンスのサイトには、次の料金と表記されています。 * …
-
-
Amazon Chimeのチャットを使ってみました
Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …
-
-
AWS Certificate Manager(ACM)メール検証をDNS検証の証明書に差し替えました
ブログの証明書 このブログの証明書の有効期限があと1週間です。 証明書はAWS …
-
-
Amazon Aurora Serverlessを使い始めてみました(1日経過しての課金結果も)
祝!!! Amazon Aurora ServerlessがGAになりました! …
-
-
ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする
「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …
-
-
Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール
久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …
-
-
CloudFront用のAWS管理プレフィックスリストを使用しました
このブログでは、CloudFrontのカスタムヘッダーとALBのルーティングを組 …
-
-
ParquetフォーマットのデータにS3 Select SQLを実行する
RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …
-
-
CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)
先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …
-
-
NATインスタンスを作成する
プライベートサブネットのEC2インスタンスからカスタムメトリクスとCloudWa …