スポットインスタンスを有効化する
スポットインスタンス を利用する場合、標準マシンと比較して大幅な割引価格で未使用のクラウドコンピュータを利用することができます 。Incredibuildでは、クラウド環境でスポットインスタンスを使用するかどうかを決めることができます。
仕組みについて
Incredibuild のスポット オプションを切り替えると、実行したジョブがタスクごとに分割されて並列処理されます。処理は以下のように実行されます。
-
Request - イニシエータ(開発者、CIなど)がワークロードを実行すると、IBはお客様に代わって最も安い市場価格(クラウドベンダーは「現行価格」と呼ぶ)でスポットインスタンスを要求します。
-
Provisioning - スポットインスタンスが作成され起動すると、IBは手持ちのジョブに応じてプロビジョニングを開始します。
-
Spot Interruption recovery - スポットインスタンスがクラウドベンダーによって中断されている場合、IBは中断ビヘイビアを「停止」に設定することで「徐々に」回復し、選択したリージョンでタイプが利用可能になり次第、永続ボリュームでのインスタンスの起動を再試行するようにします。その後、ストレージ ボリュームと既存の Incredibuild キャッシュを使用して新しいスポット インスタンスを起動し、処理を再開します。
-
Completion: ジョブが完了するとイニシエーターにファイルが転送されます。スポット マシンは 1 時間以内に必要になった場合に備えて追加料金なしで待機します (AWS の請求は 1 時間単位)。55 分が経過すると終了します。
詳しくは、AWSドキュメント の「EC2 スポットのベストプラクティス」を参照してください。
スポットを有効にする
Cloud Settings で、[Resource Management] に進み、Use Spot Instances を選択します。
Fallback Machine Types エリアののチェックボックスを使用して、Spot マシンが利用できない場合、Incredibuild がOn-Demand (non-spot) マシンを使用するように設定することも可能です。
Azureを使用している場合は、追加の手順は必要ありません。AWSをご利用の場合、AWS IAMサービスで作成したロール権限の定義を更新する必要があります。
-
この作業が終わっていない場合はロールを作成します。
-
AWS Portal で IAM サービスに移動します。
-
ダッシュボードから [ロール] を選択します。
-
Incredibuild Cloud ソリューション用に作成したロールを選択します。
-
[許可] タブを開きます。ポリシーを選択して [json] を表示し [ポリシーの編集] をクリックします。
-
以下のコードに置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:*",
"servicequotas:GetServiceQuota",
"servicequotas:ListServices",
"servicequotas:ListServiceQuotas"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:CreateServiceLinkedRole",
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": [
"spot.amazonaws.com"
]
}
}
}
]
}
スポット使用時のマシン コストを追跡する
割引額やクラウドマシンのコストを表示および追跡するために、タグの使用をお勧めします。詳しくは、Cloud Settings の [Advanced]タブをご覧ください。
AWSのお客様の場合
タグを使用してお客様のマシンコストを検索には、AWSアカウントで「コスト配分タグ」を有効にする必要があります。次に「Cost Explorer」に移動します。詳細は、「AWS ドキュメント」を参照してください。実際のマシン コストの表示についてはこちらとこちらをご覧ください。
Azure のお客様の場合
実際のマシンコストの表示に関する情報は、こちらで確認できます。.