すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:暗号化されたカスタムイメージを共有する

最終更新日:Jan 17, 2024

共有イメージを使用して、同じリージョン内のアカウント間にElastic Compute Service (ECS) インスタンスをデプロイできます。 暗号化されたカスタムイメージを他のAlibaba Cloudアカウントまたは組織内でリソースディレクトリまたはフォルダーに基づいて共有する前に、RAM (resource Access Management) を使用してRAMロールを作成し、そのロールに必要な権限を付与する必要があります。 このトピックでは、暗号化されたカスタムイメージを共有する方法と、イメージを共有する際の注意事項について説明します。

シナリオ

説明

暗号化されたカスタムイメージは、中国 (北京) 、中国 (上海) 、中国 (香港) 、シンガポールの各リージョンでのみ共有できます。

  • 中国 (北京): ゾーンA、ゾーンB、ゾーンC、ゾーンD、ゾーンE、ゾーンF、ゾーンG、ゾーンH、ゾーンI、ゾーンJ、ゾーンK、ゾーンL
  • 中国 (上海): ゾーンA、ゾーンB、ゾーンC、ゾーンD、ゾーンE、ゾーンF、ゾーンG、ゾーンK、ゾーンL、ゾーンM、ゾーンN
  • 中国 (香港): ゾーンB、ゾーンC、ゾーンD
  • シンガポール: ゾーンA、ゾーンB、ゾーンC
  • シナリオ1: Alibaba Cloudアカウント内のイメージを1つ以上のAlibaba Cloudアカウントと共有したい場合。

  • シナリオ2: Alibaba Cloudサービスを使用する場合、リソースディレクトリを使用して組織のすべてのAlibaba Cloudアカウントを管理します。 リソースディレクトリ内のメンバーのイメージを、リソースディレクトリ内のすべてのメンバー、またはリソースディレクトリ内の特定のフォルダ内のすべてのメンバーと共有する場合。

    シナリオ2でイメージを共有する場合、リソースディレクトリまたはフォルダー内のすべてのアカウントが共有イメージにアクセスできます。 後でリソースディレクトリまたはフォルダーに追加されたアカウントも、共有イメージにアクセスできます。 リソースディレクトリまたはフォルダーから削除されたアカウントは、共有イメージにアクセスできなくなります。 詳細については、「リソース共有の概要」をご参照ください。

    説明

    Resource Directoryは、多数のアカウントとリソース間の関係を管理するために使用できるサービスです。 リソースディレクトリを使用すると、ビジネス要件に基づいて組織構造をすばやく確立し、組織のアカウントをその構造に統合して、組織のリソースの階層を形成できます。 詳細については、「リソースディレクトリの概要」をご参照ください。

    リソースディレクトリに基づいてカスタムイメージを共有した場合は、シナリオ1で説明した方法でカスタムイメージを再作成しないことをお勧めします。 これにより、リソースディレクトリ内の画像共有データの不整合が防止される。

準備

  • カスタムイメージを共有する前に、すべての機密データとファイルがイメージから削除されていることを確認してください。

  • さまざまなシナリオでカスタムイメージを共有する場合は、次の項目に注意してください。

    • 他のAlibaba Cloudアカウントとイメージを共有するには、Alibaba CloudアカウントのIDを取得する必要があります。

      Alibaba CloudアカウントのIDを取得するには、アカウントを使用してAlibaba Cloud管理コンソールにログインし、右上隅のプロフィール写真の上にポインターを移動します。 アカウントにメインアカウントのタグが付いている場合、アカウントIDはAlibaba CloudアカウントIDです。

    • リソースディレクトリまたはフォルダーに基づいて組織内で画像を共有するには、管理アカウントとメンバーアカウントを使用してリソースディレクトリを有効にする必要があります。 詳細については、「リソースディレクトリの有効化」をご参照ください。

  • 同じリージョン内のアカウント間でのみ画像を共有できます。 イメージを複数のリージョンで共有する場合は、イメージをコピー先のリージョンにコピーしてから、イメージのコピーを共有します。 イメージを共有してから、共有イメージを目的のリージョンにコピーすることもできます。 詳細については、「カスタムイメージのコピー」をご参照ください。

使用上の注意

画像を共有する前に、次の表に記載されている項目に注意してください。

共有者

項目

説明

共有料金

画像の共有に対しては課金されません。

アカウント権限

  • アカウント内で作成されたカスタムイメージを共有できます。 他のアカウントで作成および共有されたカスタムイメージは共有できません。

  • 各カスタムイメージは、限られた数のユーザーと共有できます。 ECSコンソールの [リソースクォータ] タブで [カスタムイメージごとに共有できるユーザーのクォータ] を確認して、各カスタムイメージを共有できるユーザーの最大数を確認できます。

    説明

    ECSコンソールで、ビジネス要件に基づいてこのクォータの増加をリクエストできます。 詳細については、「リソースクォータの表示と増加」をご参照ください。

  • Alibaba Cloudアカウントとイメージを共有する場合は、Alibaba Cloudアカウントを使用してイメージを共有する必要があります。 Alibaba Cloudアカウントは、ポリシーをアタッチすることで、RAM (Resource Access Management) ユーザーに権限を付与できます。

    • たとえば、Alibaba CloudアカウントAがAlibaba CloudアカウントBとイメージを共有し、Alibaba CloudアカウントBがRAMユーザーB1を持っている場合、アカウントBはシナリオに基づいて共有イメージに対する権限をB1に付与する必要があります。

      説明

      シナリオ1: B1が共有イメージを表示する必要がある場合、DescribeImages操作を呼び出す権限をB1に付与する必要があります。 B1に権限を付与するには、アカウントBが次のようなカスタムポリシーをB1にアタッチする必要があります。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeImages",
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }

      シナリオ2: B1が共有イメージからECSインスタンスを作成する必要がある場合、B1にRunInstancesまたはCreateInstance操作を呼び出す権限を付与する必要があります。 B1に権限を付与するには、アカウントBが次のようなカスタムポリシーをB1にアタッチする必要があります。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      ecs:RunInstances
                      "ecs:CreateInstance"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }

      詳細については、「カスタムポリシーの作成」トピックの「JSONタブでカスタムポリシーを作成する」セクションをご参照ください。

    • 特定のケースでは、Alibaba Cloudアカウントは、カスタムポリシーをアタッチして、RAMユーザーに対してきめ細かい権限制御を実行する必要があります。 たとえば、Alibaba Cloudアカウントは、別のAlibaba Cloudアカウントで共有されているカスタムイメージからECSインスタンスを作成する権限、またはパブリックイメージやAlibaba Cloud MarketplaceイメージではなくカスタムイメージからECSインスタンスを作成する権限のみをRAMユーザーに付与できます。 詳細については、「ECSインスタンスの作成に使用する共有イメージのポリシーの設定」をご参照ください。

Region

  • 同じリージョン内のアカウント間でのみ画像を共有できます。

  • イメージは、Alibaba Cloud Marketplaceイメージから派生したカスタムイメージを除き、中国サイト (aliyun.com) 、国際サイト (alibabacloud.com) 、日本サイト (jp.alibabacloud.com) のアカウント間で共有できます。 Alibaba Cloud Marketplaceイメージから派生したカスタムイメージの料金は、サイトによって異なります。 これらの画像をサイト間で共有することはできません。

株式

項目

説明

共有料金

  • アカウントで共有されているイメージは、アカウントのイメージクォータにカウントされません。 アカウントは共有イメージに対して課金されません。

  • 共有イメージが有料イメージであり、共有者が共有イメージを使用してECSインスタンスを作成する場合、共有者はイメージに対して課金されます。 たとえば、別のAlibaba Cloudアカウントで共有されている有料イメージを使用してインスタンスを作成した場合、共有イメージと作成されたインスタンスに対して課金されます。

イメージ課金の詳細については、「イメージ」をご参照ください。

制限事項

  • 共有者は共有イメージを使用してECSインスタンスを作成できます。 または、共有イメージをカスタムイメージとしてアカウントにコピーし、イメージを削除または更新することもできます。 詳細については、「共有イメージの使用」をご参照ください。

  • 支払いの滞納や無効なキーにより、共有イメージまたはソースイメージで使用されているリソースが利用できない場合、共有イメージを使用してECSインスタンスを作成することはできません。 この場合、共有イメージから作成されたECSインスタンス、およびインスタンスのディスクに基づいて作成されたスナップショットとイメージは使用できない可能性があります。

ステップ1: RAMロールを作成し、ロールに権限を付与する

暗号化されたカスタムイメージをAlibaba Cloudアカウントまたは組織内でリソースディレクトリまたはフォルダーに基づいて共有する前に、RAMを使用してAliyunECSShareEncryptImageDefaultRoleという名前のRAMロールを作成し、ロールに必要な権限を付与する必要があります。

  1. 暗号化されたカスタムイメージを共有するAlibaba CloudアカウントでRAMコンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。
  3. [ロールの作成] をクリックします。 [ロールの作成] パネルで、次の操作を実行します。
    1. [ロールタイプの選択] ステップで、[Alibaba Cloudアカウント] を選択し、[次へ] をクリックします。
    2. [ロールの設定] ステップで、[RAMロール名] フィールドに [AliyunECSShareEncryptImageDefaultRole] と入力し、[信頼できるAlibaba Cloudアカウントの選択][現在のAlibaba Cloudアカウント] に設定し、[OK] をクリックします。
    3. [完了] ステップで、[RAMロールに権限を追加] をクリックします。
    4. [権限の追加] パネルで、[ポリシーの選択] セクションの [システムポリシー] をクリックし、検索ボックスにAliyunKMSFullAccessと入力します。
      他のパラメータのデフォルト値を受け入れます。 KMS permissions
    5. AliyunKMSFullAccessポリシーをクリックして、選択したセクションにポリシーを追加し、OKをクリックします。 [OK] をクリックします。
  4. [ロール] ページで、[ロールの作成] の横にある検索ボックスに [AliyunECSShareEncryptImageDefaultRole] と入力します。 次に、ロール名をクリックして、ロールの詳細ページに移動します。
    Roles
  5. ロールの詳細ページで、信頼ポリシーを変更します。
    1. [信頼ポリシー管理] タブをクリックします。
    2. [信頼ポリシーの編集] をクリックし、[信頼ポリシーの編集] パネルのデフォルトの信頼ポリシーを置き換えます。
      • 暗号化されたカスタムイメージを単一のAlibaba Cloudアカウントと共有する場合は、デフォルトの信頼ポリシーを次のポリシーに置き換えます。 置換ポリシーで、<UID> を、イメージを共有するAlibaba CloudアカウントのIDに置き換えます。
        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "<UID>@ ecs.aliyuncs.com"
                ]
              }
            }
          ],
          "バージョン": "1"
        } 
      • 暗号化されたカスタムイメージを複数のAlibaba Cloudアカウントと共有する場合は、デフォルトの信頼ポリシーを次のポリシーに置き換えます。 置換ポリシーで、<UID-X> をイメージを共有する各Alibaba CloudアカウントのIDに置き換えます。
        {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "<UID-1>@ ecs.aliyuncs.com" 、
                  "<UID-2>@ ecs.aliyuncs.com" 、
                  "<UID-3>@ ecs.aliyuncs.com"
                ]
              }
            }
          ],
          "バージョン": "1"
        } 
      • リソースディレクトリに基づいて組織内で暗号化されたカスタムイメージを共有する場合は、次のシナリオに基づいて既定の信頼ポリシーを置き換えます。
        • シナリオ1: 暗号化されたカスタムイメージをリソースディレクトリと共有する場合は、デフォルトの信頼ポリシーを、リソースディレクトリのIDが指定されている次のポリシーに置き換えます
          。{
            "Statement": [
              {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                  "サービス": "* @ ecs.aliyuncs.com"
                },
                "Condition": {
                  "StringEquals": {
                    "sts:ServiceOwnerRDId": "<リソースディレクトリID>"
                  }
                }
              }
            ],
            "バージョン": "1"
          } 

          上記のポリシーで、<Resource directory ID> を、イメージを共有するリソースディレクトリのIDに置き換えます。 リソースディレクトリのIDの表示方法については、「リソースディレクトリの基本情報の表示」をご参照ください。

        • シナリオ2: 暗号化されたカスタムイメージをフォルダーと共有する場合は、デフォルトの信頼ポリシーを次のポリシーに置き換えます。このポリシーでは、フォルダーのリソースディレクトリパスが <リソースディレクトリID>/<ルートフォルダーID>/.../<現在のフォルダーID *> 形式:
          
            "Statement": [
              {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                  "サービス": "* @ ecs.aliyuncs.com"
                },
                "Condition": {
                  "StringLike": {
                    "sts:ServiceOwnerRDPath": "<リソースディレクトリID>/<ルートフォルダID>/.../<現在のフォルダID *>"
                  }
                }
              }
            ],
            "バージョン": "1"
          } 

          上記のポリシーでは、<Resource directory ID>/<Root folder ID>/.../<Current folder ID *> を、イメージを共有するフォルダーのリソースディレクトリパスに置き換えます。 フォルダーのリソースディレクトリのパスを取得する方法については、「フォルダーの基本情報の表示」をご参照ください。

    3. [OK] をクリックします。

ステップ2: 暗号化されたカスタムイメージを共有する

  1. ECSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[インスタンスとイメージ] > [イメージ] を選択します。

  3. 上部のナビゲーションバーの左上隅で、リージョンを選択します。 地域

  4. [カスタムイメージ] タブで、共有するカスタムイメージを見つけ、[操作] 列の [イメージの共有] をクリックします。

  5. [イメージの共有] ダイアログボックスで、実際の要件に基づいてパラメーターを設定します。

    • 他のAlibaba Cloudアカウントとイメージを共有する

      1. 共有アカウントIDフィールドにAlibaba CloudアカウントのIDを入力します。

      2. 選択します画像をアカウントと共有すると、アカウントは画像のデータを取得できます。 データのセキュリティを確保するために、アカウントとイメージを共有することを確認します。

      3. [確認]をクリックします。

    • リソースディレクトリまたはフォルダに基づいて組織内で画像を共有する

      1. [共有タイプ] セクションで、[共有組織] をクリックします。

        説明

        リソースディレクトリが有効になっている管理アカウントまたはメンバーアカウントのみが、組織内のリソースを共有できます。 共有組織が表示されない場合は、リソースディレクトリを有効にする必要があります。 詳細については、「リソースディレクトリの有効化」をご参照ください。

      2. リソース管理コンソールに移動して、共有操作を完了します。 詳細については、「リソース共有の作成」をご参照ください。

        説明

        [リソース共有の作成] ページの [リソース] セクションで、リソースタイプを [ECSイメージ] に設定します。

    画像を共有した後、画像を見つけ、画像に対応するimage.pngアイコンの上にポインタを移動して、画像が共有されているAlibaba Cloudアカウントを表示します。

    image.png

次のステップ

  • イメージを共有すると、共有者はECSコンソールで共有イメージを使用できます。 詳細については、「共有イメージの使用」をご参照ください。

  • 共有する必要がなくなったカスタムイメージの共有を解除できます。 詳細については、「イメージの共有解除」をご参照ください。