コストマネジメント

現在運用中のマルチクラウドサービスで発生したコストを確認できます。コストマネジメントサービスは、ユーザーが様々な方法でコストを分析して確認できるように総9個のメニューを提供します。


ダッシュボード

コストマネジメントのトップ画面であるダッシュボードでは、クラウドサービス別に現在の発生コスト、月別、日別コストの発生現況をひと目で確認できます。

コストマネジメント> ダッシュボード

クラウドサービス

現在使用中のクラウドサービスとアカウント情報が表示されます。選択したクラウドサービスとアカウントの使用料と費用トレンドなどを様々な形式で確認できます。

今月のまとめ

今月に発生したコストに対するまとめ情報を確認できます。

  1. 集計中:当日発生してまだ集計完了していないコストを表示します。
  2. 集計完了:1日から現在まで集計完了した全体のコストを表示します。
  3. 予想費用:使用パターン分析で今月に発生する予想費用を表示します。

月別の累積使用額を比較

照会期間設定によって最大12ヶ月間、発生したコストを比較及び分析できます。照会期間は、2/4/6/12ヶ月の中で選択できます。比較する期間を直接入力することもできます。

上の画像の棒グラフはコスト別にカラーを区分し、カラーは下記の4種類で構成されています。
1. ブルー:毎月1日から現在日まで発生したコストを表示します。
2. オレンジ:集計中の金額(当日発生してまだ集計完了していないコスト)を表示します。
3. グレー:先月に発生した全体のコストを表示します。
4. 破線:今月の予想費用を表示します。

関心項目選択

確認したい項目のみ選択して発生したコストをダッシュボードで今すぐ確認できます。[費用基準選択]ボタンをクリックすると、設定可能な項目がドロップダウンメニューで表示されます。項目を変更する前までは、選択された項目のコストがダッシュボードに続けて表示されます。

[費用基準選択]ボタンをクリックすると、下記に列記されたカテゴリの細部項目を再選択でき、選択された細部項目のコストを確認できます。

  1. アカウント
  2. 商品
  3. リージョン
  4. データ送信
  5. サービスグループ

日別費用トレンド

日別費用トレンドで選択した期間の費用トレンドチャートと詳細データを日別に提供します。日別費用トレンドで日別使用パターンと異常コストが発生した時点も確認できます。日別費用トレンドチャートとグリッドで日別最低コストと最高コストも確認できます。グリッド上で最低コストは赤色、最高コストは青色で区分できます。

項目別コスト

アカウント、商品、リージョン、サービスグループ別に発生コストを確認でき、項目別コストに対する日別トレンドチャートも提供されます。

月別費用トレンド

最大3年間の月別費用発生トレンドを確認できます。[開いて見る]と[重ねて見る]オプションで月別費用トレンドを視覚的に確認することもできます。


請求分析

請求分析は、実際使用しているリソースを検索条件に選択して簡単に素早く発生コストを検索できるインテリジェント検索機能を提供します。

コストマネジメント> 請求分析

コスト分析及び視覚化

クラウドサービスと期間などで検索可能で、必要な項目に対する深い分析と多角度の分析結果を確認できるチャートとグラフなどの視覚化ツールを提供します。

  1. 請求分析のトップ画面で検索するサービスと期間を選択します。
    検索するサービスと期間を選択すると、該当期間内に使用したアカウント、商品、リージョン、サービスグループなどが検索条件に表示されます。照会期間は選択した後、照会期間ボックス内にある[適用]ボタンをクリックすることで選択した期間が適用されます。

  2. 検索する製品及びリージョンを選択します。
    条件が選択されると、ドリルダウンの形で選択した条件の項目のみ選択可能な状態で表示され、残りの項目は無効化処理されます。

  3. すべての条件を選択した後、右上にある[適用]ボタンをクリックします。

  4. [適用]ボタンをクリックした後、検索結果はグラフ、データテーブル、棒グラフなどの様々な方法で確認でき、項目別コスト、日別詳細、詳細データ別に確認できます。

検索結果を見る

選択した条件を基に検索した結果は、項目別コスト、日別詳細コスト、詳細データなどの様々な形で確認できます。

項目別コスト

選択した条件別に全体のコストを確認できます。
アカウント、商品、リージョン、サービスグループ別に区分してコストを確認でき、選択したカテゴリ別に日別詳細発生コストとトレンドチャートを確認できます。項目別のコストデータテーブルで全体、アカウント、商品、リージョン、サービスグループタブをクリックする際、各項目別に区分されたコストを確認できます。

詳細データ

選択した条件別に発生したすべてのコストの詳細内訳を確認できます。


請求

クラウドサービス、クラウドアカウント別の請求額及び付加サービス額を確認でき、月別請求額の比較も可能です。

コストマネジメント> 請求

請求書

クラウドサービス別に月請求書のまとめ内容を確認でき、まとめ内容にはクラウド使用額、サポート額、割引額などが含まれます。また、まとめ内容のみシンプルなカードビューで表示されるため、ユーザーがひと目で先月の料金と比較分析できます。

  1. クラウドサービス:左上のクラウドサービスを選択すると、該当サービスの請求書が表示されます。
  2. 期間選択:右上のメニューで請求書を確認する年度と月を選択できます。例えば、2019年1月を選択すると、1月の請求書と2018年12月の請求書を共に表示して先月のコストと比較分析できます。
  3. 今月のまとめ:選択した月の請求内訳を請求料金と付加サービス料金で区分して表示します。
  4. 先月まとめ:選択した先月の請求内訳を請求料金と付加サービス料金で区分して表示します。

サービス画面の右端にある[→]ボタンをクリックして、一年間で発生した月別費用をひと目で表示するトレンドチャートを確認できます。

  1. 日別トレンドチャート:月別発生コストをトレンドチャートで確認できます。
  2. 月別データ:月別発生コストをグリッドで確認できます。

クラウドアカウント別の請求書

登録されたアカウント別の料金情報をまとめ及び詳細内訳にも確認できます。クラウドアカウント別の請求書のメニュー右上で、選択したアカウントの請求書をダウンロードできます。料金情報は、詳細データ及び請求書でダウンロードできます。請求書はPDF、Excelなどの様々な形式をサポートしています。請求書を送信するボタンをクリックすると、一度だけ送信する繰返し送信するから条件を選択できます。繰返し送信するを選択すると、毎月請求書を周期的に受け取ることができます。また、送信した請求書リストで今まで送信した請求書リストも確認できます。

  1. アカウント選択:左側のテーブルで確認したいアカウントを選択できます。選択したアカウントのまとめ及び詳細情報が右側の表に表示されます。
  2. まとめ情報:使用料金及び請求額などのまとめ情報が表示されます。
  3. 詳細情報:発生した料金と割引内訳などの詳細内訳を確認でき、詳細内訳テーブルの右上にある[全体表示]または[基本表示]ボタンをクリックして表示される項目を区分できます。[全体表示]ボタン右側の一番目のドロップダウンボタンをクリックすると、請求書、アカウント、サービスグループ、リージョンまたはタグで区分して項目を表記することもできます。2番目のドロップダウンボタンをクリックして名前別に項目を区分するオプションも選択できます。
  4. 表示方式変更:詳細情報に表示される料金内訳を下記の条件で整列して確認できます。
    AWS: Invoice, Account, Service Group, Region, Tag
    Azure: Subscription, Service Group, Region, Meter Category

請求内訳

全体のコスト情報だけではなくアカウント別、請求書別、付加サービス別に料金情報を確認できます。

  1. アカウント別:登録されたアカウント別に使用料金及び割引料金を確認できます。
  2. 請求書別:請求書別にサービス料金及びサポートコストなどを確認できます。
  3. 付加サービス:付加サービス内訳と付加サービスによって発生したコストを確認できます。

CDN測定

Amazon CloudFrontの料金、データ、リクエスト回数などのまとめ情報を確認できます。
まとめ情報は、今月と先月を共に配置して比較分析しやすくしました。

コストマネジメント> CDN測定

Amazon CloudFrontのまとめ情報

コスト、データ送信、リクエストなどの情報をひと目で確認でき、先月の情報と比較できる機能を提供します。

  1. コスト:集計中の金額、月合計、予想費用を今月と先月に区分して表示します。
  • 集計中:当日発生してまだ集計完了していないコストを意味します。
  • 集計完了:今月の1日からデータが最終収集された日付までの精算コストを意味します。
  • 予想費用:使用パターンを分析して今月に発生すると予想されるコストを表示します。
  1. データ送信:データ容量を集計中のデータ容量、月合計、予想データ容量などを今月と先月に区分して表示します。
  • 集計中:当日発生してまだ集計完了していないデータ容量を表示します。
  • 集計完了:今月の1日からデータが最終収集された日付までのデータ送信量を意味します。
  • 予想費用:使用パターンを分析して今月に発生すると予想されるデータ容量を表示します。
  1. リクエスト:リクエスト回数を集計中のリクエスト回数、月合計、予想リクエスト回数などを今月と先月に区分して表示します。
  • 集計中:当日発生してまだ集計完了していないリクエスト回数を表示します。
  • 集計完了:今月の1日からデータが最終収集された日付までのデータリクエスト回数を意味します。
  • 予想費用:使用パターンを分析して今月に発生すると予想されるリクエスト回数を表示します。
  • K:1,000、M:1,000,000、B:1,000,000,000

Amazon CloudFrontの使用現況

アカウント別、リージョン別、ウェブ配布(Web Distribution)別コスト、データ容量及びリクエスト回数などをパイチャートとテーブルで確認できます。

  1. コスト:選択した月のアカウント別、リージョン別、ウェブ配布別のコストを比較確認できます。
  2. データ送信:選択した月のアカウント別、リージョン別、ウェブ配布別のデータ容量を比較確認できます。
  3. リクエスト:選択した月のアカウント別、リージョン別、ウェブ配布別のリクエスト回数を比較確認できます。

Amazon CloudFrontの使用トレンド

コスト、データ容量、リクエスト回数を日別または時間単位で確認できます。

  1. コスト:選択した方式によってコストのトレンドをチャートで確認できます。
  • 日別:日単位でコスト情報を今月と先月に区分して確認できます。該当月の1日から末日までの日別コストの確認が可能です。
  • 時間別:指定日から直近8日までの時間別の料金情報を確認できます。
  1. データ送信:選択した方式によってデータ容量のトレンドをチャートで確認できます。
  • 日別:日単位でデータ容量を今月と先月に区分して確認できます。
  • 時間別:指定日から直近8日までの時間別のデータ容量を詳細に確認できます。
  1. リクエスト:選択した方式によってリクエスト回数のトレンドをチャートで確認できます。
  • 日別:日単位でリクエスト回数を今月と先月に区分して確認できます。
  • 時間別:指定日から直近8日までの時間別のリクエスト回数情報を確認できます。
  1. 条件別のドロップダウンリスト:チャートに表記される情報は、下記の条件通りに確認でき、グラフ真上のドロップダウンメニューをクリックして条件を設定することができます。
    日別:アカウントリージョンウェブ配布時間間隔
    時間別:アカウントリージョンウェブ配布日付選択

予算

サービス別に月別予算を入力して予算対実際使用コストをグラフで確認できます。通知設定で設定した予算対割合や基準金額を超過する場合、SMSとメールでアラームを受け取ることができます。

コストマネジメント> 予算

予算の概要

コストマネジメント> 予算> 予算の概要

月別予算対実際発生コストを全体の予算とクラウドサービス別に区分してグラフで表示します。

  1. 年度選択:画面の左上にあるドロップダウンメニューで選択した年度の全体の予算及びクラウドサービス別のコストを確認できます。
  2. 全体の予算:サービス別予算の総合とサービスで発生した全体のコストをグラフで比較できます。
  3. クラウドサービス別:サービス別予算と実際コストをグラフで比較できます。

予算の設定

コストマネジメント> 予算> 予算の設定

月別予算を確認でき、クラウド事業者別または全体の予算を区分して管理できます。

  1. 年度選択:予算を設定する年度を選択できます。今後3年までの予算設定が可能で、それぞれの年度に予算を入力した後、保存できます。修正が必要な場合、該当年度を選択した後、修正も可能です。
  2. 予算テーブル:各事業者別に月予算を入力できます。各セルをダブルクリックすると、入力可能な状態に変更され、ここに予算を入力できます。予算を入力した後、テーブル右上の[保存]ボタンをクリックして変更内容を保存できます。

アラームリスト

コストマネジメント> 予算> アラームリスト

予算関連のアラームをユーザーの条件に合わせて設定できます。

  1. 新規アラーム追加:該当ボタンをクリックして新規アラーム情報を入力します。
  2. アラーム名:テキストフィールドに作成するアラーム名を入力します。
  3. アラーム:アラーム受信有無をOn/Offに設定でき、アラームレベルを注意またはアラームに区分して受け取ることができます。
  4. アラーム受信方法:アラームをSMSまたはメールで受信できます。
  5. [削除]ボタン:アラーム名にマウスを当てると、名前の左側に削除ボタンが表示されます。ボタンをクリックして設定されたアラームを削除できます。
  6. [編集]ボタン:アラーム名にマウスを当てると、名前の右側に編集できるボタンが表示されます。ボタンをクリックして設定されたアラームを編集できます。

アラーム受信者

コストマネジメント> 予算> アラーム受信者

アラームを受け取る受信者を設定できます。

  1. [新規受信者追加]ボタン:ボタンをクリックして新規受信者の情報を入力できます。
  2. 受信者の名前:テキストフィールドにアラーム受信者の名前を入力します。
  3. メール:アラーム受信者のメールアドレスを表示します。
  4. 携帯電話:アラーム受信者の携帯電話番号を表示します。
  5. アラームリスト:受信者が受信するアラームをリストで選択できます。チェックボックスをクリックして受信するアラームを選択する時、アラームリストの全体のアラームもしくは一部のみ選択して受信できます。

AutoSpot

AutoSpotを始める

AutoSpotは、RI推薦のようにコストを最適化できるサービスです。スポットインスタンスを安全に活用してコストを最大80%まで削減できるように手助けします。AutoSpotはスポットインスタンス使用時、リソース回収を15分前に予測した後、他のスポットインスタンス、RI、オンデマンドインスタンスなどで自動で移動して中断することなくサービスを使用できます。

コストマネジメント> AutoSpot

AutoSpotにクラウドアカウントを追加する

アカウントを追加する前に接続するAWSアカウント情報とAWSアカウントが既にサービスに登録されているかの確認が必要です。画面の左上または真ん中にある[アカウント追加]ボタンをクリックしてAWSアカウントを追加します。

1.1.1. 自動で追加する

  • CloudFormationを利用して自動でAWSアカウントを追加できます。
    [テンプレートを開く]ボタンをクリックすると、AWSコンソール画面に移動します。AWSコンソールで接続しようとするアカウントでログインします。

  • AWSコンソール画面で以下の画像のように[AWS CloudFormationがIAMリソースを作成できる]のチェックボックスを選択した後、[作成]をクリックします。

  • ステータスが[Create_Complete]に変更されたら、AutoSpotRoleArnの値を下記のフィールドに入力します。

1.1.2. 手動で追加する

  • ユーザーが希望する構成で追加する時、[手動でアカウント追加]タブをクリックして直接追加できます。

  • [IAMコンソールを開く]ボタンをクリックして、AWSコンソール画面に移動します。

  • AWSコンソール画面で左側にあるサイドバーの[ポリシー]を選択した後、[ポリシーの作成]をクリックします。

  • [ポリシーの作成]画面で[JSON]タブをクリックした後、ポリシーを貼り付けた後、右下の[ポリシーの検討]をクリックします。

  • 次の画像のAutoSpot画面で右側にあるボタンをクリックすると、ポリシーをクリップボードにコピーまたはポップアップで見るなどが可能です。該当ボタンをクリックしてポリシーをコピーした後、AWSコンソールのJSONタブに貼り付けます。

  • 次の作業としては、サイドバーの[ロール]を選択した後、[ロールの作成]ボタンをクリックします。

  • [別のAWSアカウント]をクリックした後、アカウントIDを入力できます。正しいアカウントIDを入力します。

  • オプション項目で[外部IDが必要]チェックボックスを選択し、外部IDを入力した後、[次のステップ:アクセス権限]ボタンをクリックします。

  • [アクセス権限ポリシーのアタッチ]ページでAutoSpotポリシーを選択した後、[次のステップ:タグ]ボタンをクリックします。

  • ロール名をAutoSpot-Roleと入力した後、[ロールの作成]ボタンをクリックします。

  • AutoSpot-RoleのRoleArnを入力フィールドに貼り付けます。

  • 接続アカウントリストに作成されたアカウントが表示されます。個別アカウントをクリックすると、下記のようにAutoSpotのSpot Analyzer、Elastigroup、Oceanを使用できます。

AWS用Elastigroupチュートリアル

Stateful Elastigroupを作成する

紹介

このチュートリアルでは、Stateful Creation Wizardを使ってステートフルElastigroupの作成方法を調べ、またスポット中断全般にわたってVolumes、Elastic IP、Private IPなどを説明します。Stateful Elastigroupは、マネージドスポットインスタンス及びSLAリードスポットインスタンスを使用して様々なステートフルワークロードを実行できるようにします。まずUse Casesタブで「Stateful Cluster」を選択して新しいElastigroupを作成してみます。

1段階:一般設定(General)

  • Elastigroupの名前を入力してリージョンを設定します。
  • Elastigroupグループの初期容量を設定します。
    インスタンス数またはvCPUの総数で容量測定を選択できます。
  • Elastigroupを実行するVPCとインスタンス化するすべてのインスタンスの製品タイプ及び画像を選択します。
  • インスタンスに添付するセキュリティグループ及びこのセキュリティグループに対するキー ペア(Key-Pair)を選択します。
  • 最後にStatefulグループのインスタンスにタグも選択的に追加できます。

2段階:インスタンスタイプ(Instance Type)

  • ンスタンスタイプに合うスポットインスタンスがない場合、使用するオンデマンドインスタンスタイプを選択します。
  • インスタンスを始める時、Elastigroupが考慮するアベイラビリティーゾーンを選択します。節約効果を極大化するためにElastigroupは、選択したアベイラビリティーゾーンでスポットインスタンスを始めるコストを計算します。Elastigroupが考慮するスポットインスタンスマーケットの数を増やすためにアベイラビリティーゾーンを複数選択することを推奨します。
  • スポットインスタンスを始める時、Elastigroupが考慮するインスタンスタイプを選択します。スポットインスタンスマーケットでできるだけより多くのオプションをElastigroupに提供するために複数のインスタンスタイプを選択することを推奨します。

参考:Elastigroupにより多くのスポットマーケットを提供し、価格を削減してアベイラビリティーを上げるために複数のアベイラビリティーゾーン及び複数のインスタンスタイプを選択することを推奨します。

3段階:持続性(Persistence)

  • 3段階では、Elastigroupが維持するタイプの持続性を選択します。

ストレージ持続性

  • インスタンスが中断された時、Elastigroupがインスタンスルートボリュームまたはデータボリュームをそのまま維持するかどうかを選択します。データボリュームが維持、接続及びバックアップされる方式も選択できます。

ネットワーク持続性

  • ネットワーク設定をInstance private IPなどで維持するかどうかを選択します。

参考:今回の段階で最小1つ以上の持続性機能を選択しなければなりません。

4段階:インスタンスの詳細情報(Instance Details)

  • 開始されたインスタンスのIAMロール、テナンシーなどの詳細情報を選択してEBS最適化詳細モニタリングまたはEC2自動復旧適用有無を選択します。
  • インスタンス開始または終了時、実行するuserdata or shutdown scriptsを満たします。

5段階:スケーリングポリシー(選択事項)

  • Target Scaling PolicyまたはSimple Scaling Policyを選択的に作成します。Elastigroupを使用したScalingに対する詳細はこちらの説明書をご参考ください。

6段階:レビュー(選択事項)

  • 続いてElastigroupの構成を検討して作成プロセスを完了します。

Elastigroup Actionsメニュー

1. Elastigroupの配布及びローリング

1.1. Elastigroupの配布及びローリング

このチュートリアルでは、Elastigroupをブルー/グリーン配布方式で実行する方法を説明します。Elastigroupの管理画面の右上にあるActionsメニューの下にあるDeployを選択すると、AutoSpot Consoleで配布を遂行できます。

Deployオプションを使用して以前の配布をレビューしたり配布を開始できます。

新しい配布を開始するには、[Deploy]ボタンをクリックします。

バッチプロセスが実行中の際には、グループに容量アップデートのようなアップデートは適用されません。

続いて配布パラメーターを設定してみます。

バッチサイズ – 配布の各バッチサイズは、グループ内の総インスタンス数比パーセントで表示されます。つまり、パーセントが20%のグループは5個の個別バッチをもつことになるという意味です。

猶予期間 - 配布が次のバッチを始める前にステータス確認設定によってインスタンスが正常と見なすまで待つ期間を意味します。

参考:Elastigroupに「ステータス確認」設定がないと、それぞれのバッチは全体の猶予期間が終わるまで待つことになります。

続いてブルー/グリーン配布を開始します。Elastigroupは、クラスターに新しいインスタンス(グリーン)をスピンアップして、構成された「ステータス確認」(EC2、ELB、MLBなど)を使用してステータスをモニタリングします。インスタンスが正常に登録されると、以前のインスタンス(ブルー)が縮小されます。このプロセスは、それぞれのバッチを示す構成可能な部分に分かれます。

グループローリングはいつ実行するのか?
アップデートがインスタンス構成に影響を与える際、特に下記に並べられているパラメーターを修正する間、ローリングが必要です。

General Tab

Advanced:
* Cluster orientation
* Strategy (Spot Instances Percentage, OnDemandCount, utilizeReservedInstances)

Compute Tab:

Availability Zones

On-Demand Type

Spot Types

Launch Specification (Image, Security group, key pair, tags)

Additional Configurations:
* IAM role
* EbsOptimized
* Detailed monitoring
* Public IP
* Tenancy
* User Data
* Signal and Signal timeout

Stateful:
* Assign specific Private IPs only

ご注意
* 失敗した一つのバッチは、十分に配布を無駄にします!十分な「猶予期間」を適用してインスタンスが正常を維持するように作成してください。
* 失敗したローリングが完全に止まったり、解決される前にはElastigroupが新しいローリングやどんな規模の縮小作業も実行しません。
* Scalingの特徴 – スケールダウンポリシーは、配布が完了するまで一時中断されます。AutoSpotは、必要に応じて拡張し、同時にサーバを損失しないようにするメカニズムを開発して適用しました。

1.2 ローリング失敗
ローリングが失敗するには様々な理由がありますが、その中の最も一般的なイシューは次の通りです。
1.問題があるアプリケーション(新しいAMIまたはコードベース)
2. 短すぎるローリング猶予期間
3. 猶予期間後に特定バッチのインスタンスの中の50%以上が異常である場合ブルー/グリーン配布失敗

[ローリングエラー問題解決]
配布に失敗しても、問題解決のためにインスタンスは実行され続けます。それによってElastigroupの一部インスタンスは以前の構成を持っており、残りは新しい構成を持つ場合があります。失敗したロールを修正するには、以前インスタンス及び新規インスタンスを中止して分離します。Elastigroup構成をアップデートして構成アップデートを適用するために再配布します。

参考:失敗したローリングが完全に止まったり、解決される前にはElastigroupが新しいローリングやどんな規模の縮小作業も実行しません。

2. グループ容量管理

2.1 Elastigroupの容量構成アップデート
Elastigroupの Actionsメニューにある Manage Capacityオプションは Elastigroup Target、Minimum、Maximum構成をアップデートするプロセスをシンプルにしました。

Elastigroupの容量アップデート前
- グループに予定になかった容量構成がある場合、容量アップデートを招いた予約された作業があるかを確認します。
- 容量アップデートは、Elastigroupが拡張できる範囲に影響を与えます。

Elastigroupの容量アップデート
Elastigroupの容量をアップデートするには、Elastigroups表示でご希望のElastigroupを選択します。 Actionsメニューで Manage Capacityを選択します。

必要な場合、 Target、Minimum、Maximumを修正して UPDATEボタンをクリックします。

アラート:容量アップデートは、すぐに適用されます。アップデートが始まると、Elastigroupが必要に応じてスケールアップ/ダウンを始めます。

3. ステータス確認設定

3.1. Elastigroupのユーザー定義のステータス確認構成

AutoSpotは、Elastigroupでオーダーメイドの「ステータス確認サービス(HCS)」オプションを提供します。ステータス確認サービスに関する詳細情報は、こちらをクリックします。VPCに「ステータス確認サービス」を設定した後、ご希望のElastigroupを参考できます。開始するには、ご希望のElastigroupの管理画面で Actionsメニューの Set Health Check項目を選択します。

上の項目を選択すると、「ステータス確認サービス」のポップアップ ウィンドウが開きます。ポップアップ ウィンドウで下記に並べているパラメーターを設定します。

Name:便宜のために「ステータスサービス確認」の名前を指定します。
ProxyAddress:サービスがインストールされている選択されたインスタンスのパブリックホスト/IP、http://publicipのように設定されます。
Protocol:AutoSpotがインスタンスのステータスを確認するために使用するプロトコルです。現在httpとhttpsをサポートしています。
Endpoint:各インスタンスの「ステータス確認」経路
Interval:ステータスを確認する時間間隔。最小10秒間隔で設定できます。
Timeout:各インスタンスがステータス確認検査に応答するまで待つ時間を意味します。応答しない場合、AutoSpotは異常ステータス(unhealthy)に表示します。
UnhealthyThreshold:インスタンスを異常ステータス(unhealthy)に宣言する前に連続的にステータス確認検査に応答しない回数設定
HealthyThreshold:インスタンスを正常ステータス(healthy)に宣言する前に連続して応答するステータス検査の回数設定

設定を保存した後、グループの Auto-Healing設定にも使用されているかを確認します。

  1. プロセス一時中止
    プロセスの一時中断は、スケーリング(Scaling)または自動復旧(Auto-Healing)動作を簡単に中止させるオプションを提供します。この機能は、 ActionsSuspend Processes項目を選択すると、アクセスできます。

スケーリングまたは自動復旧作業は、ポップアップ ウィンドウで「一時中止」または「再生」ボタンをクリックするだけで実行できます。

参考:スケーリング動作が一時中止の間には、MonitoringまたはInstanceタブのScalingグラフでメトリックスはモニタリングできません。

  1. 通知

5.1. 通知作成

5.1.1. Elastigroupの通知設定

「Elastigroupの通知」を使用すると、SNS、メールまたはHTTPエンドポイントなどを基にElastigroupの複数イベントに対する通知を受けることができます。今回のセクションは「Elastigroupの通知」開始とユーザーの必要に応じて通知の内容を個人設定する方法に対して説明します。

前提条件:
運用中のElastigroup

1段階:通知モーダルを開く
Elastigroup管理画面の右上にあるActionsボタンをクリックした後、Add Notificationを選択します。

SubscribeまたはSubscribe to a Notificationボタンをクリックします。

参考:既存の通知は修正できません。変更事項を適用するには、新規通知を作成してから以前の通知を除去します。

2段階:通知構成
SNSの場合、Protocol Typeでaws-snsを選択して通知が掲示されるSNS Topic ARNを選択します。HTTP/HTTPSエンドポイントに通知を掲示するには、Protocol Typeでウェブを選択してエンドポイントを入力します。

参考:「メール」及び「メール-json」のような付加的なプラットフォームに対する通知設定は、現在APIを通してのみ使用可能です。

3段階:イベントタイプ

Group Deployment Completed:配布プロセスが成功的に完了したら通知をトリガーします。詳細は、Deployを参考してください。

Group Deployment Failed: 配布プロセスが失敗に終わった場合、通知をトリガーします。

Group Update Completed: Elastigroupが成功的にアップデートされたら通知をトリガーします。プロビジョニングツールや他のユーザーがElastigroupアップデートをモニタリングすることに役立ちます。

Instance Launch: Elastigroupで新規インスタンスが始まる場合、通知をトリガーします。

Instance Launch Failed: Elastigroupでインスタンスを始めようとした試しが失敗する場合、通知をトリガーします。

Instance Terminate: インスタンスが終了に表示されたら、通知をトリガーします。この通知は、インスタンスが終了する前に作成されます。

Instance Terminated: インスタンス中の一つが終了される場合、通知をトリガーします。

Scale Failed – Group Max Capacity: グループがElastigroupで定義した最大容量に到達すると、追加拡張作業が遂行されないように通知をトリガーします。

Signal Timeout – Instance Not Ready: シグナルがタイムアウトに到達すると、通知をトリガーします。Elastigroupsのシグナル構成に対する詳細は、こちらをクリックしてください。

Unhealthy Instance:
「ステータス検査」に構成された内容を基にグループのインスタンス中の一つのステータスが異常に認識されると、通知をトリガーします。異常インスタンス(Unhealthy Instance)のイベントタイプは「ステータス確認サービス」ユーザーにも適用されます。ステータス確認の詳細はユーザーガイドを参考します。

4段階:形式(選択事項)
「フォーマット」フィールドから選択事項で通知の基本出力を変更できる。通知内容の形式は、instance-ideventresource-idresource-nameresource-idsubnet-id、`availability-zoneのような変数をサポートします。

基本通知内容:

{
                         "event": "<event>",
                         "instanceId": "<instance-id>",
                         "resourceId": "<resource-id>",
                         "resourceName": "<resource-name>"
                    }

ユーザー定義形式の例

{
                        "event": "%event%",
                        "resourceId": "%resource-id%",
                        "resourceName": "%resource-name%",
                        "myCustomeKey": "My content is set here",
                       "AWS_Account_ID": "1234567890"
                    }

インスタンス開始:

{
                    "default": "spotinst:notification:instance",
                    "event": "AWS_EC2_INSTANCE_LAUNCH",
                    "instanceId": "i-0d1c09565f353e90e",
                    "resourceId": "sig-675240da",
                    "resourceName": "ElasticSearch_Test"
                    }

インスタンス終了:

{
                     "default": "spotinst:notification:instance",
                     "event": "AWS_EC2_INSTANCE_TERMINATE",
                     "instanceId": "i-0d1c09565f353e90e",
                     "resourceId": "sig-675240da",
                     "resourceName": "ElasticSearch_Test"
                    }

5.2. Slack用Elastigroup通知

5.2.1. SlackチャンネルでElastigroup通知受信

Elastigroup通知は、事前に決めたSlackチャンネルに自動で送信できます。チャンネルを定義するには、ここにウェブフークURLを作成します。
https://slack.com/apps/A0F7XDUAZ-incoming-webhooks

URLをコピーした後、Elastigroup設定 -> アカウントに移動して通知を選択します。「Slack」のチェックボックスを選択してウェブフックURLを貼り付けます。

掲示する通知を選択できます。

5.3 ユーザー定義のメール通知

5.3.1. ユーザー定義のメール通知を構成する

基本的にAutoSpotは、すべてのエラー及びアラームイベントをアカウントにあるすべてのユーザーにお知らせします。但し、サービス購読をキャンセルしたユーザーは除きます。重要なイベントに対する通知を送信するようにElastigroup通知を定義できます。

ユーザー別の固有メール通知使用

  1. 設定メニューでAccountタブを選択してPersonal Notificationをクリックします。
  2. Customize Notifications画面が表示されたら、ご希望の項目を選択して有効化または無効化します。

アカウント別にユーザー定義のメール通知を使用する

  1. 設定メニューでAccountタブを選択してDefault Notifications Policyをクリックします。
  2. このアカウントに接続されたすべてのユーザーに対して無効化する通知を選択します。この作業は、アカウント編集者/組織管理者のみ遂行できます。

参考:基本アカウントの通知ポリシーは、個人用通知ポリシーを定義していないユーザーのみ使用できます。ユーザーは「Personal Notifications」ページで個人用通知ポリシーを定義できます。

KMS暗号化及びAutoSpot

紹介

AWS Key Management Service(KMS)は、データを暗号化するために使用される暗号化キーを簡単に作成・管理できるサービスです。AutoSpotでプロビジョニングしたスポットインスタンスで暗号化されたボリュームを簡単に使用できます。AutoSpotが暗号化されたボリュームを活用するには、ボリュームを暗号化するために使用されるユーザー指定KMSにアクセスできる権限を付与してください。

AutoSpotでユーザー指定キーを使用する方法
ユーザー指定キーを使用するためには、AutoSpot必須項目を含むためにユーザー指定キーの使用権限を調整してください。

1段階:AWS IAM管理コンソールにログインします。
AWSコンソールにログインしてIAM管理コンソールに移動します。

2段階:暗号化キーをクリックします。

3段階:ボリュームを暗号化するカスタムキーボタンをクリックします。

4段階:キーユーザーまでスクロールを下ろします。

このユーザー指定キーに二つのロールを追加してください。

  • AWSServiceRoleForEC2Spot (AWSが各アカウントに自動作成する連結済みのサービスロール)
  • AutoSpotクロスアカウントIAMロール(AutoSpotに資格証明を入力する際に作成したロール)

下のリンクで使用可能なアカウントメニューでAutoSpotクロスアカウントIAMロールを探すことができます。下の画像のように右上のアイコンを選択した後、Settingsをクリックすると、AccountメニューでAWS ARNを確認できます。https://console.spotinst.com/#/settings/account/general

5段階:Elastigroup Block Device Mappingでキーを構成する
Elastigroup Block Device Mapping構成に必要なキーを追加できます。詳細は、こちらをクリックしてください。

そして下記の内容を追加します。

kmsKeyId – 文字列 –EBSボリュームが暗号化されたユーザー管理型CMKのID

例1:

"blockDeviceMappings": [
                       {
                         "deviceName": "/dev/sdf",
                         "ebs": {
                           "encrypted": true,
                           "kmsKeyId": "bajkadk-12345-1234-1234-1234567",
                           "volumeSize": 20
                         }
                       }
                     ]

例2:
ユーザー指定キーで暗号化されたスナップショットがある場合:

"blockDeviceMappings": [
                        {
                          "deviceName": "/dev/xvdb",
                          "ebs": {
                            "deleteOnTermination": false,
                            "encrypted": true,
                            "snapshotId": "snap-90gh20c09281b1234",
                            "volumeType": "gp2"
                          }
                        }
                      ]

1.3.1. クロスアカウントKMSキーを使用してAutoSpotでEBSボリュームを暗号化

紹介
前のセクションではKMSキー、使用目的、Elastigroupと共に使用する方法について説明しました。すべてが同一なAWSアカウント内で遂行されるため、正常に動作します。簡単なクロスアカウントの紹介は次の通りです。

いくつかの仮定で始めます。

  • 前段階で明示された通りにキーを作成しました。
  • アカウントactKeyは、KMSキーがあるアカウントを示します。
  • アカウントactInstは、インスタンスを実行するアカウントを示します。
  • キーとインスタンスは必ず同一リージョンでなければなりません。

遂行段階は次の通りです。

  1. actKeyアカウントでKMSキーを作成します。

  2. 主な属性内の外部アカウントにアカウントactInstのアカウント番号を追加して変更事項を保存します。

  1. 主な属性でポリシー表示に切り替えた後、次の条件を除去して変更事項を保存します。

  2. Key ARNを保存します。.

  3. actInstアカウントにポリシーを作成して次のJSONを入力します。Key ARNを変更します。

{
                        "Version": "2012-10-17",
                        "Statement": [
                            {
                                "Sid": "AllowUseOfTheKey",
                                "Effect": "Allow",
                                "Action": [
                                    "kms:Encrypt",
                                    "kms:Decrypt",
                                    "kms:ReEncrypt*",
                                    "kms:GenerateDataKey*",
                                    "kms:DescribeKey"
                                ],
                                "Resource": [
                                    ""
                                ]
                            },
                            {
                                "Sid": "AllowAttachmentOfPersistentResources",
                                "Effect": "Allow",
                                "Action": [
                                    "kms:CreateGrant",
                                    "kms:ListGrants",
                                    "kms:RevokeGrant"
                                ],
                                "Resource": [
                                    ""
                                ]
                            }
                        ]
                    }
  1. 次の段階は、AWS CLIを使用してactInstアカウントで遂行されます。AWS CLIに構成されたユーザーが誰なのか確認が必要です。

  2. 作成したポリシーを以前段階のユーザーに添付します。

  3. ロールARNコピー(右上の人型アイコンをクリックした後、AutoSpotコンソールで探すことができる。)

  4. ターミナルで次のコマンドを実行します。(AutoSpotロールに対する権限を付与する作業)

aws kms create-grant –key-id –grantee-principal –operations “Encrypt” “Decrypt” “RetireGrant” “DescribeKey” “GenerateDataKey” “GenerateDataKeyWithoutPlaintext” “ReEncryptFrom” “ReEncryptTo” “CreateGrant” –name spotinst-grant

  1. AWSServiceRoleForEC2Spotロールを探し、該当のARNをコピーします。

  2. ターミナルで次のコマンドを実行します。(スポットインスタンスロールに対する権限を付与する作業)

aws kms create-grant –key-id –grantee-principal –operations “Encrypt” “Decrypt” “RetireGrant” “DescribeKey” “GenerateDataKey” “GenerateDataKeyWithoutPlaintext” “ReEncryptFrom” “ReEncryptTo” “CreateGrant” –name spot-grant

これで準備はほとんど終わりました。Elastigroupの構成でKMSキーIDをBDMセクションに追加できます。
https://api.spotinst.com/elastigroup-for-aws/concepts/compute-concepts/block-device-mapping/

 "blockDeviceMappings": [
                        {
                          "deviceName": "/dev/sdf",
                          "ebs": {
                            "encrypted": true,
                            "kmsKeyId": "",
                            "volumeSize": 20
                          }
                        }
                      ]

Elastigroupを作成する

紹介

このチュートリアルは、空きテンプレートを使用してElastigroupを作成する内容を説明します。空きテンプレートは、Creation WizardUses Casesで探すことができます。AWSのElastic BeanstalkまたはAutoScaling Groupのような既存ワークロードを基にElastigroupを作成するには、Uses Casesでワークロードタイプを選択してワークロードを読み込みます。Onboarding WizardでElastigroupを作成するには、Create an Elastigroup from Scratchを選択します。

1段階:一般設定(General Settings)
* Elastigroupの名前を入力してリージョンを設定します。
* ElastigroupにTarget、Minimum、Maximumの容量を入力します。

2段階:Compute設定
* Elastigroupを実行するVPCを選択して、ご希望のマーケットでスポットインスタンスを使用できない場合、使用する製品タイプ及びオンデマンドも選択します。
* インスタンスを始める際にElastigroupが考慮するアベイラビリティーゾーンを選択します。節約効果を極大化するためにElastigroupは、選択したアベイラビリティーゾーンでスポットインスタンスを始めるコストを計算します。Elastigroupが考慮するスポットインスタンスマーケットの数を増やすためにアベイラビリティーゾーンを複数選択することを推奨します。
* スポットインスタンスを始める時、Elastigroupが考慮するインスタンスタイプを選択します。Elastigroupにできるだけ多いスポットインスタンスマーケットのオプションを提供するために複数のインスタンスタイプを選択することを推奨します。

参考:Elastigroupにより多くのスポットマーケットを提供し、価格を削減してアベイラビリティーを上げるために複数のアベイラビリティーゾーン及び複数のインスタンスタイプを選択することを推奨します。

  • インスタンスに使用するImage、Security Groups、Key Pair (選択事項)を選択します。

3段階:スケーリングポリシーを構成する(選択事項)
Target Scaling PolicyまたはSimple Scaling Policyを選択的に作成します。Elastigroupでスケーリングする方法は、こちらを参考します。

4段階:検討及び作成
これであとは設定を検討してElastigroupを実行するだけとなりました。

VPCにEC2-Classicインスタンスを接続する

紹介
EC2-Classicで実行中のインスタンスをVPCセキュリティグループに接続するには、Elastigroup構成にユーザー指定のユーザーデータスクリプトを使用してインスタンスをVPCに登録してください。

1段階:IAMロールを作成する
以前の段階でポリシーに次の権限があるインスタンスのIAMロールを作成してください。

{
                        "Version": "2012-10-17",
                        "Statement": [
                            {
                                "Sid": "Stmt1500534977000",
                                "Effect": "Allow",
                                "Action": [
                                    "ec2:AttachClassicLinkVpc"
                                ],
                                "Resource": [
                                    "*"
                                ]
                            }
                        ]
                    }

このIAMロールは、Additional settings – Compute TabのElastigroup構成で選択します。

2段階:ユーザー定義スクリプトを入力する
ユーザー定義のスクリプト入力はAdditional settings – Compute TabのUser-Dataフィールドに入力します。

#!/bin/bash -x
                    echo "Running sportInst user data script" >> /var/log/cloud-init-output.log
                    instance_id=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
                    echo " Installing pip"
                    yum install -y python-pip
                    echo "Make sure aws-cli installed and up-to-date" >> /var/log/cloud-init-output.log
                    pip install awscli --upgrade --user
                    export PATH=~/.local/bin:$PATH
                    echo "Attach the EC2-Classic instance to VPC"
                    aws ec2 attach-classic-link-vpc --instance-id $instance_id --vpc-id VPC_ID --groups SECURITY_GROUPS --region REGION
  • VPC_ID、SECURITY_GROUPS、REGIONを適用する値に変更します。グループ作成を続けるか、グループ構成をアップデートします。

AutoSpotのポリシーをアップデートする

紹介

AutoSpotアカウントを設定する間、CloudFormationスタックを使用してAWSアカウントにAutoSpotのIAMロールポリシーを登録します。このポリシーには、AutoSpotのアカウントがAWSリソースを処理するのに必要な権限に関する内容を含んでいます。

IAMロールのAWS ARNに対する詳細は、下のリンクを参考してください。
https://console.spotinst.com/#/settings/account/general

参考:このポリシーは、最新バージョンにアップデートすることが重要です。最新バージョンは、こちらを参考してください。

1段階:AWS IAM管理コンソールにログイン
AWSコンソールにログインしてIAM管理コンソールに移動します。

2段階:ユーザーのAutoSpotポリシー検索
サイドメニューでポリシーをクリックします。

AutoSpotポリシーを検索して選択します。

3段階:ポリシーを修正する
ポリシー画面でアクセス権限 タブを選択した後、JSONを見てポリシーの編集 をクリックします。

これでJSONを除去してAPI文書で使用可能な最新ポリシーに替えることができます。

4段階:確認及び保存

AutoSpot IAMのポリシー制限

紹介

AutoSpotは、安全なクロスアカウントロールを使用してAWSアカウントにアクセスします。このロールは、制限されたポリシーリストが含まれているため、AWSリソースを基にこのポリシーリストを制限して特定リージョンやVPCまたはタグを基準に制限する条件を適用できます。
追加例はAWS文書を参考し、IAMポリシーを使用してAWS領域に対するアクセスを簡単に制御する方法は、こちらをクリックします。

各例に対する例は下記に説明されています。

例1:
ポリシーを特定VPCを制限する場合、次の条件を追加できます。

{
                      "Statement": [
                        {
                          "Sid": "ExampleForRestrictVPC",
                          "Action": [
                            "ec2:RequestSpotInstances"
                          ],
                          "Resource": [
                            "*"
                          ],
                          "Condition": {
                            "StringEquals": {
                              "ec2:vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID"
                            }
                          },
                          "Effect": "Allow"
                        }
                      ],
                      "Version": "2012-10-17"
                    }

例2:
タグを基にポリシーを制限します。

{
                      "Statement": [
                        {
                          "Sid": "ExampleForRestrictTags",
                          "Action": [
                            "ec2:RequestSpotInstances"
                          ],
                          "Resource": [
                            "*"
                          ],
                          "Condition": {
                            "ForAllValues:StringLike": {
                              "aws:TagKeys": [
                                "foo",
                                "bar"
                              ]
                            }
                          },
                          "Effect": "Allow"
                        }
                      ],
                      "Version": "2012-10-17"
                    }

例3:
ポリシーを特定リージョンに制限します。

{
                      "Statement": [
                        {
                          "Sid": "ExampleForRestrictRegion",
                          "Action": [
                            "ec2:RequestSpotInstances"
                          ],
                          "Resource": [
                            "*"
                          ],
                         "Condition": {
                            "StringEquals": {
                              "ec2:Region": "us-west-1"
                            }
                          },
                          "Effect": "Allow"
                        }
                      ],
                      "Version": "2012-10-17"
                    }

また、上の条件文を使用して下記のように特定AWSリソースを制限できます。

1.7.1. ノースバージニアリージョンのEC2インスタンスに対するアクセスを制限します。

{
                      "Statement": [
                        {
                          "Sid": "GeneralSpotInstancesAccess",
                          "Action": [
                            "ec2:RequestSpotInstances",
                            "ec2:CancelSpotInstanceRequests",
                            "ec2:CreateSpotDatafeedSubscription",
                            "ec2:Describe*"
                             ......
                             ......
                             ......
                             ......
                          ],
                          "Effect": "Allow",
                          "Resource": [
                            "*"
                          ],
                          "Condition": {
                            "StringEquals": {
                              "ec2:Region": "us-east-1"
                            }
                          }
                        }
                      ],
                      "Version": "2012-10-17"
                    }

1.7.2. 特定VPCでElasticBeanstalk環境に対するアクセスを制限します。

{
                      "Statement": [
                        {
                        "Sid": "GeneralAccessElaticBeanstalk",
                        "Action": [
                          "elasticbeanstalk:Describe*",
                          "elasticbeanstalk:RequestEnvironmentInfo",
                          "elasticbeanstalk:RetrieveEnvironmentInfo",
                          "elasticbeanstalk:ValidateConfigurationSettings",
                          "elasticbeanstalk:UpdateEnvironment",
                          "cloudformation:GetTemplate",
                          "cloudformation:DescribeStackResources",
                          "cloudformation:DescribeStackResource",
                          "cloudformation:DescribeStacks",
                          "cloudformation:ListStackResources",
                          "cloudformation:UpdateStack",
                          "cloudformation:DescribeStackEvent",
                          "cloudformation:DescribeStackEvents",
                          "logs:PutRetentionPolicy",
                          "logs:createLogGroup"
                          ],
                          "Effect": "Allow",
                          "Resource": [
                            "*"
                          ],
                          "Condition": {
                            "StringEquals": {
                              "ec2:vpc": "arn:aws:ec2:REGION:ACCOUNTNUMBER:vpc/VPC-ID"
                            }
                          }
                        }
                      ],
                      "Version": "2012-10-17"
                    }

例4:
AutoSpotを使用して節約できるコストを確認する場合、 Spot Analyzer のみ使用でき、次の通りポリシーが必要です。

{
                      "Statement": [
                        {
                          "Sid": "SpotAnalyzer",
                          "Action": [
                                    "ec2:Describe*",
                                    "ec2:MonitorInstances",
                                    "elasticloadbalancing:Describe*",
                                    "cloudwatch:GetMetricStatistics",
                                    "cloudwatch:ListMetrics",
                                    "iam:ListRoles",
                                    "iam:ListAccountAliases",
                                    "iam:GetPolicyVersion",
                                    "iam:ListPolicies",
                                    "elasticbeanstalk:Describe*",
                                    "autoscaling:Describe*",
                                    "ecs:List*",
                                    "ecs:Describe*"
                                    ],
                          "Effect": "Allow",
                          "Resource": [
                            "*"
                          ]
                          }
                        ],
                        "Version": "2012-10-17"
                    }

追加情報は、AWS文書を参考します。

ドメインにインスタンスを登録する

ドメインにインスタンスを登録するには、Computeタブ下のElastigroup設定にユーザーデータスクリプトを適用してください。

スクリプトが遂行する作業:
1.スクリプトが何も行わない場合、コンピューターがドメインに既に構成員であるかを確認します。
2.ネットワーク インターフェイスにDNSサーバを設定します。(ドメインを検索する時に必要です。)
3.インスタンスをドメインに追加します。
4.システムを再起動してください(変更事項が適用されます。)
次のUser Dataを追加します。(下の例は、Windowsシステムに適用されます。)

<powershell>
                    $isMember = (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
                    if (!$isMember)
                    {
                    $dnsserver = "10.0.0.1"
                    $domain = "myDomain"
                    $password = "myPassword!" | ConvertTo-SecureString -asPlainText -Force
                    $username = $domain\myUserAccount
                    $ou = "OU=testOU,DC=domain,DC=Domain,DC=com"
                    $nic = Get-NetAdapter
                    Set-DNSClientServerAddress –interfaceIndex $nic.ifIndex –ServerAddresses ($dnsserver)
                    $credential = New-Object System.Management.Automation.PSCredential($username,$password)
                    Add-Computer -DomainName $domain -Credential $credential -OUPath $ou
                    shutdown -r -t 00
                    }
                    </powershell>

次の値は、ユーザーの仕様に合わせて変更してください。

$dnsserver,
                    $domain,
                    $password,
                    $username – just the ‘myUserAccount’ part
                    $ou

参考:$ouは、選択事項です。必要ではない場合、この行を削除してAdd-Computerコマンドで-ouフラグ及び値を除去します。

参考:このスクリプトでは、インスタンスにネットワーク インターフェイスが1つのみあると仮定します。多少修正が必要な場合に備えて必要な場合、当社にお問い合わせください。

ElastigroupメトリックスをCloudWatchに掲示

Elastigroupは、選択的にCloudWatchにユーザー指定メトリックスを掲示できます。このようなメトリックスは、DataDogまたはGrafanaのような他社ツールにデータをレポートするのに使用されます。
ElastigroupはAWSアカウント別に次の通りメトリックスを報告します。
- #instances (OD and Spot) per instance typeCPU
- Memory
- Disk
- NetworkIn
- NetworkOut
このメトリックスのユーザー定義ネームスペースは、Elastigroup ID及びインスタンスタイプの2つの次元を持つAutoSpotです。このメトリックスをCloudWatchに掲示するには、IAMポリシーに次の権限を追加します。
cloudWatch : PutMetricData

この作業が完了したら、AutoSpotがElastigroupのメトリックス掲示を開始するようにアカウント管理者にお問い合わせください。AutoSpotは、ユーザーのデータプライバシーを重要視しています。したがって、CloudWatchのような他社ツールのデータを掲示する前にユーザーの確認を受けます。

WordPress On Spot:ステップバイステップガイド

紹介
このステップバイステップガイドは、スポットインスタンスからWordPressでウェブサイトを実行するように手助けします。WordPressのウェブサイトは、自動拡張されるElastigroupにインストールされます。そしてEC2スポットインスタンス構成及び開始、WordPressのユーザー名及びパスワード読み込み、WordPressの管理ポータルログインなどを遂行します

前提条件:このチュートリアルを始める前に有効な資格証明を持つAutoSpotコンソールにアカウントがあるかを確認します。

1段階:Elastigroupを作成する

Elastigroupに適する使用例を選択して Launchをクリックします。この作業は、ユーザーのために初期設定を処理します。 Empty Templateオプションを選択します。

[Elastigroupの一般情報]

Name – Elastigroupの名前を選択します。(顧客が管理する特定ワークロードを基にElastigroupの名前を指定することを推奨します)。
Region – Elastigroupが運用されるリージョンを選択します。
Description – Elastigroupに対する追加説明を定義します。

[Capacity]

Elastigroupのご希望の容量設定
Target – Elastigroupで実行中のインスタンス数/vCPU重み付け
Minimum – 「scale down」ポリシー作業の場合、グループで実行中のインスタンスの最小数/vCPU重み付けです。
Maximum – 「scale up」ポリシー作業の場合、グループで実行中の最大インスタンス数/vCPU重み付けです。

[Compute Tab]

ここでネットワーク、実行構成、 Compute関連仕様などを設定できます。
VPC – VPCネットワークを選択します。
Product – OSを選択します。確実ではない場合、Linux / UNIXを選択してください。アカウントにEC2-Classic及びVPCネットワークがすべて有効化されている場合、このフィールドでAmazon VPCで明示的に選択します。
On-Demand Type – オンデマンドインスタンスタイプを選択します。このタイプは、Elastigroupが価格と性能を基準に最高のスポットタイプをベンチマークします。 Strategyタブで Fallback to On-Demandオプションが有効化の場合、該当のインスタンスタイプを使用します。

VPCを設定した後、使用するアベイラビリティーゾーンを選択できます。

Availability Zones - インスタンスを開始するアベイラビリティーゾーンを選択します。Elastigroupに対して最小一つ以上のアベイラビリティーゾーンを選択できます。

参考:できるだけ多くのアベイラビリティーゾーンを選択することを推奨します。そうすると、アルゴリズムがより多様で様々なマーケットで入札できます。

Selecting subnets - 各アベイラビリティーゾーンでご希望のサブネットを選択します。

[Spot Types]

Elastigroup内でスポットインスタンスタイプを選択します。ご希望のスポットタイプを選択すると、 SpotMarket Scoringも確認できます。マーケットの変化を確認でき、スコアが高いほどいいです。

参考:できるだけ多くのインスタンスタイプを選択することを推奨します。多くのインスタンスタイプを選択すると、ユーザーのアルゴリズムがより多様で様々なマーケットで入札できます。

Image – AWSアカウントにログインしてAMIマーケットプレイスに移動します。次のAMIを選択し、該当リージョンに特定IDを貼り付けます。

Security Group – このElastigroupから始まったインスタンスと接続するセキュリティグループを一つ以上指定します。
Key Pair – インスタンスと接続するキーペア名を指定します。
Tags – 大小文字を区分するキー値のペア(key-value pair)で構成されたタグ指定

[Scaling]
グループにスケーリングポリシーを追加してロードが増加する場合または使用量が多くない時間によってコンピューティング容量を調整できます。必要に応じてグループ容量変更を保障するため、ご希望通りにポリシーを設定できます。ご希望のスケーリングルールを追加できます。スケーリングルールにCloudWatchのメトリックスを使用します。

2段階:環境テスト

    1. インスタンスが実行されたら、WordPressウェブサイトをテストできます。Elastigroupの Instanceでインスタンスに対するパブリックIPを探します。
    1. パブリックIPをウェブブラウザの新しいタブにコピーすると、Hello Worldのブログページが表示されます。

3段階:ウェブサイト修正

WordPressサイトを作成して実行したため、管理ページにログインしてサイトをご希望通りに修正できます。パスワードを探すには、次の段階を行います。

  1. ウェブブラウザから、もう一度EC2管理コンソールに切り替えます。WordPressインスタンスを選択して Actionsボタンをクリックします。ドロップダウンメニューで Instance Settingを選択した後、 Get System Logをクリックします。

  2. システムログ画面で下にスクロールしてハッシュタグで囲まれたパスワードを検索します。

    1. パスワードを探してから、WordPress Hello Worldページにアクセスする際に使用したタブにもう一度切り替えます。URLの端に/adminを追加すると、54.192.32.144/adminと似た形になります。Enterを押します。ログファイルで読み込んだUsernameのユーザーとパスワードを入力します。

おめでとうございます。WordPressサイトの作成および実行に成功しました。これで、ご希望どおりに管理、構成、ユーザー定義が行えます。

グループパラメーターを基にAPI応答をフィルタリングする

紹介

AutoSpot APIを使用する間、タグ値を基にElastigroupリストのように長い出力を得ようとする応答をフィルタリングできます。API応答をフィルタリングするには、jqフレームワークの使用を推奨します。https://stedolan.github.io/jq/から付加機能を受け取ることができます。

1段階:
システムにjqをインストールします。ダウンロードをクリックしてインストールします。

2段階:
追加されたjqクエリと curlでAPI呼び出しを実行します。

例1:

curl -s -X GET -H Authorization: Bearer ${token} 
                    https://api.spotinst.io/aws/ec2/group | 
                    jq '.response|.items[]|select(.compute|.launchSpecification|.tags[]|.tagValue| test(staging))'

API呼び出しを実行すると、タグ値が stagingと同じElastigroups構成が表示されます。

例2:

curl -s -X GET -H Authorization: Bearer ${token}
                    https://api.spotinst.io/aws/ec2/group | 
                    jq '.response|.items[]|select(.compute|.launchSpecification|.tags[]|.tagValue| test(TagValue) ) | {name: .name, id: .id}'

タグ値が TagValueと同じElastigroupsの名前とIDが表示されます。より多くの演算子と追加オプションは、次のリンクを参考してください。
https://stedolan.github.io/jq/tutorial/

AWS用Ocean

Kubernetes

Ocean Cloud Clusterを作成する

AutoSpot Oceanはすべてのポッド、コンテナ、アプリケーションの要求事項に合わせて インフラ容量とサイズを自動で調整するKubernetesの管理インフラサービスです。

このチュートリアルは、 AutoSpot Consoleを使用してOceanクラスターを作成する内容を説明します。 Ocean Creation Wizardを開始するには、AutoSpotアカウントにログインして Ocean Menuの Cloud Clustersで Create Clusterを選択します。

段階:クラスターを作成する
クラスターを作成するため、使用例のテンプレートを選択します。

2段階:一般設定
クラスター名識別子を入力してリージョンを選択します。
Auto Scalingグループまたはインスタンスを選択してクラスター構成を読み込みます。

3段階: Compute設定
Ocean Creation Wizardで読み込んだ設定を確認または変更します。

4段階:接続性
AutoSpotトークンを作成したり、既存のトークンを使用します。
AutoSpot Controller Podをインストールします。 AutoSpot Controller PodとOceanの詳細は、こちらを参考してください。
Test Connectivityをクリックしてコントローラー機能を確認します。

これで準備はすべて終わりました。Oceanがクラスターに最もコスト効率性のある容量とサイズを提案してくれます。

既存のElastigroupをOceanでマイグレーションする

次のチュートリアルでは、Kubernetesクラスターを実行する既存のElastigroupをOceanに読み込む方法を説明します。

参考 Oceanは、全体のK8クラスターノードを管理します。ノードが複数のElastigroupに分散されていると、このすべてのElastigroupを一度にマイグレーションしなければなりません。

前提条件
このチュートリアルを完了するには、次の情報を収集します。

  1. 対象Kubenetesクラスターと接続されたElstigroupsリスト
    各Elastigroupに対して後で使用できるように次のデータを保存します。

    • Autoscaler labels
    • User-data script
    • AMI id
  2. Elastigroups中の一つから Cluster Identifier (ID)を取得します。この識別子は、Kubernetesクラスターにインストールされた既存の AutoSpot ControllerをOceanに接続するのに使用されます。

  3. Elastigroup内のインスタンスの Instance ID。選択したインスタンスは、クラスター構成を読み込むのに使用されます。

1段階:インポートされたElastigroupsにAutoScalingを無効化する

一番目の段階は、ソースグループでAutoScaling機能を無効化してOceanを代わりに設定することです。

  • Kubernetesクラスターに構成されたElastigroupに移動します。

  • 各グループに対して下の段階を実行します。

    • Actionsメニューで Edit Configurationをクリックします。
    • Advancedセクションまで下にスクロールします。
    • Autoscaler選択を除去します。
    • 検討ページに移動し、 Updateをクリックして変更内容をコミットします。

2段階: Ocean Clusterを作成する

  • 左側のサイドバーでOceanの下にある Cloud Clusterを選択します。
  • 右上の Create Clusterボタンをクリックして Ocean Creation Wizardを開きます。
  • クラスター名とElastigroupのクラスター識別子を入力します。
  • Oceanクラスターを配布するリージョンを選択します。
  • クラスター構成を読み込むインスタンスIDを入力します。
  • Nextをクリックします。

  • Ocean Creation Wizardが読み込んだ構成を確認、または修正します。

  • Test Connectivityをクリックしてコントローラー機能を確認します。

3段階: Ocean Custom Launch Specificationsを構成する

次の段階は、現在のElastigroupに構成された他のラベルセットを処理できるようにOcean Clusterを構成することです。

  • Ocean Clusterに移動します。
  • Actionsメニューをクリックした後、 Custom Launch Specificationsを選択します。
  • ワーカーノードを実行するそれぞれのElastigroupで
    Add Specificationをクリックします。
    前提条件ですでに集めておいたラベルセットを追加します。
    マッチングされる User-DataAMIを設定します。
  • Save Changesをクリックして変更事項を適用します。

4段階:ソースElastigroupのダウンスケール

最後の段階は、既存のワーカーノードを縮小してOceanがクラスター要求事項に合う適切なインスタンスを開始するようにすることです。

  • Kubernetesクラスターに構成されたElastigroupに移動します。
  • Actionsメニューで Manage Capacityをクリックします。
    *対象容量削減

参考:バッチを10-20%ずつ削減して目標容量が完全に縮小されるまで、この作業を繰り返すのが良いです。

  • Ocean Clusterに移動して必要なリソースをスピンアップしてクラスターで進行中のポッドを処理するかを確認します。

5段階:Ocean準備完了
使用中に問題がある場合、チャットやメールで当社の技術サポートチームにお問い合わせください。

新規EKSクラスターと関連のOceanクラスターを始める

新しいEKSクラスターでOceanを実行する

このチュートリアルは、Amazon EKSを実行しOceanを作成してクラスターワーカーノードを管理する要求事項に対して説明します。

前提条件:
1. kubectl (Amazon EKS-vended)
2. awscli 1.16.18+
3. aws-iam-authenticator

1段階:OceanとEKSクラスターを作成する

CloudFormation
新しいOcean及びEKSクラスターを作成するには、下のリンクでCloudFormationテンプレートを実行してテンプレートのパラメーターを入力した後、 Createボタンをクリックします。

テラフォーム
新規OceanとEKSクラスターを作成するために次のテラフォームプランをダウンロードした後、実行します。
ダウンロード: ocean_eks.tf

2段階:Oceanが管理するワーカーノードをEKSクラスターに接続するように構成する

  • 次のコマンドを使用してEKSクラスター構成をダウンロードします。
    aws eks update-kubeconfig --name $CLUSTER_NAME
  • kubectlをEKSクラスターに接続します。
    kubectl get svc
  • AutoSpot Kubernetes Controllerをインストールします。

3段階:AWS Authentication Config-Mapアップデート

  • AWS authenticator configuration map을 다운로드합니다.
    curl -O https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/aws-auth-cm.yaml ● AWS authenticator configuration mapをダウンロードします。
    curl -O https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/aws-auth-cm.yaml

  • aws-auth-cm.yamlファイルで<ARN of instance role (not instance profile)>スニペットを EKS cluster CloudFormation StackのOutputタブ のNodeInstanceRole値で代替します。

  • アップデートされたaws-auth-cm.yamlをクラスターに適用します。
    kubectl apply -f aws-auth-cm.yaml

参考:このファイル内にある他の行は修正しないでください。

これでOceanが Worker Node を管理し、リソース使用を最適化してスポットインスタンスのコスト削減を極大化するのを支援してくれます。

問題解決

  • aws-iam-authenticatorエラーが発生する場合は、実行ファイルが$PATH経路にないためkubectlがAWS EKSに構成されていないためです。詳細は、Configure kubectl for Amazon EKSをご参考ください。
  • 次のコマンドでクラスターノードを並べます。
    kubectl get nodes

KOPSを使用してElastigroupをOceanにアップグレードする

このチュートリアルは、既に作成されたElastigroupをKOPSでOceanにアップグレードするプロセスを説明します。

Oceanは初めてですか?

AutoSpot Oceanは、基本VMインフラを使用する時に運用オーバーヘッドに対する心配なくK8コンテナを実行するように手助けします。スポットインスタンスと予約インスタンスを活用することで、クラスターの可視性を上げてコストを大幅に削減できます。Oceanの詳細情報は、 Ocean Product Pageをご参考ください。KOPSの関連情報は、こちらをクリックします。

参考:Oceanの使用に満足できない場合、Elastigroupにいつでも戻ることができます。

前提条件:

  1. KOPSバージョン:1.11.1バージョン以上
  2. アップグレードするElastigroupのリスト

1段階:KOPS機能フラグの変数修正

この段階では、AutoSpotのKOPS公式供給者バージョンを使用してK8を作成したという仮定の下に進行します。

  • AutoSpotでKOPSの非公式バージョンを使用する場合、ASGを公式バージョンでマイグレーションすることを推奨します。公式バージョンは、AutoSpot UIから視覚化及びK8クラスターの可視性を最適化します。公式バージョンにマイグレーションする作業は、この文書の3段階をご参考ください。
    AutoSpotスクリプト位置を探して00-env.shファイルの環境変数を修正します。

次の変数を修正します。
export KOPS_FEATURE_FLAGS=+Spotinst,SpotinstOcean

2段階:現在のElastigroupをUIからOceanにアップグレードする

AutoSpot Console に移動してアップグレードするElastigroupを選択します。

右上のメニューで Upgrade to Ocean アイコンをクリックした後、ポップアップ ウィンドウで「Upgrade 」を選択します。

アップグレードプロセスの有効性を検査する次のメッセージが完了されるまで待機します。

3段階:Oceanクラスター名を修正する

OceanクラスターページでActions->Edit Clusterの順にクリックします。

REVIEWタブでJSON表示に切り替えます。

Edit modeのトグルボタンをクリックします。

接頭辞Ocean::を除去してグループ名を変更します。

続いてKOPSがアップグレードされたOceanクラスターを管理します。インフラに対する心配なくサーバーレス環境を経験できます。

アラーム:複数のインスタンスグループを使用する場合、このプロセスをインスタンスグループ別に実行してください。


コストの最適化

使用量、性能、コスト分析でRI購買が必要なインスタンスを推薦する機能を提供します。インテリジェント検索機能で検索したインスタンス中、RI購買が必要な項目を確認することができます。また、購買したAWS RIの使用現況を分析するデータを提供します。

RI推薦

RI推薦は、ユーザーの現在使用量を基に最適の推薦値を提示する機能です。削減額が最も大きいインスタンスタイプ及び購買数を推薦して、削減効果がないインスタンスは推薦リストから除きます。また、購買した予約インスタンス使用量をチャート及びシミュレーション方式で視覚化してより簡単に確認できます。

    1. メイン画面 > コストマネジメント > コストの最適化 > RI推薦メニューをクリックします。
    1. RI推薦メニューは、次の通り構成されています。
項目 説明
まとめ
毎月節約可能額とRI購買推薦数情報と共に
EC2使用時間分析でRI購買の推薦リストが表示されます。
詳細画面 購買推薦インスタンスをクリックすると、該当インスタンスに対する詳細情報が表示されます。

まとめ

RI推薦のトップ画面では、RI推薦インスタンスを購買した場合、節約可能額とRI購買推薦数などのまとめ情報を表示します。

RI購買オプション 説明
推薦 RI分析で推薦するRI購買オプション
最低価格 節約額が最も大きいRI購買オプション
最多使用 サービスユーザー基準に最多使用されているRI購買オプション
項目 説明
毎月の節約可能額 推薦するRIリストをすべて購買する場合のEC2の予想削減額
RI購買推薦 コスト節約を最大化するためのRI購買の推薦項目数

RIまとめ画面の上でユーザーが予約インスタンスが必要なアカウントを選択してデータ分析期間を決めることができる。期間は7日、14日、30日、60日、90日単位で設定できます。

RIオプション選択

購買するインスタンスタイプ、期間、プリペイ条件に対する割引率及び金額情報を表示し、プラン期間は1年と3年単位で提供されます。提示されたRIオプション中にユーザーの状況に合うオプションを選択した後、[適用]ボタンをクリックすると、該当オプションが適用された結果値をまとめ画面に表示します。

購買タイプ 説明
標準 標準タイプを購買する場合、インスタンスタイプは修正できないが、同じタイプの中でインスタンスサイズのような一部の属性を修正できます。
コンバーチブル コンパーチブルタイプを購買する場合、インスタンスファミリー、インスタンスタイプ、OS、テナンシーなどの構成を持つ他のコンパーチブルRIと交換できます
決済オプション 説明
プリペイ無し RIに対するプリペイ額がなく、契約期間内に割引された時間当たりの料金が請求されます。
部分プリペイ 部分プリペイオプションは、一部金額をプリペイして予約インスタンスのプラン期間の間、インスタンスに対する割引された時間当たりの料金を支払います。
すべてプリペイ すべてプリペイオプションは、全体RIのプラン期間に対するコストを一度にプリペイします。このオプションがオンデマンドインスタンス料金と比較すると、割引率が最も大きいです。
  1. 購買する料金タイプ、期間、各プリペイ条件に対する金額情報が表示されます。RIタイプ、期間、決済オプションなどの要求条件を選択して[適用]ボタンをクリックします。
  2. [適用]ボタンをクリックすると、毎月の節約可能額、削減率、購買が必要なRIタイプの数などのまとめ情報が画面に表示されます。

RI推薦

EC2の使用時間を分析してRI購買を推薦するインスタンスタイプ及び個数情報を表示します。

項目 説明
整列 月別節約額
節約額が高い順/低い順に整列します。
アカウント名順
アカウント名順に並べて、昇順/降順に整列します。
フィルター 次の項目を基準にフィルタリングしてRI購買の推薦リストを照会できます。
インスタンスタイプ
リージョン
*OS

推薦されたインスタンス中の一つをクリックすると、該当インスタンスに対する詳細情報を確認できます。

推薦インスタンスの詳細画面

推薦インスタンスリストでインスタンスを選択すると、データ分析期間、毎月の節約可能額などの詳細情報が表示されます。

項目 説明
データ分析期間 ユーザーが設定した期間情報を表示します。7日/14日/30日/60日/90日単位で設定できます。
柔軟性 柔軟性ボタンをクリックすると、RIサイズの柔軟性に対して詳細に説明しているAWSの説明ページに移動します。
毎月の節約可能額 推薦するRIリストをすべて購買する場合のEC2の予想削減額をオンデマンド額と比較して確認できます。比較額をグラフで視覚化して確認できます。
NF(正規化因子) 推薦によってRI購買時に増加する正規化因子情報を表示します。

右上のボックス内にあるインスタンス詳細情報をクリックすると、該当インスタンスに対する基本情報と共に使用中のリソース詳細情報がポップアップで表示されます。


毎月の節約可能額
  • 推薦RI適用時の月換算料金
    推薦するRIを購買する場合の予想額と決済オプションなどを確認できます。

  • オンデマンド額

オンデマンド額は、RIを購買せずに使用した場合の金額を意味します。

  • 節約額

推薦するRIを購買する場合、オンデマンド額比、節約可能額を表示し、現在コスト比、削減率及び損益分岐点を超える予想タイミングも表示します。

  • コスト比較グラフ

現在条件と推薦RIタイプを購買した場合、発生する累計コストを今後3年間予測した比較グラフです。

シミュレーションの左側の画面でご希望の条件を設定した後、[RIコスト計算機]ボタンをクリックすると、シミュレーションが適用された予想額がグラフに表示されます。表示されたシミュレーション額を他の金額(そのまま、RI、オンデマンド)と比較できます。

NF(正規化因子)

最適のNF(最高)購買数を基準として、それに対する予想額及び[そのまま]比の、予想削減額及び比率をチャートで確認できます。

使用中のインスタンスが時間が経過するによって、変動される可能性を考慮して推薦した最適の購買数(最高)ではなく、他の個数に対してもシミュレーションできます。
グラフ表示オプション下の+行追加をクリックして、カスタム値にご希望の値を入力した後、Enterを押すと入力した値に対するシミュレーションが適用されます。

AWS RIステータス

コストマネジメント > コストの最適化 > AWS RIステータス

購買したRIの内訳と正規化のまとめ内容を確認できます。

  1. 購買内訳:購買したRIリストで表示します。「購買内訳」テキストの下のチェックボックスをクリックして現在使用中のRIと使用済みのRIまですべて確認できます。
  2. 正規化まとめ:RI柔軟性を適用したタイプ、リージョン、OS別の正規化した現況を提供します。正規化まとめテーブルの右側にある[詳細表示]ボタンをクリックして選択した内容の詳細情報を確認します。正規化まとめ文句の右側にある[?]アイコンをクリックすると、AWS RI柔軟性と正規化まとめに対して説明したユーザーガイドに移動します。

AWS RI柔軟性の定義

インスタンスサイズ 正規化因子
nano 0.25
micro 0.5
small 1
medium 2
large 4
xlarge 8
2xlarge 16
4xlarge 32
8xlarge 64
10xlarge 80
32xlarge 256

上のテーブルは、AWSで提供したインスタンスサイズ別の正規化数値です。

  • AWS RI柔軟性とは?
    インスタンスサイズによって柔軟性を与え、インスタンスサイズを基に正規化された数値に合わせて同じインスタンスタイプ内の他のインスタンスサイズに変更可能な機能です。

AWSは、リージョンを基にした柔軟なRIを提供します。統合請求で複数のアカウントに使用されても共有されたテナンシーを持つすべてのリージョンLinux/UNIX RIがインスタンスファミリーとAWSリージョン内のすべてのサイズのインスタンスに適用されます。RI管理にかかる時間を短縮してコンピューティングリソースを創意的かつ革新的に使用できます。
すべての新規及び既存のRIは、インスタンスサイズを基に正規化因子でサイズが決まります。

柔軟なインスタンスサイズに対するRI推薦
  • 例えば、c4.8xlargeに対するEC2 RIを持っていると仮定する場合、該当RIは下に列記されたインスタンスのように同じリージョンの共有テナンシーを含むLinux/Unix c4インスタンスのすべての使用量に適用されます。また、1つのc4.4xlarge及び8つのc4.largeインスタンスのようなEC2使用量の組み合わせも含まれます。

    • 1つのc4.8xlargeインスタンス
    • 2つのc4.4xlargeインスタンス
    • 4つのc4.2xlargeインスタンス
    • 16つのc4.largeインスタンス
インスタンスタイプ NF 数字 価格 vCPU メモリ(GiB) 比較
c4.large 4 16 0.07 2 3.75 1.12
c4.xlarge 8 8 0.142 4 7.5 1.136
c4.2xlarge 16 4 0.283 8 15 1.132
c4.4xlarge 32 2 0.565 16 30 1.13
c4.8xlarge 64 1 1.13 36 60 1.13

テーブル:例

  • 実行中のインスタンスより小さいRIを保有している場合、超過分に対して比例割当で計算されたオンデマンド料金が賦課されます。従って、c4.4xlargeに対するRIを購買してほとんどの時間の間c4.4xlargeを使用できますが、時々c4.8xlargeインスタンスに拡張できます。c4.8xlarge使用量のうち一部は購買したRIに適用されますが、残りはオンデマンド料金が賦課されます。
  • 変更された予約インスタンスが適用される場合、変更リクエストタイミングを基準に新しいインスタンスに料金特典が適用されます。例えば、変更が完了した時間が午後9時15分だとしたら、料金特典は午後9時から新しいインスタンスに適用されます。
RI購買時、柔軟性適用

RIを購買する場合、自動で柔軟性機能が適用され購買したインスタンスの他にもファミリー内の同じ柔軟性に限ってRI購買と同じ効果があります。

  • 実行中のインスタンスより大きいRIを保有している場合、小さいインスタンスにRI価格が適用されます。t2.medium(オンデマンド 0.064 / RI 0.024)に対するRIを購買して使用し、t2.small(オンデマンド 0.032)に対して適用される場合、元々はt2.small二つの価格がオンデマンドでは0.064であるため、$15.552やt2.mediumのRI価格を適用され$9.722ほどの削減効果があります。
  • 逆に実行中のインスタンスより小さいRIを保有している場合、大きいインスタンスには超過分に比例してオンデマンド価格が賦課されます。T2.medium RIを一つ購買して使用しているが、t2.large(オンデマンド 0.128)に対して適用される場合、t2.mediumサイズに該当される半分はRI値の時間当たり$0.024に適用され、残り半分は時間当たり$0.064に適用されます。

支払い & 割引

ユーザーの割引、クレジット情報などを確認できます。

割引履歴

コストマネジメント > 支払い & 割引 > 割引履歴

アカウントと請求した月別に割引された履歴を確認できます。

クレジット情報

コストマネジメント > 支払い & 割引 > クレジット情報

クレジット発給現況と使用現況を確認できます。クレジット現況は、全体、または残りの現況だけ見る、に区分して確認できます。


レポート

ユーザーの利便性のために様々なレポートテンプレートを提供し、ユーザーが作成したレポートをダウンロードできます。

コストマネジメント> レポート

計16種類のレポートテンプレートを提供します。
それぞれのレポートテンプレートをクリックすると、右側に下のメニューが表示されます。

  1. レポート情報:レポート作成日とサービスグループ指定、レポートをダウンロードするファイル形式などを設定できます。下の詳細情報セクションではレポート作成日、レポート形式、詳細説明などを確認できます。

  2. ログ:選択したレポートテンプレートで作成したレポートをダウンロードした履歴を表示します。作成されたレポートは再度ダウンロードすることもできます。

  3. 購読:選択したレポートを登録したメールで購読できます。
    各レポートに対する購読は日間、週間、月間に区分して選択でき、時間も指定できます。レポート購読リストは、自分が直接設定した購読と[購読設定]のメニュー権限がある他人が自分を購読者に指定した購読があります。自分が直接設定した購読リストは作成、削除、修正がすべて可能です。[購読設定]メニューで他人が作成した購読に自分が購読者に指定された場合には、照会のみ可能です。

  4. 新規購読を作成
    [購読名]、[ファイル形式]、[言語]、[基準時間]、[購読周期]、[時間]を入力して新規購読を作成できます。作成する際にレポート名、周期、言語設定などで構成された基本購読名が表示されます。同じレポートテンプレートの場合、同じ周期設定はできません。

  5. 購読修正
    [購読名]、[ファイル形式]、[言語]、[基準時間]、[購読周期]、[時間]を修正できます。同じレポートテンプレートの場合、同じ周期設定はできません。


レポート購読

コストマネジメントサービスを使用してレポート購読メニューに対する修正権限があるすべての顧客を対象にレポート自動メール送信機能を提供しています。レポート購読を作成、修正、削除で管理して各購読の送信履歴照会及び送信済みのファイルをダウンロードできます。また、外部メールまたはご希望のメールを作成及び削除して受信者を管理する機能が提供されます。購読を作成または修正する時に受信者を指定できます。購読内訳では、過去の送信履歴だけではなく削除した購読の送信履歴も照会できます。

コストマネジメント> レポート購読

購読リスト

コストマネジメント > レポート購読 > 購読リスト

購読はレポートタイプ別に管理され送信周期(日間、週間、月間)、言語、時間などのオプションを指定して作成します。購読リストでは、購読名、周期、受信者情報、最近送信日情報を照会して「新規購読を作成」を作成したり削除、修正で購読を管理できます。

商品/リージョン別の使用コスト現況商品別の使用量/使用コスト現況サービス別の使用コスト現況名前タグ別のインフラ現況サービスグループ別リージョン別のコスト現況リソース細部単位の使用コスト現況

  1. 購読作成
    購読作成は、4段階のガイドポップアップで行われ1段階、2段階、3段階では各購読の必須情報及び受信者を指定し、4段階では指定した情報を確認して購読名を変更できます。

1.1. 新規購読を作成1段階
- 選択されたレポートタイプによって現在作成されている購読の購読名と周期を確認できます。
- コストマネジメントレポートは、Excel形式のレポートを提供し、請求メニューでエクスポートした請求書レポートの場合には、ExcelとPDF形式をサポートします。
- 言語選択時、送信されるメールテンプレートの言語は選択できます。現在韓国語、英語、中国語を提供します。
- 購読は、レポートタイプによって最大5個まで作成できます。

1.2.新規購読を作成2段階
- 購読周期と送信時間を選択します。
- レポート送信周期は日間、週間、月間の中で選択します。
- レポートの費用算定基準は、先月/今月の中で選択できます。
- 毎日購読レポートの受信を希望する場合、日間タブで時間を選択します。
- 毎週レポートの受信を希望する場合、週間タブで時間と曜日を選択します。
- 毎月レポートの受信を希望する場合、月間タブで日付と時間を選択します。

1.3. 新規購読を作成3段階
- 3段階では、受信者を指定できます。
受信者リストには2種類あります。サービスポータルに権限がある会社に所属しているユーザーリストと手動で登録した「登録された受信者」のユーザーリストで区分されます。
- 受信者は、最大10人まで指定できます。

1.4. 新規購読を作成4段階
- 最後の段階では、基本の購読名を修正できます。
- 設定した情報を確認して修正したい情報がある場合、以前ボタンで修正

  1. 購読修正
    作成された購読を修正する場合、購読リストで修正する購読を選択したら、右端のボールペン型の編集ボタンをクリックします。編集ボタンをクリックした後、ポップアップウィンドウで現在選択されている購読情報を修正できます。

  2. 購読削除
    これ以上購読を希望しない場合、テーブルの右側にある[X]ボタンをクリックして購読を削除します。

    • 購読削除前にもう一度削除有無を確認し、「削除」ボタンをクリックすると削除されます。
    • 削除された購読の送信履歴は、送信された件がある場合、購読内訳で確認できます。

購読内訳

Cコストマネジメント > レポート購読 > 購読内訳

購読設定後、送信した内訳に対して確認し、最近送信(1ヶ月以内)の内訳に対して送信済みのファイルはダウンロードできます。レポート種類、送信日、購読名のフィルター適用が可能です。

  1. レポート名:購読設定時、選択したレポートの名前が表示されます。
  2. 購読名:購読名の設定は、基本で定義された形式に従いますが、別途設定された名前がある場合には該当の名前が表示されます。
  3. 送信日:送信した日付と時間がYYYY-MM-DD HH:mmの形式で表示されます。
  4. ダウンロード:最近の一ヶ月間のファイルは、画面でダウンロードアイコンを通してダウンロードできます。送信に失敗した、または1ヶ月より前のファイルは、ダウンロードボタンがグレーで表示されダウンロードできない状態で表示されます。
  5. 送信状態:メール送信状態によって待機/送信完了/送信失敗に区分して表示されます。
  6. 受信者:該当の購読メール送信時、受信者に指定された受信者の数が表示されます。クリック時、受信者リストのポップアップを確認できます。

登録された受信者

コストマネジメント > レポート購読 > 登録された受信者

直接メールを登録して購読受信者に指定できるユーザーを管理できます。登録時[メール]、[名前]、[説明]項目を入力できます。

  • 名前:登録された受信者の名前が表示されます。
  • メール:登録された受信者のメールアドレスが表示されます。
  • 購読リスト:登録された受信者が受信者として指定された購読数が表示されます。クリック時、該当登録者が受信者に指定された購読リストのポップアップを確認できます。ポップアップには購読名と周期、ファイルダウンロードボタンが照会されます。
  • 説明:登録された受信者に対する説明が表示されます。
  • 修正/削除ボタン:クリック時、ポップアップで該当受信者の名前、説明情報を修正したり受信者の情報を削除できます。受信者削除時、該当受信者が受信していた購読情報も共に削除されるため、これ以上メールは送信されません。
  1. 受信者追加
    [メール]、[名前]、[説明]などの情報を入力して外部メールアドレスを受信者に登録できます。複数人の受信者を登録する場合、情報を入力してから[保存後、受信者を続けて登録]ボタンをクリックすると、受信者を登録してもポップアップが閉じないため、続けて受信者登録ができます。

  2. 受信者編集
    リストで[受信者登録]アイコンをクリックすると、受信者の情報を編集できます。[名前]と[説明]項目に対する修正が可能で[メール]項目は修正できません。
    [メール]修正が必要な場合には[受信者編集]ボタンで受信者情報を削除した後、新しく登録してください。