Amazon Web Services ブログ

共有 EBS スナップショット用の Amazon EBS 高速スナップショット復元

スナップショットは Amazon Elastic Block Store (EBS) で必要不可欠なものです。スナップショットでは、バックアップまたは災害対策用に、ボリュームのブロックレベルのポイントインタイムコピーを作成できます。スナップショットは、最後のスナップショットが再度コピーされてから変更された増分のデータのみが含まれます。AWS リージョンまたは AWS アカウント間で、スナップショットを共有できます。スナップショットを取得したら、スナップショットに基づいて新しい Amazon Elastic Block Store (EBS) ボリュームを作成できます。スナップショットの作成に使用した元のボリュームの正確なレプリカとして、新しいボリュームを開始します。

スナップショットからボリュームを復元するとすぐに使用できます。オペレーティングシステムがブロックにアクセスすると、バックグラウンドで EBS がスナップショットからデータの遅延読み込みを行います。このため、ボリュームが完全に初期化されるまで、ボリュームの I/O パフォーマンスが低下します。しかし、I/O 要求の多い一部のワークロードでは、ボリュームが利用可能になり次第、フルボリュームで処理する必要があります。これが、高速スナップショット復元 (FSR) を導入した理由です。FSR を有効にすることで最大のパフォーマンスを発揮でき、初期化する必要のないボリュームを作成できます。

AWS のお客様の多くが他の AWS アカウントとスナップショットを共有していますが、これにはたくさんの理由があるからです。アプリケーション、モニタリング、または管理ツールを事前にバックアップすることで、ゴールデン AMI を一元的に準備および管理したいと考えるかもしれません。災害対策 (DR) 用の場合、会社のポリシーによっては、すべてのバックアップを 1 つの専用アカウントに保存することが必要になる場合があります。これまで、スナップショットを所有する AWS アカウントしか FSR を有効にできませんでした。

本日より、共有しているスナップショットで高速スナップショット復元 (FSR) を有効にできるようになりました。

共有スナップショットで FSR を有効にするには、まず、ソース AWS アカウントでスナップショットを作成します。スナップショットを作成したら、別のアカウントと共有します。これを行うには、[アクション] 、[アクセス許可を変更] の順にクリックします。送信先の AWS アカウント番号を入力し、[アクセス許可を追加]、[保存] の順にクリックします。

EBS 共有スナップショット

送信先のアカウントを接続し、EC2 コンソールに移動します。スナップショットが表示されない場合は、[プライベートスナップショット] オプションが選択されているかどうかを確認します。

EBS プライベートスナップショットFSR で使用できるようにするスナップショットを選択し、[アクション]、[高速スナップショット復元の管理] の順にクリックします。

EBS スナップショットの高速復元を有効にするスナップショットを高速に復元できるようにするアベイラビリティーゾーンを選択し、[保存] をクリックします。

EBS 高速スナップショット復元を有効にする

設定が保存されたという確認メッセージが表示されます。

FSR 復元の確認

スナップショットは数分間、有効化中モードのままで、その後有効になります。完了したら、そこから Amazon Elastic Block Store (EBS) ボリュームを作成できます。これで、ボリュームが完全に初期化されました。

API または AWS コマンドラインインターフェイス (CLI) からも、これらをすべて実行できます。

aws ec2 enable-fast-snapshot-restores            \
         --source-snapshot-ids snap-0b00000000d9 \
         --availability-zones us-west-1a         \
         --region us-west-1

{
    "Successful": [
        {
            "SnapshotId": "snap-0b00000000d9",
            "AvailabilityZone": "us-west-1a",
            "State": "enabling",
            "StateTransitionReason": "Client.UserInitiated",
            "OwnerId": "00123456789",
            "EnablingTime": "2020-06-26T16:40:19.720000+00:00"
        }
    ],
    "Unsuccessful": []
}

FSR から復元したボリュームをいつでも確認できます。

aws ec2 describe-volumes --filters Name=fast-restored,Values=true

{
    "Volumes": [
        {
            "Attachments": [],
            "AvailabilityZone": "us-west-1a",
            "CreateTime": "2020-01-26T00:34:11.093Z",
            "Encrypted": true,
            "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/8c5b2c63-0000-0000-0000-5513e232e843",
            "Size": 20,
            "SnapshotId": "snap-0b00000000d9",
            "State": "available",
            "VolumeId": "vol-0d000000000000b0",
            "Iops": 100,
            "VolumeType": "gp2",
            "FastRestored": true
        }
    ]
}

高速スナップショット復元を有効にした AWS アカウントは、1 時間ごとに課金されます。スナップショットの所有者は、別の AWS アカウントで FSR を有効にする場合には課金されません。共有スナップショットの所有者がスナップショットを削除するか、またはスナップショットの共有を停止すると、共有スナップショットの FSR が自動的に無効になり、スナップショットの FSR 課金は終了します。

本日より、すべての商用 AWS リージョンで、高速スナップショット復元を有効にできるようになりました。

いつものように、AWS フォーラムにフィードバックを投稿するか、このブログ投稿にコメントを残してくださるとありがたいです。

— Seb