リソースディレクトリに基づいて、他のAlibaba Cloudアカウントまたは組織内でディスクスナップショットを共有できます。 他のAlibaba Cloudアカウントは、共有スナップショットを使用してディスクをすばやく作成し、毎日のO&M要件を満たすことができます。 このトピックでは、スナップショットの共有方法、共有スナップショットの使用方法、およびスナップショットの共有解除方法について説明します。 このトピックでは、上記の操作に適用される考慮事項についても説明します。
リソースディレクトリは、いくつかのアカウントとリソースの関係を管理するために使用できるサービスです。 リソースディレクトリを使用すると、ビジネス要件に基づいて組織構造をすばやく確立し、組織のアカウントをその構造に統合して、組織のリソースの階層を形成できます。 詳細については、「リソースディレクトリの概要」をご参照ください。
考慮事項
スナップショットを共有する前に、次の表に記載されている考慮事項に注意してください。
検討事項 | 説明 |
料金 |
|
制限事項 |
|
準備
スナップショットを共有する前に、機密データまたはファイルがスナップショットに含まれていないことを確認することをお勧めします。
スナップショットを共有するシナリオに基づいて準備を行います。
スナップショットを他のAlibaba Cloudアカウントと共有する場合は、アカウントのIDを取得します。
Alibaba CloudアカウントのIDを取得するには、アカウントを使用してAlibaba Cloud管理コンソールにログインし、右上隅のプロフィール写真の上にポインターを移動します。 アカウントにメインアカウントのタグが付いている場合、アカウントIDはAlibaba CloudアカウントIDです。
リソースディレクトリに基づいて組織内でスナップショットを共有するには、管理アカウントまたはメンバーを使用してリソースディレクトリを有効にする必要があります。 詳細については、「リソースディレクトリの有効化」をご参照ください。
スナップショットの共有
ECSコンソールでのスナップショットの共有
共有者がスナップショットを共有する
暗号化されていないスナップショットの共有
共有者としてECSコンソールにログインします。
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
共有するスナップショットを見つけて、[操作] 列で /> [スナップショットの共有] を選択します。
[リソース共有に追加] ダイアログボックスで、パラメーターを設定します。
リソース管理コンソールの共有ページで作成したリソース共有を選択します。
説明リソース管理のリソース共有機能を使用すると、他のAlibaba Cloudアカウントとスナップショットを共有できます。 リソース共有を作成してリソースを共有できます。 リソース共有は、リソースの所有者、依頼人、共有リソースで構成されます。 プリンシパルは、リソース所有者のリソースを使用するよう招待されたAlibaba Cloudアカウントです。 リソース共有の詳細については、「リソース共有の概要」をご参照ください。
[プリンシパル] セクションで、[編集] をクリックしてプリンシパルを追加します。
デフォルトでは、[プリンシパルスコープ] パラメーターは [リソースディレクトリ内のオブジェクト] に設定されます。 詳細については、「リソース共有の概要」トピックの「リソースの共有に使用される方法」セクションをご参照ください。
スナップショットを共有するAlibaba CloudアカウントのIDを入力し、[追加] をクリックします。
[OK] をクリックします。
暗号化されたスナップショットの共有
手順1: RAM (Resource Access Management) ロールを作成し、RAMロールに権限を付与する
暗号化されたスナップショットを共有する前に、RAMコンソールにログインしてAliyunECSShareEncryptSnapshotDefaultRole
という名前のロールを作成し、必要な権限を含むポリシーをロールにアタッチします。 ロールを使用して、暗号化されたスナップショットを他のAlibaba Cloudアカウントと共有できます。
共有者としてRAMコンソールにログインします。
[ポリシー] ページで、[ポリシーの作成] をクリックします。 [ポリシーの作成] ページで、[JSON] タブをクリックしてカスタムポリシーを作成します。 詳細については、「カスタムポリシーの作成」トピックの「JSONタブでカスタムポリシーを作成する」セクションをご参照ください。
次のコードは、カスタムポリシーのコンテンツの例を示しています。 ポリシーは、共有されている指定された暗号化スナップショットのCMKに対してのみ権限を付与します。
{ "Version": "1", "Statement": [ { "Action": "kms:List*", "Resource": "acs:kms:<ID of the region to which the CMK belongs>:<ID of the Alibaba Cloud account to which the CMK belongs>:key", "Effect": "Allow" }, { "Action": [ "kms:DescribeKey", "kms:TagResource", "kms:UntagResource", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "acs:kms:<ID of the region to which the CMK belongs>:<ID of the Alibaba Cloud account to which the CMK belongs>:key/<ID of the CMK associated with the snapshot>", "Effect": "Allow" } ] }
説明<CMKが属するリージョンのID>
、<CMKが属するAlibaba CloudアカウントのID>
、および<スナップショットに関連付けられたCMKのID>
を、CMKが属するリージョンのID、CMKが属するAlibaba CloudアカウントIDのID、およびCMK IDに置き換える必要があります。[ロール] ページで、信頼できるAlibaba Cloudアカウント用に
AliyunECSShareEncryptSnapshotDefaultRole
という名前のRAMロールを作成します。詳細については、「信頼できるAlibaba CloudアカウントのRAMロールの作成」をご参照ください。
[ロール] ページで、作成した
[ロール]
をクリックして、ロールの詳細ページに移動します。[権限] タブで、[権限の付与] をクリックし、ステップ2で作成したカスタムポリシーをRAMロールにアタッチします。 詳細については、「RAMロールへの権限の付与」トピックの「方法1: [ロール] ページの [権限の付与] 」セクションを参照してください。
[信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックし、暗号化されたスナップショットの共有先を指定します。 次のコードは、信頼ポリシーのコンテンツの例を示しています。 詳細については、「RAMロールの信頼ポリシーの編集」をご参照ください。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<UID>@ecs.aliyuncs.com" ] } } ], "Version": "1" }
説明信頼ポリシーで、
<UID>
をスナップショットを共有するAlibaba CloudアカウントのIDに置き換えます。 スナップショットを複数のAlibaba Cloudアカウントと共有するには、スナップショットを共有するAlibaba CloudアカウントのIDを追加する必要があります。
手順2: 暗号化スナップショットの共有
共有者としてECSコンソールにログインします。
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
共有する暗号化されたスナップショットを見つけ、[操作] 列で /> [スナップショットの共有] を選択します。
[リソース共有に追加] ダイアログボックスで、パラメーターを設定します。
リソース管理コンソールの共有ページで作成したリソース共有を選択します。
説明リソース管理のリソース共有機能を使用すると、他のAlibaba Cloudアカウントとスナップショットを共有できます。 リソース共有を作成してリソースを共有できます。 リソース共有は、リソースの所有者、依頼人、共有リソースで構成されます。 プリンシパルは、リソース所有者のリソースを使用するよう招待されたAlibaba Cloudアカウントです。 リソース共有の詳細については、「リソース共有の概要」をご参照ください。
[プリンシパル] セクションで、[編集] をクリックしてプリンシパルを追加します。
デフォルトでは、[プリンシパルスコープ] パラメーターは [リソースディレクトリ内のオブジェクト] に設定されます。 詳細については、「リソース共有の概要」トピックの「リソースの共有に使用される方法」セクションをご参照ください。
スナップショットを共有するAlibaba CloudアカウントのIDを入力し、[追加] をクリックします。
パラメーターを指定します。 次に、[OK] をクリックします。
共有者が共有スナップショットを使用
共有者は、共有者からの共有スナップショットを使用するための招待を受け入れる必要があります。
共有者は共有スナップショットを受け入れます。
リソース管理コンソールに共有者としてログインします。
左側のナビゲーションウィンドウで、[リソース共有] > [リソース共有] を選択します。
上部のナビゲーションバーの左上隅で、共有スナップショットが存在するリージョンを選択します。
[共有先] ページで、作成したリソース共有を見つけ、[ステータス] 列の [同意] をクリックします。
[リソース共有の招待を受け入れる] メッセージで、[受け入れる] をクリックします。
招待を承認すると、共有者 (共有者) は共有スナップショットを使用でき、リソース共有に追加された後続の共有リソースはデフォルトで承認されます。
共有スナップショットを表示します。
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、[ストレージとスナップショット] > [スナップショット] を選択します。
上部のナビゲーションバーの左上隅で、共有スナップショットが存在するリージョンを選択します。
スナップショットリストで共有スナップショットを表示します。
アイコンの上にポインタを移動します。 acs:ecs:sharedFrom:<スナップショットを共有するアカウントのUID >:< ソーススナップショットが存在するリージョン >:< ソーススナップショットのID> の形式のタグが表示されます。
[作成方法] は [共有スナップショット] に設定されます。
アイコンの上にポインタを移動します。 スナップショットを共有するアカウントのIDやソーススナップショットのIDなどの情報が表示されます。
[操作] 列で /> [共有スナップショットの表示] を選択して、[リソース管理] コンソールで共有スナップショットに関する情報を表示することもできます。
共有スナップショットを使用します。
暗号化されていないスナップショットが共有されている場合、共有者は共有された暗号化されていないスナップショットを使用して次の操作を実行できます。
スナップショットからディスクを作成します。 詳細については、「スナップショットからのディスクの作成」をご参照ください。
スナップショットをコピーします。 詳細については、「スナップショットのコピー」をご参照ください。
暗号化されたスナップショットが共有されている場合、共有者は共有された暗号化スナップショットを使用して次の操作を実行できます。
スナップショットからディスクを作成し、ディスクに別の暗号化キーを使用します。 詳細については、「スナップショットからのディスクの作成」をご参照ください。
スナップショットをコピーし、スナップショットコピーに別の暗号化キーを使用します。 詳細については、「スナップショットのコピー」をご参照ください。
SDKを使用したスナップショットの共有
この例では、ECS SDK for Javaを使用し、オープンソースのサンプルプロジェクトを提供して、アカウント間でスナップショットを共有し、共有スナップショットを使用してディスクを作成するのに役立ちます。
[スナップショット共有サンプルプロジェクト] をクリックして、スナップショット共有サンプルプロジェクトをダウンロードします。
プロジェクトには、次のAPI操作が含まれます。
CreateResourceShare
: 共有者はスナップショットを共有するためのリソース共有を作成します。ReceiveResourceShare
: 共有者はスナップショット共有の招待を受け入れます。UseResourceShare
: 共有スナップショットを使用してディスクを作成します。
サンプルプロジェクトを設定します。
pom.xml
ファイルにSDKの依存関係をインストールします。 詳細については、「ECS SDK For Javaのインストール」をご参照ください。<!--Resource Sharing SDK--> <dependency> <groupId>com.aliyun</groupId> <artifactId>resourcesharing20200110</artifactId> <version>${lastVersion}</version> </dependency> <!--ECS SDK--> <dependency> <groupId>com.aliyun</groupId> <artifactId>alibabacloud-ecs20140526</artifactId> <version>${lastVersion}</version> </dependency>
説明SDKパッケージは頻繁に更新されます。 GitHubのWebサイトから最新バージョンの依存関係を入手することを推奨します。 詳細については、「ECS SDKのインストールと使用」をご参照ください。
環境変数
ALIBABA_CLOUD_ACCESS_KEY_ID
とALIBABA_CLOUD_ACCESS_KEY_SECRET
をオンプレミス環境に追加し、変数の値を実際のAccessKey IDとAccessKey secretに置き換えます。プロジェクト内の他の変数の値を、共有するスナップショットのID、スナップショットを共有するアカウントのUID、作成するディスクのカテゴリなど、必要に応じて実際の値に置き換えます。
各Javaコードスニペットをコンパイルして実行します。
対応するコンソールで実行結果を確認してください。
スナップショットの共有者である場合は、リソース管理コンソールにログインして、作成されたリソース共有を表示します。 スナップショットの共有者である場合は、ECSコンソールにログインして、アカウントと共有されているスナップショットと、スナップショットから作成されたディスクを表示します。
スナップショットの共有解除
スナップショットを別のAlibaba Cloudアカウントと共有する必要がなくなった場合は、ECSコンソールでスナップショットの共有を解除できます。
共有者がスナップショットを共有解除すると、次の影響が共有者に与えられます。
共有者は、ECSコンソールで、またはAPI操作を呼び出してスナップショットを表示できなくなりました。
共有者がスナップショットから作成したディスクはリセットできなくなりました。 スナップショットが複数のリージョンにまたがって共有者によってコピーされた場合、スナップショットコピーは影響を受けません。
共有者としてECSコンソールにログインします。
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
共有を解除するスナップショットを見つけて、[操作] 列で /> [スナップショットの共有] を選択します。
[リソース共有に追加] ダイアログボックスで、スナップショットを追加するリソース共有を選択します。
[プリンシパル] セクションで、[編集] をクリックします。
[追加されたプリンシパル] セクションで、[操作] 列の [削除] をクリックします。
[OK] をクリックして、共有者からスナップショットの共有を解除します。
関連ドキュメント
スナップショットが不要になった場合は、不要なコストを防ぐため、できるだけ早い機会にスナップショットを削除することを推奨します。