AWSSupport-CopyEC2Instance - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-CopyEC2Instance

説明

AWSSupport-CopyEC2Instance ランブックは、ナレッジセンター記事「EC2 インスタンスを別のサブネット、アベイラビリティーゾーン、または VPC に移動する方法」で説明されている手順についての、自動化されたソリューションを提供します。自動化は、Region および SubnetId パラメータに指定した値に基づいて分岐します。

SubnetId パラメータに値を指定し、Region パラメータに値を指定しない場合、自動化はターゲットインスタンスの Amazon Machine Image (AMI) を作成し、指定したサブネットの AMI から新しいインスタンスを起動します。

SubnetId パラメータと Region パラメータに値を指定する場合、自動化はターゲットインスタンスの AMI を作成し、指定した AWS リージョン に AMI をコピーし、指定したサブネットの AMI から新しいインスタンスを起動します。

Region パラメータに値を指定し、SubnetId パラメータに値を指定しない場合、自動化はターゲットインスタンスの AMI を作成し、指定したリージョンに AMI をコピーし、送信先リージョンの仮想プライベートクラウド (VPC) のデフォルトサブネットの AMI から新しいインスタンスを起動します。

Region または SubnetId パラメータのいずれにも値が指定されていない場合、自動化はターゲットインスタンスの AMI を作成し、VPC のデフォルトサブネットの AMI から新しいインスタンスを起動します。

AMI を別のリージョンにコピーするには、AutomationAssumeRole パラメータに値を指定する必要があります。waitForAvailableDestinationAmi ステップ中に自動化がタイムアウトしても、AMI はまだコピー中である可能性があります。その場合は、コピーが完了するのを待ってから、インスタンスを手動で起動できます。

この自動化を実行する前に、次の点に注意してください。

  • AMI は Amazon Elastic Block Store (Amazon EBS) スナップショットに基づいています。スナップショットが事前にない大規模なファイルシステムの場合、AMI 作成には数時間かかることがあります。AMI 作成時間を短縮するには、AMI を作成する前に Amazon EBS スナップショットを作成してください。

  • AMI を作成しても、そのインスタンス上のインスタンスストアボリュームのスナップショットは作成されません。Amazon EBS にインスタンスストアボリュームをバックアップする方法については、「Amazon EC2 インスタンスのインスタンスストアボリュームを Amazon EBS にバックアップする方法」を参照してください。

  • 新しい Amazon EC2 インスタンスには、別のプライベート IPv4 またはパブリック IPv6 IP アドレスが割り当てられています。古い IP アドレス (DNS エントリにあるものなど) へのリファレンスはすべて、新しいインスタンスに割り当てられた新しい IP アドレスで更新する必要があります。ソースインスタンスで Elastic IP アドレスを使用している場合、新しいインスタンスにそのアドレスをアタッチしてください。

  • コピーが起動してドメインにアクセスしようとすると、ドメインセキュリティ識別子 (SID) の競合の問題が発生する可能性があります。AMI をキャプチャする前に、Sysprep を使用するか、ドメインに参加しているインスタンスをドメインから削除して競合の問題を防止してください。詳細については、「Sysprep を使用して再利用可能なカスタム Windows AMI を作成およびインストールする方法を教えてください」を参照してください。

このオートメーションを実行する (コンソール)

重要

このランブックを使用して Microsoft Active Directory ドメインコントローラーのインスタンスをコピーすることはお勧めしません。

ドキュメントタイプ

Automation

所有者

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

[Parameters] (パラメータ)

  • AutomationAssumeRole

    型: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • InstanceId

    型: 文字列

    説明: (必須) コピーするインスタンスの ID。

  • KeyPair

    型: 文字列

    説明: (オプション) 新しくコピーされるインスタンスに関連付けるキーペア。インスタンスを別のリージョンにコピーする場合は、キーペアが指定したリージョンに存在することを確認してください。

  • リージョン

    型: 文字列

    説明: (オプション) インスタンスをコピーするリージョン。このパラメータに値を指定し、SubnetId および SecurityGroupIds パラメータに値を指定しなかった場合、自動化はデフォルトのセキュリティグループを使用してデフォルト VPC でインスタンスを起動しようとします。送信先リージョンで EC2-Classic が有効になっている場合、起動は失敗します。

  • SubnetId

    型: 文字列

    説明: (オプション) インスタンスを起動するサブネットの ID。EC2-Classic が送信先リージョンで有効になっている場合は、このパラメータに値を指定する必要があります。

  • InstanceType

    型: 文字列

    説明: (オプション) コピーされたインスタンスを起動する時のインスタンスタイプ。このパラメータに値を指定しない場合、ソースインスタンスタイプが使用されます。ソースインスタンスタイプがインスタンスのコピー先のリージョンでサポートされていない場合、自動化は失敗します。

  • SecurityGroupIds

    型: 文字列

    説明: (オプション) コピーされたインスタンスに関連付けるセキュリティグループ ID のカンマ区切りリスト。このパラメータに値を指定せず、インスタンスを別のリージョンにコピーしない場合、ソースインスタンスに関連付けられているセキュリティグループが使用されます。インスタンスを別のリージョンにコピーする場合、コピー先のリージョンのデフォルトの VPC のデフォルトのセキュリティグループが使用されます。

  • KeepImageSourceRegion

    型: ブール

    有効な値: true | false

    デフォルト: true

    説明: (オプション) このパラメータに true を指定した場合、自動化はソースインスタンスの AMI を削除しません。このパラメータに false を指定すると、自動化は AMI の登録を解除し、関連するスナップショットを削除します。

  • KeepImageDestinationRegion

    型: ブール

    有効な値: true | false

    デフォルト: true

    説明: (オプション) このパラメータに true を指定した場合、自動化は、指定したリージョンにコピーされた AMI を削除しません。このパラメータに false を指定すると、自動化は AMI の登録を解除し、関連するスナップショットを削除します。

  • NoRebootInstanceBeforeTakingImage

    型: ブール

    有効な値: true | false

    デフォルト: false

    説明: (オプション) このパラメータに true を指定した場合、ソースインスタンスは AMI を作成する前に再起動されません。このオプションを使用すると、作成したイメージのファイルシステムの完全性は保証できません。

必要な IAM アクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • ec2:CreateImage

  • ec2:DeleteSnapshot

  • ec2:DeregisterImage

  • ec2:DescribeInstances

  • ec2:DescribeImages

  • ec2:RunInstances

インスタンスを別のリージョンにコピーする場合、以下の権限も必要になります。

  • ec2:CopyImage

ドキュメントステップ

  • describeOriginalInstanceDetails - コピーするインスタンスから詳細情報を収集します。

  • assertRootVolumeIsEbs - ルートボリュームのデバイスタイプが ebs であるかどうかを確認し、そうでない場合は自動化を終了します。

  • evalInputParameters - 入力パラメータに指定された値を評価します。

  • createLocalAmi - ソースインスタンスの AMI を作成します。

  • tagLocalAmi - 前のステップで作成した AMI にタグを付けます。

  • branchAssertRegionIsSame - インスタンスを同じリージョン内でコピーするか、別のリージョンにコピーするかに基づいて分岐します。

  • branchAssertSameRegionWithKeyPair - 同じリージョン内でコピーされているインスタンスの KeyPair パラメータに値が指定されているかどうかに基づいて分岐します。

  • sameRegionLaunchInstanceWithKeyPair - 同じサブネットまたは指定したサブネットのソースインスタンスの AMI から、指定したキーペアを使用して Amazon EC2 インスタンスを起動します。

  • sameRegionLaunchInstanceWithoutKeyPair - 同じサブネットまたは、キーペアなしで指定したサブネットのソースインスタンスの AMI から Amazon EC2 インスタンスを起動します。

  • copyAmiToRegion - AMI をコピー先リージョンにコピーします。

  • waitForAvailableDestinationAmi - コピーされた AMI の状態が available になるのを待ちます。

  • destinationRegionLaunchInstance - コピーされた AMI を使用して Amazon EC2 インスタンスを起動します。

  • branchAssertDestinationAmiToDelete - KeepImageDestinationRegion パラメータで指定された値に基づく分岐。

  • deregisterDestinationAmiAndDeleteSnapshots - コピーされた AMI を登録解除し、関連するスナップショットを削除します。

  • branchAssertSourceAmiTodelete - KeepImageSourceRegion パラメータで指定された値に基づく分岐。

  • deregisterSourceAmiAndDeleteSnapshots - 作成された AMI をソースインスタンスから登録解除し、関連するスナップショットを削除します。

  • sleep - 自動化を 2 秒間スリープ状態にします。これは終了ステップです。

[Outputs] (出力)

sameRegionLaunchInstanceWithKeyPair.InstanceIds

sameRegionLaunchInstanceWithoutKeyPair.InstanceIds

destinationRegionLaunchInstance.DestinationInstanceId