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が表示されて適用されていることが確認できました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Backlogの実績工数をAmazon QuickSightでの可視化 – 仕組み編
Backlogの実績工数をAmazon QuickSightで可視化してわかった …
-
-
Aurora Serverless Data APIを有効にしてLambdaからクエリを実行
Aurora Serverless作成 MySQLを作成しました。 作成時にDa …
-
-
AWSアカウントルートユーザーのMFAでYubicoセキュリティキーを設定した
先日Yubico セキュリティキーを購入して、USBにささなければならないのがな …
-
-
DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する
JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …
-
-
AWS Certificate Manager(ACM)メール検証をDNS検証の証明書に差し替えました
ブログの証明書 このブログの証明書の有効期限があと1週間です。 証明書はAWS …
-
-
MySQL WorkbenchからRDSに接続する
MySQL WorkbenchからAWS RDSのMySQLに接続するために、「 …
-
-
Amazon Aurora Serverless 課金確認
Amazon Aurora Serverlessを使い始めてみましたの記事で書い …
-
-
Intel 82599 VF インターフェイスで拡張ネットワーキングが有効なEC2インスタンスで帯域幅を確認してみました
拡張ネットワーキングが有効なEC2インスタンスとそうではないインスタンスの2セッ …
-
-
AWS DataLake 構築ハンズオンに行ってきました
AWSJ大阪が増床されて2019年10月限定でAWS pop-up loftとい …
-
-
ブログの画像を別アカウントのS3に移動するためにIAMロールでクロスアカウントアクセス
ずっと先延ばしにしていたのですが、このブログの画像はEC2から直接配信しています …















