AWS CloudFormation で Application Auto Scaling リソースを作成する
Application Auto Scaling は、リソースとインフラストラクチャの作成と管理に費やす時間を削減できるように、AWS リソースのモデル化とセットアップを支援するサービスである AWS CloudFormation と統合されています。必要な AWS リソースのすべてを記述するテンプレートを作成すると、AWS CloudFormation がユーザーに代わってこれらのリソースのプロビジョンと設定を行います。
AWS CloudFormation を使用するときは、テンプレートを再利用して、Application Auto Scaling リソースを一貫的に繰り返しセットアップできます。リソースを一度記述するだけで、同じリソースを複数の AWS アカウント とリージョンで何度でもプロビジョニングできます。
Application Auto Scaling と AWS CloudFormation テンプレート
Application Auto Scaling と関連サービスのリソースをプロビジョニングして設定するには、AWS CloudFormation テンプレートを理解しておく必要があります。テンプレートは、JSON または YAML 形式のテキストファイルです。これらのテンプレートには、AWS CloudFormation スタックにプロビジョニングしたいリソースを記述します。JSON や YAML に不慣れな方は、AWS CloudFormation Designer を使えば、AWS CloudFormation テンプレートを使いこなすことができます。詳細については、「AWS CloudFormation ユーザーガイド」の「AWS CloudFormation Designer とは」を参照してください。
Application Auto Scaling リソースのスタックテンプレートを作成するときは、以下を指定する必要があります。
-
ターゲットサービスの名前空間 (
など)。サービス名前空間を入手するには、「AWS::ApplicationAutoScaling::ScalableTarget」リファレンスを参照してください。appstream
-
ターゲットリソースに関連付けられているスケーラブルディメンション (
など)。スケーラブルディメンションを入手するには、「AWS::ApplicationAutoScaling::ScalableTarget」リファレンスを参照してください。appstream:fleet:DesiredCapacity
-
ターゲットリソースのリソース ID (
など)。特定のリソース ID の構文と例については、「AWS::ApplicationAutoScaling::ScalableTarget」リファレンスを参照してください。fleet/sample-fleet
-
ターゲットリソース用のサービスリンクロール (
など)。ロール ARN を入手するには、「サービスリンクロールの ARN リファレンス」の表を参照してください。arn:aws:iam::012345678910:role/aws-service-role/appstream.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_AppStreamFleet
Application Auto Scaling リソースの詳細については、AWS CloudFormation ユーザーガイドの Application Auto Scaling リファレンスを参照してください。
サンプルテンプレートスニペット
スタックテンプレートでさまざまなスケーリングポリシーとスケジュールされたアクションを宣言する方法を理解するために使用できるさまざまな JSON および YAML テンプレートをご用意しています。詳細については、AWS CloudFormation ユーザーガイドの Application Auto Scaling テンプレートの例のセクションを参照してください。スケーリングポリシーのその他の例については、「AWS CloudFormation ユーザーガイド」の「AWS::ApplicationAutoScaling::ScalingPolicy」の例のセクションを参照してください。
AWS CloudFormation の詳細はこちら
AWS CloudFormation の詳細については、以下のリソースを参照してください。