AWS CloudHSM での共有バックアップの使用 - AWS CloudHSM

AWS CloudHSM での共有バックアップの使用

CloudHSM は AWS Resource Access Manager (AWS RAM) と統合してリソース共有を可能にします。AWS RAM は、一部の CloudHSM リソースを他の AWS アカウント と、または AWS Organizations を通じて共有できるようにするサービスです。AWS RAM を使用したリソース共有。これにより、自身が所有するリソースを共有できます。リソース共有は、共有するリソースと、それらを共有するコンシューマーを指定します。コンシューマーには以下が含まれます。

  • AWS Organizations の特定の AWS アカウント の組織の内部または外部

  • AWS Organizations の組織内の組織単位

  • AWS Organizations の組織全体

AWS RAM についてはAWS RAMユーザーガイドを参照してください。

このトピックでは、所有しているリソースの共有方法と、共有されているリソースの使用方法を説明します。

バックアップを共有するための前提条件

  • バックアップを共有するには、AWS アカウント でバックアップを所有している必要があります。つまり、自分のアカウントにそのリソースが割り当てられているか、プロビジョニングされている必要があります。自分と共有されているバックアップを共有することはできません。

  • バックアップを共有するには、バックアップが READY 状態である必要があります。

  • バックアップを組織または AWS Organizations の組織単位と共有するには、AWS Organizations との共有を有効にする必要があります。詳細については、「AWS RAM ユーザーガイド」の「AWS Organizations で共有を有効化する」を参照してください。

バックアップの共有

バックアップを他の AWS アカウント と共有する場合、バックアップに保存されているキーとユーザーを含むクラスターをバックアップから復元できるようにします。

バックアップを共有するには、リソース共有に追加する必要があります。リソース共有とは、AWS アカウント間で自身のリソースを共有するための AWS RAM リソースです。リソース共有では、共有対象のリソースと、共有先のコンシューマーを指定します。CloudHSM コンソールを使用してバックアップを共有すると、既存のリソース共有に追加されます。新しいリソース共有にバックアップを追加するには、まず AWS RAM コンソールを使用してリソース共有を作成する必要があります。

AWS Organizations の組織に属していて、組織内での共有が有効になっている場合、組織内のコンシューマーには共有に対するアクセス許可が自動的に付与されます。これに該当しない場合、コンシューマーはリソースへの参加の招待を受け取り、その招待を受け入れた後で、共有バックアップに対するアクセス許可が付与されます。

AWS RAM コンソールまたは AWS CLI を使用して、所有するバックアップを共有できます。

AWS RAM コンソールを使用して、自身が所有するバックアップを共有するには

AWS RAM ユーザーガイド 」の「リソース共有の作成」を参照してください。

所有するバックアップを共有するには (AWS RAM コマンド)

create-resource-share コマンドを使用します。

所有しているバックアップを共有するには (CloudHSM コマンド)

重要

CloudHSM PutResourcePolicy オペレーションを使用してバックアップを共有できますが、代わりに AWS Resource Access Manager (AWS RAM) を使用することをお勧めします。AWS RAM を使用すると、ポリシーが作成され、複数のリソースが一度に共有できるようになり、共有リソースを見つけやすくなるなど、複数の利点が得られます。PutResourcePolicy を使用して、共有したバックアップをコンシューマーが説明できるようにしたい場合は、AWS RAM PromoteResourceShareCreatedFromPolicy API オペレーションを使用して、バックアップを標準の AWS RAM Resource Share に昇格させる必要があります。

put-resource-policy コマンドを使用します。

  1. policy.json という名前のファイルを作成し、次のポリシーをコピーします。

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "AWS":"111122223333" }, "Action":[ "cloudhsm:CreateCluster", "cloudhsm:DescribeBackups" ], "Resource":"arn:aws:cloudhsm:us-west-2:111122223333:backup/backup-to-share" } ] }
  2. 共有したいバックアップ ARN と識別子で policy.json を更新します。次の例では、「123456789012」で識別される AWS アカウントのルートユーザーに、読み取り専用アクセスを付与します。

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "AWS": [ "123456789012" ] }, "Action": [ "cloudhsm:CreateCluster", "cloudhsm:DescribeBackups" ], "Resource":"arn:aws:cloudhsm:us-west-2:123456789012:backup/backup-123" } ] }
    重要

    DescribeBackups にアクセス許可を付与できるのは、アカウントレベルのみです。バックアップを別の顧客と共有すると、そのアカウントで DescribeBackups アクセス許可を持つプリンシパルはバックアップの詳細を確認できます。

  3. put-resource-policy コマンドを使用します。

    $ aws cloudhsmv2 put-resource-policy --resource-arn <resource-arn> --policy file://policy.json
    注記

    この時点で、共有先の顧客はバックアップを利用できますが、DescribeBackups コマンドを実行しても、共有されているという情報は表示されません。次の手順では、バックアップをレスポンスに含めるために、AWS RAM リソース共有の権限を上げる方法について説明します。

  4. AWS RAM リソース共有 ARNを取得する。

    $ aws ram list-resources --resource-owner SELF --resource-arns <backup-arn>

    これにより、次のようなレスポンスが得られます。

    { "resources": [ { "arn": "<project-arn>", "type": "<type>", "resourceShareArn": "<resource-share-arn>", "creationTime": "<creation-time>", "lastUpdatedTime": "<last-update-time>" } ] }

    レスポンスから、次の手順で使用する <resource-share-arn> 値をコピーします。

  5. AWS RAM の「promote-resource-share-created-from-policy」コマンドを実行します。

    $ aws ram promote-resource-share-created-from-policy --resource-share-arn <resource-share-arn>
  6. リソース共有が昇格されたことを確認するには、AWS RAMget-resource-shares コマンドを実行します。

    $ aws ram get-resource-shares --resource-owner SELF --resource-share-arns <resource-share-arn>

    ポリシーが昇格されると、レスポンスに表示される featureSetSTANDARD になります。これは、新しいアカウントが、バックアップの詳細を記述できることを意味します。

共有バックアップの共有解除

リソースの共有を解除すると、コンシューマーはリソースを使用してクラスターを復元できなくなります。コンシューマーは、共有バックアップから復元したクラスターに引き続きアクセスできます。

自己所有の共有バックアップの共有を解除するには、そのバックアップをリソース共有から削除する必要があります。これを行うには、AWS RAM コンソールまたは AWS CLI を使用します。

AWS RAM コンソールを使用して、自己所有の共有バックアップの共有を解除するには

AWS RAMユーザーガイドリソース共有の更新を参照してください。

所有している共有バックアップの共有を解除するには (AWS RAM コマンド)

disassociate-resource-share コマンドを使用します。

所有している共有バックアップの共有を解除するには (CloudHSM コマンド)

delete-resource-policy コマンドを使用します。

$ aws cloudhsmv2 delete-resource-policy --resource-arn <resource-arn>

共有バックアップの特定

コンシューマーは、CloudHSM コンソールと AWS CLI を使用して、共有されているバックアップを識別できます。

CloudHSM コンソールを使用して共有されているバックアップを特定するには
  1. AWS CloudHSM コンソール (https://console.aws.amazon.com/cloudhsm/home) を開きます。

  2. AWS リージョン を変更するにはページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[バックアップ] を選択します。

  4. テーブルで、[共有バックアップ] タブを選択します。

AWS CLI を使用して共有されたバックアップを識別するには

describe-backups コマンドで --shared パラメータを使用して、共有されているバックアップを返します。

共有バックアップのアクセス許可

所有者のアクセス許可

バックアップ所有者は、共有バックアップを記述して管理し、それを使用してクラスターを復元できます。

コンシューマーのアクセス許可

バックアップコンシューマーは共有バックアップを変更することはできませんが、それを記述してクラスターを復元するために使用できます。

請求と使用量測定

バックアップの共有に追加料金はかかりません。