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

Auto Scaling:リソースグループを使用してスケーリンググループをきめ細かく管理する

最終更新日:Sep 24, 2024

Alibaba Cloudアカウントにスケーリンググループなどの複数のクラウドリソースがある場合、これらのリソースをグループごとに管理して、リソースの分離と権限制御を実装できます。 このトピックでは、リソースグループを使用してAuto Scalingリソースを詳細に管理する方法について説明します。

背景情報

リソースグループは、目的、権限、または所有権によって管理されるクラウドリソースのグループです。 リソースグループを作成して、さまざまなユーザーやマルチレベルプロジェクトのリソースを企業内で階層的に管理できます。 各クラウドリソースは、1つのリソースグループにのみ属することができます。 リソースグループにリソースを追加しても、リソース間の相関は変化しません。 詳細については、「リソースグループ」をご参照ください。

リソースグループを使用する前に、次の項目に注意してください。

  • スケーリンググループをリソースグループに追加すると、スケーリンググループのスケーリング設定、スケーリングルール、イベントトリガータスク、およびスケジュールタスクもリソースグループに追加されます。

  • スケーリンググループが属するリソースグループは、スケーリンググループ内のインスタンスが属するリソースグループとは独立しています。

    たとえば、スケーリンググループが属するリソースグループは、スケーリンググループ内のElastic Compute Service (ECS) インスタンスまたはelastic containerインスタンスが属するリソースグループとは異なる場合があります。

  • 異なるリージョンのスケーリンググループを同じリソースグループに追加できます。

    たとえば、中国 (北京) リージョンにあるスケーリンググループと中国 (杭州) リージョンにあるスケーリンググループを同時にリソースグループaに追加できます。

  • RAMユーザーにすべてのAlibaba Cloudリソースを管理する権限を付与すると、RAMユーザーはメインアカウントによって作成されたすべてのリソースグループにアクセスできます。

シナリオ

説明

リソースグループを使用してスケーリンググループを管理する前に、RAMユーザーが作成されていることを確認してください。 詳細については、「RAM ユーザーの作成」をご参照ください。

以下のシナリオでは、リソースグループを使用してスケーリンググループを管理できます。

シナリオ1: 目的によるスケーリンググループの管理

シナリオの説明

たとえば、本番環境とテスト環境があります。 上記の環境で作成されたスケーリンググループをグループ化しない場合、ログオンする環境に関係なく、すべてのスケーリンググループが表示されます。 これにより、スケーリンググループの誤操作のリスクが高くなります。 誤操作を防止し、リソース管理を簡素化するために、2つの環境に対して2つのリソースグループを作成することを推奨します。 この場合、目的に応じてスケーリンググループをリソースグループに追加できます。 次のサンプルシナリオでは、管理を容易にするためにスケーリンググループがリソースグループに追加されます。

たとえば、Alibaba Cloudアカウント内に2つのスケーリンググループがあるとします。 スケーリンググループAは本番環境で使用され、スケーリンググループBはテスト環境で使用されます。 運用環境用に作成されたリソースグループにスケーリンググループAを追加し、テスト環境用に作成されたリソースグループにスケーリンググループBを追加します。 以下の効果が得られます。

  • テスト環境用に作成されたリソースグループでは、スケーリンググループBのみを表示および操作できます。これにより、スケーリンググループを目的でグループ化しない場合に発生する可能性のあるスケーリンググループAの誤操作やオンラインサービスのパフォーマンスの低下を防ぎます。

  • 本番環境用に作成されたリソースグループでは、スケーリンググループAのみを表示および操作できます。これにより、スケーリンググループを目的でグループ化していない場合に発生する可能性のあるスケーリンググループBの誤操作が防止され、サービスのリリースの進行状況が保証されます。

手順

  1. 運用環境とテスト環境に2つのリソースグループを作成します。

    この例では、本番環境用に作成されたリソースグループの名前はProdResourceGroupで、テスト環境用に作成されたリソースグループの名前はTestResourceGroupです。 詳細については、「リソースグループの作成」をご参照ください。

    资源组.png

    上記の操作が完了すると、リソースグループは [作成中] 状態になります。 約3秒待ってクリックしp80945.pngます。 リソースグループの状態が [作成中] から [使用可能] に変更された場合、リソースグループが作成されます。

  2. テスト環境のスケーリンググループを作成します。

    この例では、スケーリンググループの名前はTestScalingGroupです。 スケーリンググループとスケーリンググループのECSインスタンスが同じリソースグループに属するようにするには、[インスタンス設定ソース] パラメーターの値に基づいて、次のいずれかの操作を実行します。

    • [インスタンス構成ソース] パラメーターを [起動テンプレート] に設定した場合、起動テンプレートを作成するときに、[高度な構成 (オプション)][リソースグループ] パラメーターの値として [TestResourceGroup] を選択します。 詳細については、「起動テンプレートの作成」をご参照ください。

    • [インスタンス設定ソース] パラメーターを [既存のインスタンスの選択] に設定した場合、ECSインスタンスの作成時に、[グループ化 (オプション)][リソースグループ] パラメーターの値として [TestResourceGroup] を選択します。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。

    • [インスタンス設定ソース] パラメーターを [スクラッチから作成] に設定した場合、スケーリング設定を作成するときに、[詳細設定 (オプション)] セクションの [リソースグループ] パラメーターの値として [TestResourceGroup] を選択します。 詳細については、「ECSタイプのスケーリング設定の作成」をご参照ください。

    スケーリンググループの [Resource Group] パラメーターを [TestResourceGroup] に設定します。 詳細については、「スケーリンググループの作成」をご参照ください。

    创建ESS.png

  3. 本番環境のスケーリンググループを作成します。

    この例では、スケーリンググループの名前はProdScalingGroupです。 スケーリンググループとスケーリンググループのECSインスタンスが同じリソースグループに属するようにするには、[インスタンス設定ソース] パラメーターの値に基づいて、次のいずれかの操作を実行します。

    • [インスタンス設定ソース] パラメーターを [起動テンプレート] に設定した場合、起動テンプレートを作成するときに、[詳細設定 (オプション)][リソースグループ] パラメーターの値として [ProdResourceGroup] を選択します。 詳細については、「起動テンプレートの作成」をご参照ください。

    • [インスタンス設定ソース] パラメーターを [既存のインスタンスの選択] に設定した場合、ECSインスタンスの作成時に、[グループ化 (オプション)][リソースグループ] パラメーターの値としてProdResourceGroupを選択します。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。

    • [インスタンス設定ソース] パラメーターを [スクラッチから作成] に設定した場合、スケーリング設定を作成するときに、[詳細設定 (オプション)] セクションの [リソースグループ] パラメーターの値としてProdResourceGroupを選択します。 詳細については、「ECSタイプのスケーリング設定の作成」をご参照ください。

    スケーリンググループの [リソースグループ] パラメーターを [ProdResourceGroup] に設定します。 詳細については、「スケーリンググループの作成」をご参照ください。

    创建ESS-shengchan.png

Verify the result

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

  2. 上部のナビゲーションバーの左上隅で、リソースグループを切り替えて、スケーリンググループと各リソースグループのインスタンスを表示します。

    • [すべてのリソース] を選択した場合、[スケーリンググループ] ページで [TestScalingGroup] および [ProdScalingGroup] スケーリンググループを表示できます。 新しいECSインスタンスがスケーリンググループに追加された場合、[インスタンス] タブでTestResourceGroupおよびProdResourceGroupスケーリンググループのすべてのインスタンスを表示できます。

      列表展示.png

    • TestResourceGroupを選択した場合、スケーリンググループページでTestScalingGroupスケーリンググループのみを表示できます。 新しいECSインスタンスがスケーリンググループに追加された場合、[インスタンス] タブでTestResourceGroupスケーリンググループのインスタンスのみを表示できます。

      伸缩组.png

    • ProdResourceGroupを選択した場合、[スケーリンググループ] ページでProdScalingGroupスケーリンググループのみを表示できます。 新しいECSインスタンスがスケーリンググループに追加された場合、[インスタンス] タブでは、ProdResourceGroupスケーリンググループのインスタンスのみを表示できます。

      伸缩组2.png

シナリオ2: リソースグループ内のユーザーと権限の管理

シナリオの説明

たとえば、会社には、異なるリソースグループの異なるスケーリンググループを使用する複数のブランチがあり、各ブランチにはリソースを管理する独自の管理者がいます。 リソースグループ内でクロスブランチ管理者ベースの権限管理を確実にするために、必要な権限を各管理者に割り当てることを推奨します。 この場合、一部の管理者は本番環境でのみリソースにアクセスできますが、他の管理者はテスト環境でのみリソースにアクセスできます。 次のサンプルシナリオでは、リソースグループベースの権限管理が実行されます。

たとえば、会社がAlibaba Cloudアカウントを所有し、支店に独立したRAMユーザーがいるとします。 ブランチAとブランチBは、それぞれのスケーリンググループを独立して管理する必要があります。 この場合、ブランチは、互いのスケーリンググループを操作することができない。 次の要件を満たす必要があります。

  • ブランチAとブランチBは、互いのスケーリンググループを作成したり、スケーリンググループや互いのスケーリングルールなどの他の設定を変更したりすることはできません。

  • ブランチAとブランチBは、互いのスケーリンググループを表示できません。

手順

  1. RAMコンソールでApiWithoutResourcePolicyポリシーを作成します。

    一部のAuto Scaling API操作は、リソースグループベースの認証をサポートしていません。 したがって、API操作のカスタムポリシーを作成する必要があります。 詳細については、「カスタムポリシーの作成」をご参照ください。

    • 次のAPI操作は、リソースグループベースの認証をサポートしていません。

      • DescribeRegions

      • 説明制限

      • DescribeNotificationTypes

      • ListTagKeys

      • ListTagValues

    • 次のサンプルコードは、ApiWithoutResourcePolicyカスタムポリシーのコンテンツの例を示しています。

      {
        "Version": "1",
        "Statement": [
           {
              "Action": [
                 "ess:DescribleRegions",
                 "ess:DescribleLimitation",
                 "ess:DecsribleNotificationTypes",
                 "ess:ListTagKeys",
                 "ess:ListTagValues"
                ],
               "Resource": "*",
               "Effect": "Allow"
             }
          ]
      }
  2. ブランチaとブランチBの各管理者にRAMユーザーを作成し、[認可スコープ] パラメーターを [Alibaba Cloudアカウント] に設定してから、各RAMユーザーに必要な権限を付与します。

    このステップでは、ブランチAの管理者を例として使用して、必要な権限を付与する方法を説明します。 PrincipalパラメーターをブランチAの管理者のRAMユーザーに設定します。手順1で作成したApiWithoutResourcePolicyカスタムポリシーとAliyunECSFullAccessシステムポリシーを選択します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

    • ブランチAの管理者に次のカスタムポリシーを付与します。

      授权A.png

    • ブランチAの管理者に次のシステムポリシーを付与します。

      策略2.png

  3. ブランチaに部門Aという名前のリソースグループを作成し、ブランチBに部門Bという名前のリソースグループを作成します。

    詳細については、「リソースグループの作成」をご参照ください。

    部门资源.png

  4. AliyunESSFullAccessポリシーをBranch Aの管理者にアタッチします。この場合、管理者はDepartment Aリソースグループのすべてのリソースに対する権限を持っています。

    詳細については、「RAM権限の追加」または「RAMユーザーへの権限付与」をご参照ください。

    ess授权-A.png

  5. 手順4を繰り返して、AliyunESSFullAccessポリシーをBranch Bの管理者にアタッチします。この場合、管理者はDepartment Bリソースグループのすべてのリソースに対する権限を持っています。

    [Authorized Scope] パラメーターを [Specific Resource Group] に設定し、[Department B] を選択します。[Principal] パラメーターをブランチBの管理者のRAMユーザーに設定します。

    ess-授权B.png

Verify the result

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

  2. ブランチAの管理者として、異なるリソースグループにスケーリンググループを作成できるかどうかを確認します。上部のナビゲーションバーで、別のリソースグループを選択してスケーリンググループを作成します。

    スケーリンググループの作成方法については、「スケーリンググループの作成」をご参照ください。

    • [部門A] リソースグループを選択した場合、リソースグループ内のブランチaの管理者としてスケーリンググループを作成できます。

      ess-A.png

    • [部門B] リソースグループを選択した場合、リソースグループ内でブランチaの管理者としてスケーリンググループを作成することはできません。

      权限不足.png

  3. 異なるリソースグループのスケーリンググループをブランチAの管理者として表示できるかどうかを確認します。

    スケーリンググループの表示方法については、「スケーリンググループの表示または変更」をご参照ください。

    • 部門Aリソースグループのスケーリンググループを表示できます。

      ess-A.png

    • 部門Bリソースグループのスケーリンググループは表示できません。

      2023-08-28_15-46-52.png