Amazon EC2 インスタンスの休止の有効化 - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスの休止の有効化

インスタンスを休止するには、まずインスタンスを起動するときに休止を有効にする必要があります。

重要

インスタンスの起動後に、そのインスタンスの休止を有効または無効にすることはできません。

オンデマンドインスタンスの休止を有効にする

オンデマンドインスタンスの休止を有効にするときは以下のいずれかの方法を使用します。

Console
オンデマンドインスタンスの休止を有効にするには
  1. 手順に従ってインスタンスを起動しますが、次のステップを完了して休止状態を有効にするまでインスタンスを起動しないでください。

  2. 休止状態を有効にするには、インスタンス起動ウィザードで次のフィールドを設定します。

    1. [Application and OS Images (Amazon Machine Image)] (アプリケーションおよび OS イメージ (Amazon マシンイメージ)) で、休止状態をサポートする AMI を選択します。詳細については、「AMI」を参照してください。

    2. [Instance type] (インスタンスタイプ) で、サポートされているインスタンスタイプを選択します。詳細については、「インスタンスファミリー」を参照してください。

    3. [Configure storage] (ストレージを設定) で、[Advanced] (高度) (右側) を選択し、ルートボリュームに関する次の情報を指定します。

      • [サイズ (GiB)] に、EBS ルートボリュームのサイズを入力します。ボリュームは、RAM の内容を格納して予想使用量に対応できるだけのサイズにする必要があります。

      • [Volume type] (ボリュームタイプ) で、サポートされている EBS ボリュームタイプである汎用 SSD (gp2 および gp3) またはプロビジョンド IOPS SSD (io1 および io2) を選択します。

      • [Encrypted] (暗号化) で、[Yes] (はい) を選択します。この AWS リージョンでデフォルトで暗号化を有効にした場合、[Yes] (はい) が選択されます。

      • [KMS key] (KMS キー) で、ボリュームの暗号化キーを選択します。この AWS リージョンでデフォルトで暗号化を有効にした場合、デフォルトの暗号化キーが選択されます。

      ルートボリュームの前提条件の詳細については、「Amazon EC2 インスタンスの休止の前提条件」を参照してください。

    4. [Advanced details] (高度な詳細) を展開し、[Stop - Hibernate behavior] (停止 - 休止状態の動作) で [Enable] (有効にする) を選択します。

  3. [Summary] (概要) パネルでインスタンスの設定を確認し、[Launch instance] (インスタンスを起動) を選択します。詳細については、「コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する」を参照してください。

AWS CLI
オンデマンドインスタンスの休止を有効にするには

run-instances コマンドを使用して、インスタンスを起動します。--block-device-mappings file://mapping.json パラメータを使用して EBS ルートボリュームのパラメータを指定し、--hibernation-options Configured=true パラメータを使用して休止状態を有効にします。

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type m5.large \ --block-device-mappings file://mapping.json \ --hibernation-options Configured=true \ --count 1 \ --key-name MyKeyPair

mapping.json で、以下を指定します。

[ { "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 30, "VolumeType": "gp2", "Encrypted": true } } ]
注記

DeviceName の値は、AMI に関連付けられているルートデバイス名と一致する必要があります。ルートデバイス名を確認するには、次のように describe-images コマンドを使用します。

aws ec2 describe-images --image-id ami-0abcdef1234567890

この AWS リージョンで暗号化をデフォルトで有効にした場合は、"Encrypted": true を省略できます。

PowerShell
AWS Tools for Windows PowerShell を使用してオンデマンドインスタンスの休止を有効にするには

New-EC2Instance コマンドを使用してインスタンスを起動します。EBS ルートボリュームを指定します。最初にブロックデバイスマッピングを定義し、次に -BlockDeviceMappings パラメータを使用してそれをコマンドに追加します。-HibernationOptions_Configured $true パラメータを使用して休止を有効にします。

PS C:\> $ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping PS C:\> $ebs_encrypt.DeviceName = "/dev/xvda" PS C:\> $ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice PS C:\> $ebs_encrypt.Ebs.VolumeSize = 30 PS C:\> $ebs_encrypt.Ebs.VolumeType = "gp2" PS C:\> $ebs_encrypt.Ebs.Encrypted = $true PS C:\> New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType m5.large ` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount 1 ` -MaxCount 1 ` -KeyName MyKeyPair
注記

DeviceName の値は、AMI に関連付けられているルートデバイス名と一致する必要があります。ルートデバイス名を確認するには、次のように Get-EC2Image コマンドを使用します。

Get-EC2Image -ImageId ami-0abcdef1234567890

この AWS リージョンで暗号化をデフォルトで有効にした場合は、ブロックデバイスマッピングから Encrypted = $true を省略できます。

スポットインスタンスの休止を有効にする

スポットインスタンスの休止を有効にするときは以下のいずれかの方法を使用します。中断時のスポットインスタンスの休止に関する詳細は、「スポットインスタンスの中断。」を参照してください。

Console

スポットインスタンスの休止を有効にするには、Amazon EC2 コンソールのインスタンス起動ウィザードを使用します。

スポットインスタンスの休止を有効にするには
  1. 次の手順に従って、インスタンス起動ウィザードを使ってスポットインスタンスをリクエストしますが、次のステップを完了して休止を有効にするまで、インスタンスを起動しないでください。

  2. 休止状態を有効にするには、インスタンス起動ウィザードで次のフィールドを設定します。

    1. [Application and OS Images (Amazon Machine Image)] (アプリケーションおよび OS イメージ (Amazon マシンイメージ)) で、休止状態をサポートする AMI を選択します。詳細については、「AMI」を参照してください。

    2. [Instance type] (インスタンスタイプ) で、サポートされているインスタンスタイプを選択します。詳細については、「インスタンスファミリー」を参照してください。

    3. [Configure storage] (ストレージを設定) で、[Advanced] (高度) (右側) を選択し、ルートボリュームに関する次の情報を指定します。

      • [サイズ (GiB)] に、EBS ルートボリュームのサイズを入力します。ボリュームは、RAM の内容を格納して予想使用量に対応できるだけのサイズにする必要があります。

      • [Volume type] (ボリュームタイプ) で、サポートされている EBS ボリュームタイプである汎用 SSD (gp2 および gp3) またはプロビジョンド IOPS SSD (io1 および io2) を選択します。

      • [Encrypted] (暗号化) で、[Yes] (はい) を選択します。この AWS リージョンでデフォルトで暗号化を有効にした場合、[Yes] (はい) が選択されます。

      • [KMS key] (KMS キー) で、ボリュームの暗号化キーを選択します。この AWS リージョンでデフォルトで暗号化を有効にした場合、デフォルトの暗号化キーが選択されます。

      ルートボリュームの前提条件の詳細については、「Amazon EC2 インスタンスの休止の前提条件」を参照してください。

    4. [詳細設定] を展開し、スポットインスタンスを設定するフィールドに加えて次の操作を行います。

      1. [リクエストタイプ][永続的] を選択します。

      2. [中断動作][休止] を選択します。または、[停止 - 休止動作][有効] を選択します。どちらのフィールドも、スポットインスタンスの休止を有効にします。いずれか 1 つ設定すれば済みます。

  3. [Summary] (概要) パネルでインスタンスの設定を確認し、[Launch instance] (インスタンスを起動) を選択します。詳細については、「コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する」を参照してください。

AWS CLI

スポットインスタンスの休止は、run-instances AWS CLI コマンドを使って有効にできます。

hibernation-options パラメータを使ってスポットインスタンスの休止を有効にするには

run-instances コマンドを使用してスポットインスタンスをリクエストします。--block-device-mappings file://mapping.json パラメータを使用して EBS ルートボリュームのパラメータを指定し、--hibernation-options Configured=true パラメータを使用して休止状態を有効にします。スポットのリクエストのタイプ (SpotInstanceType) は persistent である必要があります。

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c4.xlarge \ --block-device-mappings file://mapping.json \ --hibernation-options Configured=true \ --count 1 \ --key-name MyKeyPair --instance-market-options { "MarketType":"spot", "SpotOptions":{ "MaxPrice":"1", "SpotInstanceType":"persistent" } }

mapping.json の EBS ルートボリュームパラメータを次のとおり指定します。

[ { "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 30, "VolumeType": "gp2", "Encrypted": true } } ]
注記

DeviceName の値は、AMI に関連付けられているルートデバイス名と一致する必要があります。ルートデバイス名を確認するには、次のように describe-images コマンドを使用します。

aws ec2 describe-images --image-id ami-0abcdef1234567890

この AWS リージョンで暗号化をデフォルトで有効にした場合は、"Encrypted": true を省略できます。

PowerShell
AWS Tools for Windows PowerShell を使ってスポットインスタンスの休止を有効にするには

New-EC2Instance コマンドを使用してスポットインスタンスをリクエストします。EBS ルートボリュームを指定します。最初にブロックデバイスマッピングを定義し、次に -BlockDeviceMappings パラメータを使用してそれをコマンドに追加します。-HibernationOptions_Configured $true パラメータを使用して休止を有効にします。

PS C:\> $ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping PS C:\> $ebs_encrypt.DeviceName = "/dev/xvda" PS C:\> $ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice PS C:\> $ebs_encrypt.Ebs.VolumeSize = 30 PS C:\> $ebs_encrypt.Ebs.VolumeType = "gp2" PS C:\> $ebs_encrypt.Ebs.Encrypted = $true PS C:\> New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType m5.large ` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount 1 ` -MaxCount 1 ` -KeyName MyKeyPair ` -InstanceMarketOption @( MarketType = spot; SpotOptions @{ MaxPrice = 1; SpotInstanceType = persistent} )
注記

DeviceName の値は、AMI に関連付けられているルートデバイス名と一致する必要があります。ルートデバイス名を確認するには、次のように Get-EC2Image コマンドを使用します。

Get-EC2Image -ImageId ami-0abcdef1234567890

この AWS リージョンで暗号化をデフォルトで有効にした場合は、ブロックデバイスマッピングから Encrypted = $true を省略できます。

インスタンスで休止が有効かどうかを表示する

インスタンスで休止が有効になっているかどうかを確認するときは、次の手順に従います。

Console
インスタンスで休止が有効かどうかを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. インスタンスを選択し、[Details (詳細)] タブの [Instance details (インスタンスの詳細)] セクションで、[Stop-hibernate behavior (停止 - 休止動作)] を確認します。[有効] は、インスタンスが休止に対して有効であることを示します。

AWS CLI
インスタンスで休止が有効かどうかを表示するには

describe-instances コマンドを使用し、--filters "Name=hibernation-options.configured,Values=true" パラメータを指定して、休止が有効になっているインスタンスをフィルタリングします。

aws ec2 describe-instances \ --filters "Name=hibernation-options.configured,Values=true"

次の出力フィールドは、インスタンスで休止が有効になっていることを示しています。

"HibernationOptions": { "Configured": true }
PowerShell
AWS Tools for Windows PowerShell を使用して、インスタンスで休止が有効かどうかを表示するには

Get-EC2Instance コマンドを使用し、-Filter @{ Name="hibernation-options.configured"; Value="true"} パラメータを指定して、休止が有効になっているインスタンスをフィルタリングします。

(Get-EC2Instance -Filter @{Name="hibernation-options.configured"; Value="true"}).Instances

休止が有効になっている EC2 インスタンスが出力に一覧表示されます。