概要
AWS でのワークロード検出 (旧称: AWS Perspective) は、AWS クラウドのワークロードを可視化するツールです。この AWS ソリューションを使用し、AWS からのライブデータに基づいて、ワークロードの詳細なアーキテクチャ図を作成、カスタマイズ、および共有できます。 このソリューションは、アカウントと AWS リージョン全体の AWS リソースのインベントリを維持し、それらの間の関係をマッピングし、それらをウェブユーザーインターフェイス (UI) に表示します。
このソリューションには、コストが発生している可能性のある AWS リソースやサービスを検索できるコストクエリビルダーも付属しています。予想コストデータは、指定された期間について自動的に計算され、アーキテクチャ図に表示されます。予想コストの概要を含むアーキテクチャ図のコストレポートを生成し、それらを CSV でエクスポートすることができます。
右の画像は、ソリューションによって作成されたアーキテクチャ図のサンプルです。
メリット
検索機能では、リソース名、タグ名、IP アドレスなどの基本情報を使用して、目的のリソースを検索できます。
アーキテクチャ図の作成を開始するには、まずウェブ UI でリソースを選択します。このリソースには、ソリューションが検出したすべてのリソースを含むディレクトリが含まれます。
アーキテクチャ図を保存して後で確認したり、他のソリューションユーザーと共有したりできます。ソリューションの外部で図を使用するために、PNG、JSON、CSV、draw.io、または myApplications にエクスポートできます。
技術的な詳細
このアーキテクチャは、実装ガイドと関連する AWS CloudFormation テンプレートを使用して自動的にデプロイできます。
ステップ 1
HTTP Strict-Transport-Security (HSTS) では、Amazon CloudFront ディストリビューションからの各レスポンスにセキュリティヘッダを追加します。
ステップ 2
Amazon Simple Storage Service (Amazon S3) バケットは、CloudFront で配信されるウェブ UI をホストします。Amazon Cognito は、ウェブ UI へのユーザーアクセスを認証します。
ステップ 3
AWS WAF は、可用性に影響を与えたり、セキュリティを侵害したり、リソースを過剰に消費したりする可能性のある一般的なエクスプロイトやボットから AWS AppSync API を保護します。
ステップ 4
AWS AppSync エンドポイントは、ウェブ UI コンポーネントがリソース関係データを要求したり、コストをクエリしたり、新しい AWS リージョンをインポートしたり、環境設定を更新したりすることを可能にします。また、AWS AppSync はディスカバリーコンポーネントがソリューションのデータベースに永続的なデータを保存できるようにします。
ステップ 5
AWS AppSync は、Cognito によってプロビジョニングされる JSON Web Tokens (JWTs) を使用して、各リクエストを認証します。
ステップ 6
Settings AWS Lambda 関数は、インポートされたリージョンとその他の設定を Amazon DynamoDB に保持します。
ステップ 7
このソリューションでは、ストレージ管理コンポーネントとして AWS Amplify と S3 バケットをデプロイして、ユーザー設定と保存されたアーキテクチャ図を保存します。
ステップ 8
データコンポーネントは、Gremlin Resolver Lambda 関数を使用して Amazon Neptune データベースからデータを照会して返します。
ステップ 9
データコンポーネントでは、Search Resolver Lambda 関数を使用して、Amazon OpenSearch Service ドメインにリソースデータを照会して保持します。
ステップ 10
Cost Lambda 関数は Amazon Athena を使用して AWS Cost and Usage Report (AWS CUR) を照会し、予想コストデータをウェブ UI に提供します。
ステップ 11
Athena は CUR でクエリを実行します。
ステップ 12
CUR は、CostAndUsageReportBucket S3 バケットにレポートを配信します。
ステップ 13
Cost Lambda 関数は、Athena の結果を AthenaResultsBucket S3 バケットに保存します。
ステップ 14
AWS CodeBuild は、イメージデプロイコンポーネントで検出コンポーネントのコンテナイメージを構築します。
ステップ 15
Amazon Elastic Container Registry (Amazon ECR) は、イメージデプロイコンポーネントによって提供された Docker イメージを含みます。
ステップ 16
Amazon Elastic Container Service (Amazon ECS) は、AWS Fargate タスクを管理し、タスクの実行に必要な構成を提供します。Fargate は 15 分ごとにコンテナタスクを実行し、インベントリとリソースのデータを更新します。
ステップ 17
AWS Config と AWS SDK for JavaScript の呼び出しは、検出コンポーネントがインポートされたリージョンからリソースデータのインベントリを維持し、その結果をデータコンポーネントに保存するのに役立ちます。
ステップ 18
Fargate タスクは、Config と SDK for JavaScript の呼び出しの結果を、AWS AppSync API への API コールで、Neptune データベースと OpenSearch Service ドメインに保持します。
関連コンテンツ
このコースでは、AWS Config の概要と、AWS アカウント内の設定変更を記録して正規化するプロセスについて説明します。また、ユースケースと構成についても説明し、サービスの簡単なデモンストレーションも行います。
このコースでは、Amazon Neptune とその中核的な機能を紹介します。このコースでは、このサービスが他の AWS のサービスとどのように統合されるかを説明し、重要な用語とテクノロジーの概念を紹介し、サービスのデモを含みます。
このコースでは、AWS CloudFormation を使用してリソースプロビジョニングを自動化する方法の基本的な概要を説明します。また、CloudFormation がリソースのグループを繰り返し予測どおりに作成するユースケースについても説明します。このコースには、リソースプロビジョニング用の CloudFormation テンプレートの設計に関するデモンストレーションも含まれています。