概要

AWS でのワークロード検出 (旧称: AWS Perspective) は、AWS クラウドのワークロードを可視化するツールです。AWS でのワークロード検出を使用すると、AWS からのライブデータに基づいて、ワークロードの詳細なアーキテクチャ図を構築、カスタマイズ、共有することができます。
右のイメージは AWS ワークロード検出が作成したアーキテクチャ図のサンプルです。
メリット

AWS ワークロード検出を使用すると、詳細なアーキテクチャ図を作成、カスタマイズ、および共有できます。 AWS ワークロード検出は、アカウントおよびリージョン全体の AWS のリソースのインベントリを維持し、それらの間の関係をマッピングし、それらをウェブ UI に表示します。
コストクエリビルダーは、コストが発生した可能性のある AWS リソースやサービスを探すことができます。予想コストデータは、指定された期間について自動的に計算され、アーキテクチャ図に表示されます。
予想コストの概要を含むアーキテクチャ図のコストレポートを生成し、それらを CSV でエクスポートすることができます。
検索機能を使用すると、リソース名、タグ名、IP アドレスなどの基本情報を使用して、目的のリソースを見つけることができます。
リソースディレクトリを使用して、アカウントとリージョン全体でプロビジョニングされたリソースを探索します。AWS でのワークロード検出が発見したすべてのリソースが含まれています。ウェブ UI でリソースを選択すると、AWS ワークロード検出のアーキテクチャ図の作成を開始できます。
AWS でのワークロード検出アーキテクチャ図を保存して、後で再訪したり、AWS ユーザーの他のワークロード検出で共有したりできます。AWS ワークロード検出の外部でダイアグラムを使用するために、PNG、JSON、CSV、または draw.io にエクスポートできます。
技術的な詳細情報

次の図は、ソリューションの実装ガイドと付属の AWS CloudFormation テンプレートを使用することで自動的にデプロイできるサーバーレスアーキテクチャを表しています。
ステップ 1
HTTP Strict-Transport-Security (HSTS) では、Amazon CloudFront ディストリビューションからの各レスポンスにセキュリティヘッダを追加します。
ステップ 2
Amazon Simple Storage Service (Amazon S3) バケットは、Amazon CloudFront で配信されるウェブユーザーインターフェイス (ウェブ UI) をホストします。Amazon Cognito は、ウェブ UI へのユーザーアクセスを認証します。
ステップ 3
AWS WAF は、可用性に影響を与えたり、セキュリティを侵害したり、リソースを過剰に消費したりする可能性のある一般的なエクスプロイトやボットから AppSync API を保護します。
ステップ 4
AWS AppSync エンドポイントは、ウェブ UI コンポーネントがリソース関係データを要求したり、コストをクエリしたり、新しい AWS リージョンをインポートしたり、環境設定を更新したりすることを可能にします。また、AWS AppSync はディスカバリーコンポーネントがソリューションのデータベースに永続的なデータを保存できるようにします。
ステップ 5
AWS AppSync は、Amazon Cognito によってプロビジョニングされる JSON Web Tokens (JWTs) を使用して、各リクエストを認証します。
ステップ 6
Settings AWS Lambda 関数は、インポートされたリージョンとその他の設定を Amazon DynamoDB に保持します。
ステップ 7
このソリューションでは、ストレージ管理コンポーネントとして AWS Amplify と Amazon S3 バケットをデプロイして、ユーザー設定と保存されたアーキテクチャ図を保存します。
ステップ 8
データコンポーネントは、Gremlin Resolver AWS Lambda 関数を使用して Amazon Neptune データベースからデータを照会して返します。
ステップ 9
データコンポーネントでは、Search Resolver Lambda 関数を使用して、Amazon OpenSearch Service ドメインにリソースデータを照会して保持します。
ステップ 10
Cost Lambda 関数は Amazon Athena を使用して AWS Cost and Usage Report (AWS CUR) を照会し、予想コストデータをウェブ UI に提供します。
ステップ 11
Amazon Athena は AWS CUR 上でクエリを実行します。
ステップ 12
AWS CUR は、CostAndUsageReportBucket Amazon S3 バケットにレポートを配信します。
ステップ 13
Cost Lambda 関数は、Amazon Athena の結果を AthenaResultsBucket Amazon S3 バケットに保存します。
ステップ 14
AWS CodeBuild は、イメージデプロイコンポーネントで検出コンポーネントのコンテナイメージを構築します。
ステップ 15
Amazon Elastic Container Registry (Amazon ECR) は、イメージデプロイコンポーネントによって提供された Docker イメージを含みます。
ステップ 16
Amazon Elastic Container Service (Amazon ECS) は、AWS Fargate タスクを管理し、タスクの実行に必要な構成を提供します。AWS Fargate は 15 分ごとにコンテナタスクを実行し、インベントリとリソースのデータを更新します。
ステップ 17
AWS Config と AWS SDK の呼び出しは、検出コンポーネントがインポートされたリージョンからリソースデータのインベントリを維持し、その結果をデータコンポーネントに保存するのに役立ちます。
ステップ 18
AWS Fargate タスクは、AWS Config と AWS SDK の呼び出しの結果を、AppSync API への API コールで、Amazon Neptune データベースと Amazon OpenSearch Service ドメインに保持します。
関連コンテンツ

AWS Config ならびに AWS アカウントでの設定変更を記録および正規化するプロセスの概要。また、ユースケースと設定についても説明し、簡単なデモも行います。
このコースでは、Amazon Neptune とその中核的な機能を紹介します。このコースでは、このサービスが他の AWS のサービスとどのように統合されるかを説明し、重要な用語とテクノロジーの概念を紹介し、サービスのデモを含みます。
リソースのプロビジョニングの自動化に AWS CloudFormation を使用する方法に関する基本的な概念です。このコースでは、AWS CloudFormation を使用してリソースのグループを繰り返し予測できるように作成するユースケースを見ていきます。リソースのプロビジョニング用の AWS CloudFormation テンプレートを設計するデモも取り上げます。