Amazon WorkSpaces と Application Auto Scaling
WorkSpaces のプールは、ターゲット追跡スケーリングポリシー、ステップスケーリングポリシー、およびスケジュールされたスケーリングを使用してスケールできます。
以下の情報を使用して、WorkSpaces と Application Auto Scaling との統合に役立ててください。
WorkSpaces 用に作成された、サービスにリンクされたロール
Application Auto Scaling を使用してスケーラブルなターゲットとして WorkSpaces リソースを登録すると、AWSServiceRoleForApplicationAutoScaling_WorkSpacesPool という、サービスにリンクされたロールが、Application Auto Scaling によって自動的に AWS アカウント に作成されます。詳細については、「Application Auto Scaling 用のサービスリンクロール」を参照してください。
この、サービスにリンクされたロールは、マネージドポリシー AWSApplicationAutoscalingWorkSpacesPoolPolicy を使用します。このポリシーは、ユーザーに代わって Amazon WorkSpaces を呼び出すためのアクセス許可を Application Auto Scaling に付与します。詳細については、「AWS マネージドポリシーリファレンス」の「AWSApplicationAutoscalingWorkSpacesPoolPolicy」を参照してください。
サービスリンクロールが使用するサービスプリンシパル
サービスにリンクされたロールはその引き受け時に、以下のサービスプリンシパルを信頼します。
-
workspaces.application-autoscaling.amazonaws.com
スケーラブルターゲットとしての WorkSpaces プールの Application Auto Scaling への登録
Application Auto Scaling では、WorkSpaces のスケーリングポリシーまたはスケジュールされたアクションを作成する前に、スケーラブルターゲットが必要になります。スケーラブルターゲットとは、Application Auto Scaling がスケールアウトおよびスケールインできるリソースです。スケーラブルターゲットは、リソース ID、スケーラブルディメンション、および名前空間の組み合わせによって一意に識別されます。
WorkSpaces コンソールを使用して自動スケーリングを設定すると、WorkSpaces がユーザーに代わってスケーラブルターゲットを自動的に登録します。
AWS SDK のいずれか、または AWS CLI を使用して自動スケーリングを設定する場合は、以下のオプションを使用できます。
-
AWS CLI:
WorkSpaces のプールに対して register-scalable-target コマンドを呼び出します。次の例では、リクエスト ID を使用して WorkSpaces プールのターゲット容量を登録します。最小容量は 2 つの仮想デスクトップ、最大容量は 10 の仮想デスクトップです。
aws application-autoscaling register-scalable-target \ --service-namespace workspaces \ --resource-id workspacespool/
wspool-abcdef012
\ --scalable-dimension workspaces:workspacespool:DesiredUserSessions \ --min-capacity2
\ --max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
AWS SDK:
RegisterScalableTargetオペレーションを呼び出し、
ResourceId
、ScalableDimension
、ServiceNamespace
、MinCapacity
、およびMaxCapacity
をパラメータとして指定します。