Systems Manager コマンドドキュメントを使用して VSS ベースのスナップショットを作成する
AWS Systems Manager コマンドドキュメントを使用して、VSS ベースのスナップショットを作成できます。以下のコンテンツでは、使用可能なコマンドドキュメントと、そのドキュメントがスナップショットの作成に使用するランタイムパラメータを紹介します。
Systems Manager のコマンドドキュメントを使用する前に、すべてのWindows VSS ベースの EBS スナップショットを作成するための前提条件を満たしていることを確認してください。
Systems Manager VSS スナップショットドキュメントのパラメータ
VSS スナップショットを作成する Systems Manager ドキュメントはすべて、特に明記されていない限り、以下のパラメータを使用します。
- AmiName (文字列、オプション)
-
CreateAmi オプションが True
に設定されている場合は、バックアップが作成する AMI の名前を指定します。
- description (文字列、オプション)
-
このプロセスで作成されるスナップショットまたはイメージの説明を指定します。
- CollectDiagnosticLogs (文字列、オプション)
-
スナップショットと AMI の作成ステップでより多くの情報を収集するには、このパラメータを True
に設定します。このパラメータのデフォルト値は "False
" です。統合診断ログは、インスタンス上の次の場所に .zip
形式のアーカイブとして保存されます。
C:\ProgramData\Amazon\AwsVss\Logs\timestamp
.zip
- CopyOnly (文字列、オプション)
-
AWS VSS に加えてネイティブ SQL Server バックアップを使用する場合は、コピーのみのバックアップを実行すると、AWS VSS によるネイティブ差分バックアップチェーンの中断を防ぐことができます。コピーのみのバックアップ操作を実行するには、このパラメータを True
に設定します。
このパラメータのデフォルト値は False
であり、AWS VSS のフルバックアップ操作実行の原因となります。
- CreateAmi (文字列、オプション)
-
VSS ベースの Amazon マシンイメージ (AMI) を作成してインスタンスをバックアップするには、このパラメータを True
に設定します。このパラメータのデフォルト値は False
であり、代わりに EBS スナップショットを使用してインスタンスをバックアップします。
インスタンスから AMI を作成する方法の詳細については、「Amazon EBS-backed AMI を作成する」と「」を参照してください。
- executionTimeout (文字列、オプション)
-
インスタンスでスナップショット作成プロセスを実行する最大時間、またはインスタンスから AMI を作成する最大時間を秒単位で指定します。このタイムアウトを長くすることで、VSS がフリーズを開始し、作成するリソースのタグ付けが完了するまで、コマンドがより長く待機できるようになります。このタイムアウトは、スナップショットまたは AMI の作成ステップにのみ適用されます。AwsVssComponents
パッケージをインストールまたは更新する最初のステップは、タイムアウトには含まれません。
- ExcludeBootVolume (文字列、オプション)
-
この設定では、スナップショットを作成する場合に、バックアッププロセスからブートボリュームが除外されます。スナップショットからブートボリュームを除外するには、ExcludeBootVolume を True
に、CreateAmi を False
に設定します。
バックアップ用に AMI を作成する場合、このパラメータを False
に設定する必要があります。このパラメータのデフォルト値は False
です。
- NoWriters (文字列、オプション)
-
アプリケーション VSS ライターをスナップショットプロセスから除外するには、このパラメータを True
に設定します。アプリケーション VSS ライターを除外すると、サードパーティの VSS バックアップコンポーネントとの競合を解決しやすくなります。このパラメータのデフォルト値は False
です。
SaveVssMetadata
が True
の場合、このパラメータを False
に設定する必要があります。
- SaveVssMetadata (文字列、オプション)
-
スナップショットを作成するたびに VSS メタデータファイルを保存するには、このパラメータを True
に設定します。デフォルト値は False
です。VSS メタデータファイルにより、バックアップ操作に含まれていたコンポーネントやライター、さらに各コンポーネントの関連ファイルについてインサイトが得られます。
メタデータファイルの名前にスナップショット設定 ID が関連付けられています。メタデータファイルはインスタンスの次の場所にあります。
C:\ProgramData\Amazon\AwsVss\VssMetadata\
-
VSS メタデータファイルを保存するには、バージョン 2.4.0 以降の AwsVssComponents
パッケージが必要です。インスタンスの旧バージョンがインストールされている場合、SaveVssMetadata
を True
に設定するとスナップショットの作成が失敗します。
-
NoWriters
パラメータと SaveVssMetadata
パラメータは相互に排他的です。両方とも True
に設定すると、スナップショットの作成が失敗します。
- tags (文字列、オプション)
-
スナップショットとイメージにタグを付けて、リソースを見つけて管理できるようにすること (スナップショットのリストからボリュームを復元するなど) をお勧めします。システムは、空白の値で Name
キーを追加するので、出力スナップショットまたはイメージに適用する名前を指定できます。
追加のタグを指定する場合は、セミコロンを使用してタグを区切ります。例えば、Key=Environment,Value=Test;Key=User,Value=TestUser1
と指定します。
デフォルトでは、システムは VSS ベースのスナップショットおよびイメージ用に、次の予約済みタグを追加します。
-
Device – VSS ベースのスナップショットの場合、これはスナップショットがキャプチャする EBS ボリュームのデバイス名です。
-
AppConsistent – このタグは、VSS 対応スナップショットまたは AMI が正常に作成されたことを示します。
-
AwsVssConfig – VSS を有効にして作成されたスナップショットと AMI を識別します。タグには、AwsVssComponents
のバージョンとスナップショット設定 ID などのメタ情報が含まれています。
パラメータリストでこれらの予約済みタグのいずれかを指定すると、エラーが発生します。
- VssVersion (文字列、オプション)
-
AWSEC2-VssInstallAndSnapshot
ドキュメントに限り、VssVersion
パラメータを指定して、AwsVssComponents
パッケージの特定のバージョンをインスタンスにインストールすることができます。推奨されているデフォルトバージョンをインストールするには、このパラメータを空白のままにします。
指定したバージョンの AwsVssComponents
パッケージがすでにインストールされている場合、スクリプトはインストール手順をスキップしてバックアップ手順に進みます。AwsVssComponents
パッケージバージョンと運用サポートの一覧については、「AWS VSS ソリューションのバージョン履歴」を参照してください。
Systems Manager VSS スナップショットコマンドドキュメントを実行する
次のように AWS Systems Manager コマンドドキュメントを使用して、VSS ベースの EBS スナップショットを作成できます。
AWS Systems Manager を使用して AWSEC2-VssInstallAndSnapshot
ドキュメントを実行すると、スクリプトは次のステップを実行します。
-
このスクリプトは、インスタンスが既にインストールされているかどうかに応じて、最初にインスタンスに AwsVssComponents
パッケージをインストールまたは更新します。
-
このスクリプトは、最初のステップが完了した後に、アプリケーションと整合性のあるスナップショットを作成します。
AWSEC2-VssInstallAndSnapshot
ドキュメントを実行するには、ご希望の環境に応じた手順に従ってください。
- Console
-
コンソールから VSS ベースの EBS スナップショットを作成する
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。
-
ナビゲーションペインから [コマンドの実行] をクリックします。該当する場合、アカウントで現在実行されているコマンドのリストが表示されます。
-
[コマンドの実行] を選択します。これにより、アクセスできるコマンドドキュメントのリストが開きます。
-
コマンドドキュメントのリストから AWSEC2-VssInstallAndSnapshot
を選択します。結果を効率化するために、ドキュメント名の全体または一部を入力できます。所有者、プラットフォームタイプ、またはタグでフィルタリングすることもできます。
コマンドドキュメントを選択すると、詳細がリストの下に表示されます。
-
[ドキュメントバージョン] リストから Default version at runtime
を選択します。
-
[コマンドパラメータ] を設定して、AWSEC2-VssInstallAndSnapshot
による AwsVssComponents
パッケージのインストール方法と VSS スナップショットまたは AMI によるバックアップ方法を定義します。パラメータの詳細については、「Systems Manager VSS スナップショットドキュメントのパラメータ」を参照してください。
-
[ターゲットの選択] で、タグを指定するか、手動でインスタンスを選択して、この操作を実行するインスタンスを特定します。
インスタンスを手動で選択することにしたが、そのインスタンスがリストに表示されない場合は、「インスタンスの場所」でトラブルシューティングのヒントを参照してください。
-
[レート制御] などの Systems Manager Run Command の動作を定義する追加パラメータについては、「コンソールからのコマンドの実行」の説明に従って値を入力します。
-
[実行] を選択します。
成功すると、コマンドによって EBS スナップショットのリストに新しいスナップショットが入力されます。指定したタグまたは AppConsistent
を検索することで、EBS スナップショットのリスト内でこれらのスナップショットを見つけることができます。コマンドの実行が失敗した場合、Systems Manager コマンド出力で、実行が失敗した理由の詳細を確認してください。コマンドは正常に完了したが特定のボリュームのバックアップが失敗した場合、EBS ボリュームのリストで失敗をトラブルシューティングできます。
- AWS CLI
-
AWS CLI で次のコマンドを実行して、VSS ベースの EBS スナップショットを作成し、スナップショット作成のステータスを取得できます。
VSS ベースの EBS スナップショットを作成する
次のコマンドを実行して、VSS ベースの EBS スナップショットを作成します。スナップショットを作成するには、--instance-ids
パラメータを使用してインスタンスを識別する必要があります。使用可能なその他のパラメータについては、「Systems Manager VSS スナップショットドキュメントのパラメータ」を参照してください。
aws ssm send-command \
--document-name "AWSEC2-VssInstallAndSnapshot" \
--instance-ids "i-01234567890abcdef
" \
--parameters '{"ExcludeBootVolume":["False"],"description":["Description"],"tags":["Key=key_name
,Value=tag_value
"],"VssVersion":[""]}'
成功すると、コマンドドキュメントによって EBS スナップショットのリストに新しいスナップショットが入力されます。指定したタグまたは AppConsistent
を検索することで、EBS スナップショットのリスト内でこれらのスナップショットを見つけることができます。コマンドの実行が失敗した場合、 コマンド出力で、実行が失敗した理由の詳細を確認してください。
コマンドステータスの取得
スナップショットの現在のステータスを取得するには、send-command から返されたコマンド ID を使用して次のコマンドを実行します。
aws ssm get-command-invocation
--instance-ids "i-01234567890abcdef
" \
--command-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
" \
--plugin-name "CreateVssSnapshot"
- PowerShell
-
AWS Tools for Windows PowerShell を使用して次のコマンドを実行して、VSS ベースの EBS スナップショットを作成し、出力作成の現在のランタイムステータスを取得します。前のリストで説明されたパラメータを指定して、スナップショットプロセスの動作を変更します。
Windows 用ツール PowerShell を使用して VSS ベースの EBS スナップショットを作成する
次のコマンドを実行して、VSS ベースの EBS スナップショットまたは AMI を作成します。
Send-SSMCommand -DocumentName "AWSEC2-VssInstallAndSnapshot" -InstanceId "i-01234567890abcdef
" -Parameter @{'ExcludeBootVolume'='False';'description'='a_description
'
;'tags'='Key=key_name
,Value=tag_value
';'VssVersion'=''}
コマンドステータスの取得
スナップショットの現在のステータスを取得するには、Send-SSMCommand から返されたコマンド ID を使用して次のコマンドを実行します。
Get-SSMCommandInvocationDetail -InstanceId "i-01234567890abcdef
" -CommandId "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
" -PluginName "CreateVssSnapshot"
成功すると、コマンドによって EBS スナップショットのリストに新しいスナップショットが入力されます。指定したタグまたは AppConsistent
を検索することで、EBS スナップショットのリスト内でこれらのスナップショットを見つけることができます。コマンドの実行が失敗した場合、 コマンド出力で、実行が失敗した理由の詳細を確認してください。
AWSEC2-CreateVssSnapshot
ドキュメントを実行するには、ご希望の環境に応じた手順に従ってください。
- Console
-
コンソールから VSS ベースの EBS スナップショットを作成する
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。
-
ナビゲーションペインから [コマンドの実行] をクリックします。該当する場合、アカウントで現在実行されているコマンドのリストが表示されます。
-
[コマンドの実行] を選択します。これにより、アクセスできるコマンドドキュメントのリストが開きます。
-
コマンドドキュメントのリストから AWSEC2-CreateVssSnapshot
を選択します。結果を効率化するために、ドキュメント名の全体または一部を入力できます。所有者、プラットフォームタイプ、またはタグでフィルタリングすることもできます。
コマンドドキュメントを選択すると、詳細がリストの下に表示されます。
-
[ドキュメントバージョン] リストから Default version at runtime
を選択します。
-
[コマンドのパラメータ] を設定して、AWSEC2-CreateVssSnapshot
が VSS スナップショットまたは AMI を使用してバックアップする方法を定義します。パラメータの詳細については、「Systems Manager VSS スナップショットドキュメントのパラメータ」を参照してください。
-
[ターゲットの選択] で、タグを指定するか、手動でインスタンスを選択して、この操作を実行するインスタンスを特定します。
インスタンスを手動で選択することにしたが、そのインスタンスがリストに表示されない場合は、「インスタンスの場所」でトラブルシューティングのヒントを参照してください。
-
[レート制御] などの Systems Manager Run Command の動作を定義する追加パラメータについては、「コンソールからのコマンドの実行」の説明に従って値を入力します。
-
[実行] を選択します。
成功すると、コマンドによって EBS スナップショットのリストに新しいスナップショットが入力されます。指定したタグまたは AppConsistent
を検索することで、EBS スナップショットのリスト内でこれらのスナップショットを見つけることができます。コマンドの実行が失敗した場合、Systems Manager コマンド出力で、実行が失敗した理由の詳細を確認してください。コマンドは正常に完了したが特定のボリュームのバックアップが失敗した場合、EBS ボリュームのリストで失敗をトラブルシューティングできます。
- AWS CLI
-
AWS CLI で次のコマンドを実行して、VSS ベースの EBS スナップショットを作成できます。
VSS ベースの EBS スナップショットを作成する
次のコマンドを実行して、VSS ベースの EBS スナップショットを作成します。スナップショットを作成するには、--instance-ids
パラメータを使用してインスタンスを識別する必要があります。使用可能なその他のパラメータについては、「Systems Manager VSS スナップショットドキュメントのパラメータ」を参照してください。
aws ssm send-command \
--document-name "AWSEC2-CreateVssSnapshot" \
--instance-ids "i-01234567890abcdef
" \
--parameters '{"ExcludeBootVolume":["False"],"description":["Description"],"tags":["Key=key_name
,Value=tag_value
"]}'
成功すると、コマンドドキュメントによって EBS スナップショットのリストに新しいスナップショットが入力されます。指定したタグまたは AppConsistent
を検索することで、EBS スナップショットのリスト内でこれらのスナップショットを見つけることができます。コマンドの実行が失敗した場合、 コマンド出力で、実行が失敗した理由の詳細を確認してください。
- PowerShell
-
AWS Tools for Windows PowerShell で次のコマンドを実行して、VSS ベースの EBS スナップショットを作成します。
Windows 用ツール PowerShell を使用して VSS ベースの EBS スナップショットを作成する
次のコマンドを実行して、VSS ベースの EBS スナップショットを作成します。スナップショットを作成するには、InstanceId
パラメータを使用してインスタンスを識別する必要があります。複数のインスタンスを指定してスナップショットを作成できます。使用可能なその他のパラメータについては、「Systems Manager VSS スナップショットドキュメントのパラメータ」を参照してください。
Send-SSMCommand -DocumentName AWSEC2-CreateVssSnapshot -InstanceId "i-01234567890abcdef
" -Parameter @{'ExcludeBootVolume'='False';'description'='a_description
'
;'tags'='Key=key_name
,Value=tag_value
'}
成功すると、コマンドによって EBS スナップショットのリストに新しいスナップショットが入力されます。指定したタグまたは AppConsistent
を検索することで、EBS スナップショットのリスト内でこれらのスナップショットを見つけることができます。コマンドの実行が失敗した場合、 コマンド出力で、実行が失敗した理由の詳細を確認してください。コマンドは正常に完了したが特定のボリュームのバックアップが失敗した場合、EBS スナップショットのリストで失敗をトラブルシューティングできます。
前のセクションで説明したいずれかのコマンドライン手順を使用して、VSS ベースのスナップショットを作成できます。コマンドドキュメント (AWSEC2-VssInstallAndSnapshot
または AWSEC2-CreateVssSnapshot
) は、クラスターのプライマリノードで実行する必要があります。セカンダリノードは共有ディスクにアクセスできないため、ドキュメントの実行は失敗します。プライマリノードとセカンダリノードが動的に変化する場合は、AWS Systems Manager Run Command ドキュメントを複数のノードで同時に実行できますが、プライマリノードではコマンドが成功し、セカンダリノードでは失敗します。
バックアップを自動化するには、AWSEC2-VssInstallAndSnapshot
ドキュメントを使用する AWS Systems Manager メンテナンスウィンドウタスクを作成できます。詳細については、AWS Systems Manager ユーザーガイドのメンテナンスウィンドウの使用 (コンソール)を参照してください。