--- title: VMware Tanzu Application Service for VMs 6.0 (Small Footprint版) on AWSでSpot Instanceを使用するメモ tags: ["AWS", "Cloud Foundry", "Pivotal Cloud Foundry", "Ops Manager", "TAS", "Spot Instance"] categories: ["Dev", "PaaS", "CloudFoundry", "PCF"] date: 2024-07-01T07:26:31Z updated: 2024-07-01T07:27:12Z --- [前の記事](/entries/802)で、VMware Tanzu Application Service for VMs (TAS) をAWSにインストールをしました。 この記事では、Spot Instanceを使用して、EC2のインスタンス使用料金を大幅に下げる方法を紹介します。 **目次** ### VM Extensionの作成 TASで使用するVMでSpot Instanceを使うかどうかは[VM Extension](https://bosh.io/docs/aws-cpi/#resource-pools)で設定できます。 `vm-extension-spot-instance.yml`にspot instanceを使用する定義を記述します。`spot_bid_price`はSpot Instanceのセリの最高価格(USD/hour)です。ここでは$1.0に設定しておきます。 TASで使用するVMでは$1.0には到達しないので、基本的にどんな価格でも競り落とす想定です。 ```yaml cat < vm-extension-spot-instance.yml --- vm-extension-config: name: spot-instance cloud_properties: spot_bid_price: 1.0 spot_ondemand_fallback: true --- EOF ``` VM ExtensionをOps Managerに登録します。 ``` om --env env.yml create-vm-extension -c vm-extension-spot-instance.yml ``` 次にTASの各VMにこのVM Extensionを適用する設定を`additional-vm-extensions-cf.yml`に記述します。 使用する全てのVM Extensionを集約して設定する必要があることに気をつけてください。 ```yaml cat < additional-vm-extensions-cf.yml --- product-name: cf resource-config: compute: additional_vm_extensions: - spot-instance control: additional_vm_extensions: - ssh-lb-security-groups - cloud-controller-iam - spot-instance database: additional_vm_extensions: - spot-instance router: additional_vm_extensions: - web-lb-security-groups - spot-instance --- EOF ``` この設定をOps Managerに反映します。 ``` om --env env.yml configure-product -c additional-vm-extensions-cf.yml ``` ### Apply Changes Ops Managerのダッシュボードから"REVIEW PENDING CHANGES"をクリックします。 "BOSH Director"と"Small Footprint VMware Tanzu Application Service"それぞれの"SEE CHANGES"を確認してください。 image 次のようなDiffになっていてればOKです。 image image 確認したら元のページに戻って"APPLY CHANGES"ボタンをクリックしてください。 設定が反映されたら、EC2のインスタンス一覧からTASのVMの"インスタンスのライフラサイクル"が`spot`になっていることを確認してください。 image またスポットリクエスト一覧からも4つのリクエストを確認することができます。 image 2024/7/1のタイミングでは、以下の金額になっています。 | VM Type | On-Demand Price | Spot Price | |--------------|-----------------|------------| | r5a.large | $0.1370 | $0.0484 | | t3a.micro | $0.0122 | $0.0042 | | t3a.medium | $0.0490 | $0.0170 | 約65%のコスト削減になります。 もし、Spot InstanceのVMが削除された場合、BOSH Directorによって、再度セリに参加して、新しい価格でVMを自動作成します。