Amazon EC2 AMI を無効にする - Amazon Elastic Compute Cloud

Amazon EC2 AMI を無効にする

AMI を無効にして、インスタンスの起動に使用されないようにできます。無効な AMI から新しいインスタンスを起動することはできません。無効化された AMI を再度有効にして、インスタンスの起動時に再び使用できるようにすることができます。

プライベート AMI とパブリック AMI の両方を無効化できます。

使用頻度は低いが、長期間保持する必要がある無効な EBS-backed AMI のストレージコストを削減するには、関連するスナップショットをアーカイブできます。詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS スナップショットのアーカイブ」を参照してください。

AMI 無効化の仕組み

警告

AMI を無効にすると、AMI のすべての起動権限が削除されます。

AMI が無効になっている場合:
  • AMI の状態は disabled に変わります。

  • 無効化された AMI は共有できません。AMI が公開されていたか、以前に共有されていた場合は、非公開になります。AMI が AWS アカウント、組織または組織単位で共有されていた場合、無効になっている AMI にはアクセスできなくなります。

  • 無効化された AMI は、デフォルトで DescribeImages API 呼び出しに表示されません。

  • 無効化された AMI は [自分が所有] コンソールフィルタには表示されません。無効になっている AMI を検索するには、[無効化されたイメージ] コンソールフィルタを使用してください。

  • 無効化された AMI は、EC2 コンソールのインスタンス起動時に選択できません。たとえば、無効化された AMI はインスタンスの起動ウィザードの AMI カタログに表示されません。また、起動テンプレート作成時にも表示されません。

  • 起動テンプレートや Auto Scaling グループなどの起動サービスは、無効化された AMI を引き続き参照できます。無効化された AMI からのそれ以降のインスタンスの起動は失敗するため、使用可能な AMI のみを参照するように、起動テンプレートと Auto Scaling グループを更新することをお勧めします。

  • 今後無効化される予定の AMI を使用して起動された EC2 インスタンスは影響を受けず、停止、起動、および再起動が可能です。

  • 無効になっている AMI に関連するスナップショットは削除できません。関連するスナップショットを削除しようとすると snapshot is currently in use エラーになります。

AMI が再び有効になると:
  • AMI の状態が available に変わり、インスタンスの起動に使用できるようになります。

  • AMI は共有できます。

  • AMI を無効にしたときに AMI にアクセスできなくなった AWS アカウント、組織、および組織単位は、自動的にアクセスを回復できませんが、AMI を再び共有することは可能です。

コスト

AMI を無効化しても、その AMI は削除されません。EBS-backed AMI の場合は、AMI の EBS スナップショットの料金を引き続きお支払いいただきます。AMI を残しておきたい場合は、スナップショットをアーカイブすることでストレージコストを削減できる場合があります。詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS スナップショットのアーカイブ」を参照してください。AMI とそのスナップショットを保持したくない場合は、AMI を登録解除し、スナップショットを削除する必要があります。詳細については、「AMI の登録解除」を参照してください。

前提条件

AMI を無効または再度有効にするには、AMI の所有者である必要があります。

必要な IAM 許可

AMI を無効化する、および再度有効化するには、次の IAM 権限が必要です。

  • ec2:DisableImage

  • ec2:EnableImage

AMI の無効化

AMI は EC2 コンソールまたは AWS Command Line Interface (AWS CLI) を使用して無効にできます。この手順を実行するには、AMI の所有者である必要があります。

Console
AMI を無効化するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. 左のナビゲーションペインで [AMI] を選択してください。

  3. フィルターバーから、[Owned by me] (自己所有) を選択します。

  4. AMI を選択し、[アクション][AMI を無効にする] の順に選択します。複数の AMI を選択し、まとめて無効化することもできます。

  5. [AMI を無効にする] ウィンドウで、[AMI を無効にする] を選択します。

AWS CLI
AMI を無効化するには

次の disable-image コマンドを使用します。

aws ec2 disable-image --image-id ami-0abcdef1234567890
PowerShell
AMI を無効化するには

Disable-EC2Image コマンドレットを使用します。

Disable-EC2Image -ImageId ami-0abcdef1234567890

無効化された AMI の説明

無効化された AMI は EC2 コンソールと AWS CLI を使用して表示できます。

無効化された AMI を表示するには AMI 所有者である必要があります。無効化された AMI は非公開になるため、所有者以外には表示されません。

Console
無効化された AMI を表示するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. 左のナビゲーションペインで [AMI] を選択してください。

  3. フィルターバーから [無効化された画像] を選択します。

    [無効化された画像] フィルター。
AWS CLI

デフォルトでは、すべての AMI を記述した場合、無効化された AMI は結果に含まれません。非推奨の AMI を結果に含めるには、--include-disabled オプションを指定します。AMI が無効になっている場合、AMI の State フィールドは disabled になります。

無効になっている AMI も含めてアカウントのすべての AMI を記述するには

次の describe-images コマンドを使用します。

aws ec2 describe-images \ --owners 123456789012 \ --include-disabled
アカウントの無効になっている AMI を一覧表示するには

次の describe-images コマンドを使用します。

aws ec2 describe-images \ --owners self \ --include-disabled \ --filters Name=state,Values=disabled \ --query Images[].ImageId \ --output text

以下は出力例です。

ami-0abcdef1234567890
AMI のステータスを記述するには

次の describe-images コマンドを使用します。出力に DeprecationTime がない場合、AMI は非推奨にはならず、将来の日付で非推奨になるように設定されます。

aws ec2 describe-images \ --image-ids ami-0abcdef1234567890 \ --query Images[].State \ --output text

以下は出力例です。

disabled
PowerShell

デフォルトでは、すべての AMI を記述した場合、無効化された AMI は結果に含まれません。無効になった AMI を結果に含めるには、-IncludeDisabled パラメータを指定します。AMI が無効になっている場合、AMI の State フィールドは disabled になります。

アカウントの無効になっている AMI を一覧表示するには

Get-EC2Image コマンドレットを使用します。

(Get-EC2Image ` -Owner self ` -IncludeDisabled $true | Where-Object {$_.State -eq "disabled"}).ImageId

以下は出力例です。

ami-0abcdef1234567890
AMI のステータスを記述するには

Get-EC2Image コマンドレットを使用します。

(Get-EC2Image -ImageId ami-0abcdef1234567890).State.Value

以下は出力例です。

disabled

無効化された AMI を再度有効にする

無効化された AMI を再度有効にすることができます。この手順を実行するには、AMI の所有者である必要があります。

Console
無効化した AMI を再度有効にするには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. 左のナビゲーションペインで [AMI] を選択してください。

  3. フィルターバーから [無効化された画像] を選択します。

  4. AMI を選択し、[アクション][AMI を有効化] の順に選択します。複数の AMI を選択し、まとめて再有効化を選択することもできます。

  5. [AMI を有効化] ウィンドウで、[有効化] を選択します。

AWS CLI
無効化した AMI を再度有効にするには

次の enable-image コマンドを使用します。

aws ec2 enable-image --image-id ami-0abcdef1234567890
PowerShell
無効化した AMI を再度有効にするには

Enable-EC2Image コマンドレットを使用します。

Enable-EC2Image -ImageId ami-0abcdef1234567890