« Are You Well-Architected? | メイン | AWS CodeCommitのコンソールでコードを閲覧できるようになりました »

【AWS発表】Spotフリート - コンソール、フリートスケーリング、CoudFormationに対応

最近、スポットインスタンスについてたくさん言及されています。お客様は、計算能力に対して自分で値付けできる、ということの威力を理解し始めています!
 
何千ものスポットインスタンスを単一のリクエストで操作できるSpotフリートAPIを5月に発表した後、8月にリソース志向の入札機能を、9月に複数のインスタンスプールにフリートを分散する機能を発表しました。
 
深掘りする前に一つ: 「フリート(fleet, 艦隊)」という用語から、数百〜数千台のインスタンスを一度に実行する最適なモデルだと考えるかもしれませんが、1台、2台、3台、もしくは3,000台のインスタンスといった全ての構成で、フリートの規模にかかわらず適用できます!この後すぐに分かるでしょうが、Spotフリートを作って実行する際に、柔軟で容易なコンソールを使って、複数のスポットキャパシティプールからリソースを構成する事ができます。
 
本日、3つの機能を追加します:新しい Spotコンソールと、実行中のフリートのサイズ変更と、CloudFormation対応です。
 
新しいSpotコンソール(フリート対応)
CLIとAPI対応に加えて、新しいSpot インスタンス起動ウィザードを使ってSpotフリートを設計・起動できるようになりました。この新しいウイザードで、vCPUや独自に決めた単位を使ってフリートを設定し、リソース志向の入札ができます。また、必要なインスタンスタイプを起動するのに十分に高い入札価格を選択しやすくなりました。
 
希望するAMI(デフォルトもしくはカスタム)、キャパシティユニット(ここではInstance)、必要な量のキャパシティを選択するとこから始めます。選択した全インスタンスタイプにまたがった入札価格を指定できますし、インスタンスタイプのオンデマンド価格に対するパーセンテージを指定することもできます。どちらにしても、起動を成功させるに低すぎる入札価格に対して、ウィザードは(警告アイコンで)指摘します:
 
 
要件を満たす価格とインスタンスタイプの組み合わせを見つけたら、それらを選択しNextをクリックして次のページに進みます。
 
カスタムのキャパシティユニットを使うことで、リソース志向の入札もできます。これを使うと、より多くの制御を行えます。まず、フリートに入れたいインスタンスについて、最小要件(vCPU, メモリ, インスタンスタイプ、世代)を指定できます:

 
要件に合致するインスタンスタイプが表示されます。
 
次に、インスタンスタイプごとのキャパシティの総量を制御できます(以前のブログで説明したように、特定のインスタンスタイプが発揮できるスループットの総量から導出されます)。Weighted Capacityの列をクリックして各インスタンスタイプごとに希望するキャパシティ量を入力することで制御できます。
 
 
上のスクリーンショットでは、$0.35/unit 未満の全インスタンスタイプのキャパシティを重み付けしています。
 
これでフリートを設計しましたので、配置戦略(diversified もしくはlowest price)、VPC、セキュリティグループ、アベイラビリティゾーン、サブネット、SSHアクセス用キーペアを選択して設定します:
 
 
Advancedをクリックすることで、特定の日時のの間だけ有効なリクエストを作成することもできますし、その他のオプションも設定できます:

 
その後、自分の設定を見返して、Lauchをクリックします:

私のSpotフリートがコンソールで見えました。これを選択して、どのインスタンスが要件に合致しているかを確認できます:

時々、同じようなフリートのためにリクエストを作成する予定であれば、JSONによる設定をダウンロードできます:

 
フリートサイズ変更
既存のフリートのサイズを変更できる機能も提供します。新しく用意したModifySpotFleetRequestというAPIで、新しいターゲットキャパシティをしていすることで既存フリートを大きくしたり小さくしたりできるようになります。
 
既存フリートの一つのキャパシティを増やした場合、フリートの配置戦略(lowest price もしくはdiversified)にしたがって、新しい入札価格が設定されます。
 
既存フリートの一つのキャパシティを減らした場合、配置戦略に基いて余剰インスタンスはターミネートすることができます。
 
コンソールでもフリートのサイズを変更できます:

 
CloudFormation 対応
Spotフリート作成がCloudFormationテンプレートの対応に加わりました。以下、サンプルです:
"SpotFleet": {
  "Type": "AWS::EC2::SpotFleet",
  "Properties": {
    "SpotFleetRequestConfigData": {
      "IamFleetRole": { "Ref": "IAMFleetRole" },
      "SpotPrice": "1000",
      "TargetCapacity": { "Ref": "TargetCapacity" },
      "LaunchSpecifications": [
      {
        "EbsOptimized": "false",
        "InstanceType": { "Ref": "InstanceType" },
        "ImageId": { "Fn::FindInMap": [ "AWSRegionArch2AMI", { "Ref": "AWS::Region" },
                     { "Fn::FindInMap": [ "AWSInstanceType2Arch", { "Ref": "InstanceType" }, "Arch" ] }
                   ]},
        "WeightedCapacity": "8"
      },
      {
        "EbsOptimized": "true",
        "InstanceType": { "Ref": "InstanceType" },
        "ImageId": { "Fn::FindInMap": [ "AWSRegionArch2AMI", { "Ref": "AWS::Region" },
                     { "Fn::FindInMap": [ "AWSInstanceType2Arch", { "Ref": "InstanceType" }, "Arch" ] }
                   ]},
        "Monitoring": { "Enabled": "true" },
        "SecurityGroups": [ { "GroupId": { "Fn::GetAtt": [ "SG0", "GroupId" ] } } ],
        "SubnetId": { "Ref": "Subnet0" },
        "IamInstanceProfile": { "Arn": { "Fn::GetAtt": [ "RootInstanceProfile", "Arn" ] } },
        "WeightedCapacity": "8"
      }
      ]
    }
  }

 
今すぐ使えます
新しい Spotフリートコンソール、新しいModifySpotFleetRequest 機能、CloudFormation対応は、今すぐ利用可能です!
 
— Jeff; (日本語訳は松尾が担当しました。原文:Spot Fleet Update – Console Support, Fleet Scaling, CloudFormation

コメント

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31