クラスタのコスト配賦および使用率をレポートするために、VMware Aria Cost powered by CloudHealth によって CloudWatch ECS のイベントが要約されます。
注- オーケストレーション ソリューションとして Kubernetes を使用している場合は、「VMware Aria Cost での Kubernetes の使用開始」を参照してください。
ECS では、ECS の状態の変化によって CloudWatch イベントを生成します。VMware Aria Cost では、クラスタのコスト配賦と使用率をレポートするため、これらのイベントを要約します。
注- VMware Aria Cost は現在、Fargate クラスタ メトリックをサポートしていません。
VMware Aria Cost ECS モジュールは、CloudWatch を使用して ECS イベントを収集し、作成した S3 バケットに格納します。割り当てられた VMware Aria Cost ロールを指定する IAM ポリシーは S3 バケットに関連付けられており、VMware Aria Cost でバケットからイベントを取得できるようにします。
ECS モジュールを有効にする必要があるアカウントはどれでしょうか。VMware Aria Cost プラットフォームと、VMware Aria Cost を使用して分析する独自の ECS インフラストラクチャで構成されているすべての AWS アカウント。
注- この手順は、VMware Aria Cost を使用して分析する ECS インフラストラクチャが属する AWS アカウントごとに繰り返します。
CloudFormation テンプレートは、この場所からダウンロードし、ecs-event-pipeline-generic-template.json
としてローカルに保存します。
テンプレートにより、AWS アカウントで次の操作が実行されます。
VMware Aria Cost では、どのようなデータを収集しますか。VMware Aria Cost では、次の 2 つのカテゴリのデータを収集します。(a) メモリ、CPU、ディスクの観点から、どのノードレベルのハードウェア リソースが利用可能か。(b) クラスタ内で実行されているワークロードとそのリソース割り当てを、メモリ、CPU、ディスクの観点から測定したもの。
このコマンドは、AWS アカウントごとに実行します。
コマンドのプレースホルダーに、AWS アカウント ID、S3 バケット名、および S3 バケット プリフィックスを入力します。
export ACCOUNT_ID=[place ACCOUNT ID here]
export BUCKET_NAME=[place BUCKET NAME here]
export BUCKET_PREFIX=[place BUCKET PREFIX here]
aws cloudformation create-stack
--stack-name cht-ecs-event-stream-bucket-stack-${ACCOUNT_ID} \
--parameters ParameterKey=S3Bucket,ParameterValue=${BUCKET_NAME} ParameterKey=S3BucketPrefix,ParameterValue=${BUCKET_PREFIX} \
--template-body file://./ecs-event-pipeline-generic-template.json \
--capabilities CAPABILITY_NAMED_IAM
Amazon ECS インフラストラクチャと、ECS イベントを格納する S3 バケットへの読み取り専用アクセス権を VMware Aria Cost に付与します。
[IAM アクセス ポリシー] ダイアログ ボックスで、すべてを選択 をクリックし、コンテンツをクリップボードにコピーします。更新されたポリシーには、読み取り専用権限が 2 セット含まれています。このセットは、AWS アカウント内の ECS インフラストラクチャへの読み取り専用アクセス権を VMware Aria Cost に付与します。"ecs:List*", "ecs:Describe*"
このセットは、ECS イベントを格納する S3 バケットへの読み取り専用アクセス権を VMware Aria Cost に付与します。
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::cht-ecs-event-stream-bucket-<AWS-Account-Number>",
"arn:aws:s3:::cht-ecs-event-stream-bucket-<AWS-Account-Number>/*"
]
},
VMware Aria Cost プラットフォームで ECS クラスタが検出されて一覧表示されるまでの時間はどれくらいですか。VMware Aria Cost は、IAM ポリシーに対する変更を 15 分ごとにポーリングします。ポリシーで入力した 2 つの行により、VMware Aria Cost には、AWS アカウントのすべての ECS クラスタのリストを取得することが許可されます。ポリシーに対する変更のタイミングによるポーリングが最後に発生した時刻によっては、ECS クラスタが VMware Aria Cost プラットフォームに表示されるまで、少なくとも 15 分間待機する必要があります。
VMware Aria Cost プラットフォームで左側のメニューから セットアップ > コンテナ > クラスタ の順に選択します。ECS クラスタが検出されると、ページに表示されます。
このページにクラスタが表示されない場合はどうなりますか。
このページにクラスタが表示されていない場合でも、VMware Aria Cost は ECS インフラストラクチャの読み取りを処理しています。リストが入力されているかどうかを確認するには、後でこのページに戻ります。
以前 AWS アカウントに展開した CloudFormation スタックにより、VMware Aria Cost はすぐに Orchestrator からメタデータの収集を開始できます。VMware Aria Cost でデータの受信を開始すると、クラスタの ステータス が 正常 へ切り替わります。
履歴情報がバックフィルされていません。
VMware Aria Cost プラットフォームで意味のある可視化がなされるのは、スタックが展開され、データのプッシュが開始されてから約 24 時間後です。
セットアップ > コンテナ > クラスタ ページには、クラスタの次の 3 つの状態が表示されます。
VMware Aria Cost は現在、Fargate クラスタ メトリックをサポートしていません。
Kinesis Firehose を構成して、ECS 関連の CloudWatch イベントを S3 バケットにストリーミングします。
ECS の使用量が発生している各リージョンでこれらの手順を繰り返し、構成するすべてのリージョンに対して同じ S3 バケットと IAM ロールを使用していることを確認します。
ecs-event-stream/<account_id>/
に指定します。ECS CloudWatch ルールを構成し、Kinesis Firehose を CloudWatch ルールに接続します。
ECS の使用量が発生している各リージョンでこれらの手順を繰り返し、構成するすべてのリージョンに対して同じ IAM ロールを使用していることを確認します。
cht-ecs-event-stream-ecs-to-firehose-rule-<insert-region-name>
CloudWatch Events Rule configured to deliver all ECS events to Kinesis Firehose
Kinesis Firehose ストリームを格納する S3 バケットへのアクセス権を、VMware Aria Cost プラットフォームに関連付けられた IAM ロールを提供するポリシーを生成します。
ページの一番下までスクロールし、ポリシーの生成 をクリックします。IAM アクセス ポリシー ダイアログ ボックスの内容をクリップボードにコピーします。ポリシーには、次の定義を含める必要があります。
"ecs:List*",
"ecs:Describe*",
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::<yourbucketname>",
"arn:aws:s3:::<yourbucketname>/*"
]
}
IAM アクセス ポリシー ダイアログ ボックスを閉じて、アカウントの保存 をクリックします。
VMware Aria Cost プラットフォームに関連付けられている IAM ロールのポリシーを更新します。
適切な S3 バケット ポリシーを追加して、VMware Aria Cost がバケットからデータを取得できるようにします。
次のポリシー ドキュメントをコピーして、バケット ポリシー エディタに貼り付けます。次に 保存 をクリックします。
{
"Version": "2012-10-17",
"Id": "cht-ecs-bucket-policy",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::146708650527:role/CloudHealth-IAM-Role"
},
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::<insert bucket name>"
}
]
}
VMware Aria Cost プラットフォームで左側のメニューから セットアップ > コンテナ > クラスタ の順に選択します。構成したすべてのアカウントとリージョンの組み合わせのクラスタがこのページに表示され、健全なステータスを示している必要があります。