Amazon Web Services ブログ

[AWS Black Belt Online Seminar] AWS App Mesh Deep Dive 資料及び QA 公開

先日 (2020/10/22) 開催しました AWS Black Belt Online Seminar「AWS App Mesh Deep Dive」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。

AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます)

Q. APM として New Relic を採用しています。 Envoy のコントロールプレーンとして Istio を利用した場合New Relic 提供の newrelic-istio-adapter が利用できますが、Envoy のコントロールプレーンとして AWS App Mesh を利用した場合どのような方法があるのか教えていただけますか?Roadmap の話は QA 対象外ということですので、現時点での代替案、ワークアラウンドなどについて教えていただけますか?
A. 現時点では、New Relic を利用する方法はありませんが、Envoy のメトリクスについては、Prometheus でのモニタリング、または CloudWatch エージェントを利用して CloudWatch Container Insights でモニタリングすることができます (1)。また、AWS X-Ray を利用することでトレースデータを取得することも可能です (2)。詳細は以下のドキュメントをご確認ください。

  1. https://docs.aws.amazon.com/app-mesh/latest/userguide/observability.html
  2. https://docs.aws.amazon.com/xray/latest/devguide/xray-services-appmesh.html

Q. AWS App Mesh は ECS / EKS だけではなく EC2 でも利用可能、と紹介いただきましたが、利用のサンプル構成など aws-sample, AWS Blogs を探してみましたが見つけられませんでした。参考情報あれば教えていただけますか?
A. こちらのドキュメントにて、EC2 で稼働するサービスに AWS App Mesh を利用するチュートリアルが公開されています。

Q. アプリケーションが別のアプリケーションに通信するために、Virtual Service に渡す情報はどのような情報なのでしょうか。
A. 通信元のアプリケーションは、Virtual Service 名を利用して通信先である実際のアプリケーションにリクエストを送信することができます。

Q. 「トップレベルの概念」 で “Virtual Service” と “Virtual Router” を紹介いただきました。 “Virtual Router” が “Virtual Node” と分かれているのは複数の “Virtual Node” に振り分けるための 1:n 関係になるので理解できたのですが、”Virtual Service” と “Virtual Router” を分けているとどのような利点があるのでしょうか?
A. Virtual Router でルーティング情報を管理することで、Virtual Service から独立してルーティング情報を変更することが可能となります。

Q. VirtualRouter * 1 台、Virtual Node * 2 台 を使用してカナリアリリースをする構成を組んだ際に気になった事象がありましたので質問させて下さい。VirtualNode で ServiceDiscovery DNS 名を設定する際にルールがありますか?(DNS 名を変更することで動くようにはなりましたが、イマイチ腑に落ちません。)設定していた際の情報をきちんとお伝えするのは難しいので、比較的よく色々なサイトで取り上げられている下記の ColorTeller のサンプルをベースにしますと、最後の ColorTellerWhiteVirtualNode の箇所で、Hostname: !Sub “colorteller-white.${ServicesDomain}” のようにしてしまうと動かなくなるように思います。ここを collorter.${ServiceDomain} のようにしなければならない理由が分かっておりません。)
https://github.com/aws/aws-app-mesh-examples/blob/master/examples/apps/colorapp/servicemesh/appmesh-colorapp.yaml

A. Virtual Node の ServiceDiscovery は、Virtual Node と関連づける実際のアプリケーションの Service discovery 情報を設定する必要があります。例えば、ECS サービスで稼働するアプリケーションを Virtual Node と関連づける場合、ECS サービスの サービス検出の情報が Virtual Node の ServiceDiscovery と一致することを確認してください。

Q. ひとつの Pod で複数のアプリケーションが稼働しており、それぞれのアプリケーションに異なるPortが割り振られている場合、App Mesh を導入した際にも Virtual service や Virtual router に複数のリスナー設定を行うことでそれぞれのアプリケーションにアクセスできるようにすることは可能でしょうか?
A. 現時点では、Virtual Router および Virtual Node は共に単一のリスナーのみが設定可能です。Virtual Node と関連づけるアプリケーションが複数のポート・プロトコルを利用する場合、アプリケーションごとにサービスを分割し、それぞれに異なる Virtual Node を関連づける必要があります。以下の aws-app-mesh-roadmap にて、Virtual Router および Virtual Node で複数のリスナーを設定したいというご要望が挙がっていますので、よければこちらの issue を定期的にご確認ください。

今後の AWS Webinar | イベントスケジュール

直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。

AWSome Day Online Conference

「AWSome Day Online」は、AWSの主要サービスや基礎知識を約 2.5 時間という短い時間で、ポイントを押さえて紹介いたします。技術的な面だけではなく、AWS クラウドを学ぶために必要となる知識を身に付けたい方、エンジニアのみならず、営業職、プリセールス職、学生まで幅広い方々におすすめします。

※この回ではAWSエキスパートによる技術的な内容についてチャット形式でのQ&Aを実施します。
※AWS サービスの導入に関するご相談も同時にチャット形式にて対応します。
※2020年は毎月第一水曜日に開催します。

日時:2020 年 11 月 4 日(水) 15:00 – 18:00 終了予定 | 詳細・お申込みについてはこちら≫

【オンラインセミナー(ハンズオン)】スケーラブルウェブサイト構築編

$25クーポン付き!
スケーラブルウェブサイト構築編 は、WordPressを使ったブログサイトの構築を通じて、スケーラブルな Web システム構築を学んでいただけるハンズオンセミナーです。主に取り扱う AWS サービスは Amazon EC2、Amazon RDS、ELB の3つです。また、作って終わりではなく、実際にEC2インスタンス1台を停止させ、その状態でもブログサイトにアクセスできることも確認します。前提となる必須知識はありませんので、スケーラブルな Web アーキテクチャについて学ぶ第一歩としてご活用ください。

※ AWSome Day Online Conference とセットでご視聴いただきますと効果的です。
※ 当日はサポート講師が待機し、チャットで皆様の操作をサポートします。

日時:2020 年 11 月 5 日(木) 14:00 – 17:00 終了予定 | 詳細・お申込みについてはこちら≫

AWS Black Belt Online Seminar

11 月のアジェンダを公開しました。10 月のアジェンダも併せてご確認ください。またセミナー中は内容に関する疑問点を質問することができます。参加された方だけの特権ですので、ぜひこの機会にご視聴ください。

10 月分の詳細・お申込はこちら≫

  • 10/27(火)12:00-13:00 AWS IoT Core
  • 10/28(水)18:00-19:00 Amazon CloudFront deep dive

11 月分の詳細・お申込はこちら≫

  • 11/11(水)18:00-19:00 AWS CodeStar & AWS CodePipeline
  • 11/17(火)12:00-13:00 Amazon QuickSight のBI機能を独自アプリケーションやSaaSに埋め込む
  • 11/18(水)18:00-19:00 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
  • 11/25(水)18:00-19:00 AWS CodeBuild