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 デザイナー を使えば、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 リファレンスを参照してください。
サンプルテンプレートスニペット
AWS CloudFormation テンプレートに組み込むスニペットの例は、「AWS CloudFormation ユーザーガイド」の以下のセクションに記載されています。
-
スケーリングポリシーとスケジュールされたアクションの例については、「AWS CloudFormationで Application Auto Scaling リソースを設定する」を参照してください。
-
スケーリングポリシーのその他の例については、「AWS::ApplicationAutoScaling::ScalingPolicy」を参照してください。
AWS CloudFormation の詳細はこちら
AWS CloudFormation の詳細については、以下のリソースを参照してください。