AWS::AutoScaling::AutoScalingGroup - AWS CloudFormation

AWS::AutoScaling::AutoScalingGroup

指定された名前と属性で、Amazon EC2 Auto Scaling グループを定義します。

グループの一部として起動される Amazon EC2 インスタンスを設定するには、起動テンプレートまたは起動設定を指定します。起動テンプレートを使用して、Dedicated Hosts インスタンスや T2 Unlimited インスタンスなどの Amazon EC2 の最新機能を使用できることを確認することをお勧めします。詳細については、「Auto Scaling グループの起動テンプレートの作成」を参照してください。

Auto Scaling グループに UpdatePolicy 属性を追加すると、グループに変更が加えられたときにローリング更新 (またはグループの置換) を実行できます。ローリング更新の更新ポリシーのサンプルは、「」セクションにあります。

詳細については、Amazon EC2 Auto Scaling API リファレンスの「CreateAutoScalingGroup」および「UpdateAutoScalingGroup」を参照してください。Amazon EC2 Auto Scaling の詳細については、Amazon EC2 Auto Scaling ユーザーガイドを参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::AutoScaling::AutoScalingGroup", "Properties" : { "AutoScalingGroupName" : String, "AvailabilityZones" : [ String, ... ], "Cooldown" : String, "DesiredCapacity" : String, "HealthCheckGracePeriod" : Integer, "HealthCheckType" : String, "InstanceId" : String, "LaunchConfigurationName" : String, "LaunchTemplate" : LaunchTemplateSpecification, "LifecycleHookSpecificationList" : [ LifecycleHookSpecification, ... ], "LoadBalancerNames" : [ String, ... ], "MaxInstanceLifetime" : Integer, "MaxSize" : String, "MetricsCollection" : [ MetricsCollection, ... ], "MinSize" : String, "MixedInstancesPolicy" : MixedInstancesPolicy, "NewInstancesProtectedFromScaleIn" : Boolean, "NotificationConfigurations" : [ NotificationConfiguration, ... ], "PlacementGroup" : String, "ServiceLinkedRoleARN" : String, "Tags" : [ TagProperty, ... ], "TargetGroupARNs" : [ String, ... ], "TerminationPolicies" : [ String, ... ], "VPCZoneIdentifier" : [ String, ... ] } }

プロパティ

AutoScalingGroupName

Auto Scaling グループの名前。この名前はリージョンごと、アカウントごとに一意である必要があります。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 255

パターン: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: Replacement

AvailabilityZones

グループのアベイラビリティーゾーンのリスト。VPCZoneIdentifier または AvailabilityZones のいずれかのプロパティを指定する必要があります。

アカウントが EC2-Classic と VPC をサポートしている場合、EC2-Classic でインスタンスを起動する Auto Scaling グループを作成するにはこのプロパティが必要です。

必須: 条件付き

タイプ: 文字列のリスト

Update requires: No interruption

Cooldown

スケーリングアクティビティが完了してから別のスケーリングアクティビティが開始されるまでの時間 (秒単位)。デフォルト値は 300 です。

この設定は、簡易スケーリングポリシーを使用する場合は適用されますが、他のスケーリングポリシーまたはスケジュールに基づくスケーリングを使用する場合は適用されません。詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「Amazon EC2 Auto Scaling のスケーリングクールダウン」を参照してください。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

DesiredCapacity

希望する容量は、Auto Scaling グループの作成時の初期容量と、維持しようとする容量です。自動スケーリングを構成すると、この容量を超えて拡張できます。

この数は、グループの最小サイズ以上、最大サイズ以下である必要があります。希望する容量を指定しなかった場合、デフォルトはグループの最小サイズです。

CloudFormation は、必要な容量に達したときに、Auto Scaling グループを成功とマーク (ステータスを CREATE_COMPLETE に設定) します。ただし、起動設定SpotPrice が設定されている場合、希望する容量は成功の基準として使用されません。リクエストが受理されるかどうかは、スポットインスタンスの容量と上限料金によって決まるためです。現在のスポット料金が、指定されている上限料金より低い場合、Amazon EC2 Auto Scaling はグループのターゲット容量として DesiredCapacity を使用します。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

HealthCheckGracePeriod

Amazon EC2 Auto Scaling がサービス状態になった EC2 インスタンスのヘルスステータスを確認するまでに待機する時間 (秒単位)。

値を指定しない場合、AWS CloudFormation は 0 秒の API デフォルト値を使用します。

詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「Auto Scaling インスタンスのヘルスチェック」を参照してください。

ELB ヘルスチェックを追加する場合は、このプロパティを指定する必要があります。

必須: 条件付き

タイプ: 整数

Update requires: No interruption

HealthCheckType

ヘルスチェックに使用するサービス。有効な値は EC2 (デフォルト) と ELB です。ELB ヘルスチェックを使用するように Auto Scaling グループを設定すると、インスタンスは EC2 ステータスチェックまたはロードバランサーヘルスチェックのいずれかに合格しない場合に異常と見なされます。

詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「Auto Scaling インスタンスのヘルスチェック」を参照してください。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 32

パターン: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: No interruption

InstanceId

グループの起動設定を作成するために使用されるインスタンスの ID。

インスタンスの ID を指定すると、Amazon EC2 Auto Scaling が新しい起動設定を作成し、それを Auto Scaling グループに関連付けます。新しい起動設定では、BlockDeviceMapping および AssociatePublicIpAddress を除くすべてのプロパティがインスタンスから取得されます。

詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「EC2 インスタンスを使用した Auto Scaling グループの作成」を参照してください。

LaunchConfigurationNameLaunchTemplateInstanceId、または MixedInstancesPolicy のプロパティのうち、1 つを指定する必要があります。

必須: 条件付き

タイプ: 文字列

Update requires: Replacement

LaunchConfigurationName

インスタンスの起動に使用する起動設定の名前。

LaunchConfigurationNameLaunchTemplateInstanceId、または MixedInstancesPolicy のプロパティのうち、1 つを指定する必要があります。

注記

LaunchConfigurationName を更新しても、既存の Amazon EC2 インスタンスは最初の起動時の設定で引き続き実行されます。既存のインスタンスを更新するには、Auto Scaling グループの UpdatePolicy 属性を指定します。

必須: 条件付き

タイプ: 文字列

最小: 1

最大: 255

パターン: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: No interruption

LaunchTemplate

インスタンスの起動時に使用する起動テンプレートとバージョンを指定するために使用されるパラメータ。

LaunchConfigurationNameLaunchTemplateInstanceId、または MixedInstancesPolicy のプロパティのうち、1 つを指定する必要があります。

注記

LaunchTemplate を更新しても、既存の Amazon EC2 インスタンスは最初の起動時の設定で引き続き実行されます。既存のインスタンスを更新するには、Auto Scaling グループの UpdatePolicy 属性を指定します。

必須: 条件付き

タイプ: LaunchTemplateSpecification

Update requires: No interruption

LifecycleHookSpecificationList

グループのライフサイクルフックは、Amazon EC2 Auto Scaling がインスタンスを起動または終了するときに実行するアクションを指定します。

必須: いいえ

タイプ: LifecycleHookSpecification のリスト

Update requires: No interruption

LoadBalancerNames

この Auto Scaling グループに関連付けられている Classic Load Balancer のリスト。Application Load Balancer と Network Load Balancers では、代わりに TargetGroupARNs プロパティを使用してターゲットグループのリストを指定します。

詳細については、 Amazon EC2 Auto Scaling ユーザーガイドの「Using a Load Balancer with an Auto Scaling Group」を参照してください。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

MaxInstanceLifetime

インスタンスが稼働できる最大時間 (秒単位)。

少なくとも 604,800 秒 (7 日間) の値を指定する必要があります。

詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「最大インスタンス有効期間に基づく Auto Scaling インスタンスの置き換え」を参照してください。

必須: いいえ

タイプ: 整数

Update requires: No interruption

MaxSize

Auto Scaling グループの最大サイズ。

注記

インスタンスの重み付けを使用する混合インスタンスポリシーでは、Amazon EC2 Auto Scaling は、容量要件を満たすために上記の MaxSize を上回る必要がある場合があります。この場合、Amazon EC2 Auto Scaling は、最大インスタンス重量 (各インスタンスがグループの目的の容量に寄与するユニット数を定義する重量) 以上で MaxSize を上回ることはありません。

必須: はい

タイプ: 文字列

Update requires: No interruption

MetricsCollection

Auto Scaling グループのグループメトリクスのモニタリングを有効にします。デフォルトでは、これらのメトリクスは無効になっています。

必須: いいえ

タイプ: MetricsCollectionリスト

Update requires: No interruption

MinSize

Auto Scaling グループの最小サイズ。

必須: はい

タイプ: 文字列

Update requires: No interruption

MixedInstancesPolicy

混合インスタンスポリシーを指定する埋め込みオブジェクト。

このポリシーには、オンデマンドインスタンスとスポットインスタンスの分布、スポットインスタンスに支払う上限料金、および Auto Scaling グループがオンデマンドとスポット容量を満たすためにインスタンスタイプを割り当てる方法を定義するプロパティだけでなく、インスタンス設定情報 (起動テンプレートとインスタンスタイプ) を指定するプロパティも含まれます。

詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「複数のインスタンスタイプと購入オプションを使用する Auto Scaling グループ」を参照してください。

LaunchConfigurationNameLaunchTemplateInstanceId、または MixedInstancesPolicy のプロパティのうち、1 つを指定する必要があります。

必須: 条件付き

タイプ: MixedInstancesPolicy

Update requires: No interruption

NewInstancesProtectedFromScaleIn

現在、AWS CloudFormation ではサポートされていません。

必須: いいえ

タイプ: ブール値

Update requires: No interruption

NotificationConfigurations

特定のイベントが発生したときに Auto Scaling グループが通知を送信するように設定します。

必須: いいえ

タイプ: NotificationConfiguration のリスト

Update requires: No interruption

PlacementGroup

インスタンスを起動する既存のクラスタープレイスメントグループの名前。プレイスメントグループは、単一のアベイラビリティーゾーン内のインスタンスを論理的にグループ化したものです。複数のアベイラビリティーゾーンとプレイスメントグループを指定することはできません。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 255

パターン: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: No interruption

ServiceLinkedRoleARN

Auto Scaling グループがユーザーの代わりに他の AWS のサービスを呼び出すために使用する、サービスにリンクされたロールの Amazon リソースネーム (ARN)。デフォルトでは、Amazon EC2 Auto Scaling は AWSServiceRoleForAutoScaling というサービスにリンクされたロールを使用します。このロールが存在しない場合は、作成されます。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 1600

パターン: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: No interruption

Tags

1 つ以上のタグ。Auto Scaling グループにタグを付け、起動する Amazon EC2 インスタンスにタグを伝達することができます。

必須: いいえ

タイプ: TagProperty のリスト

Update requires: No interruption

TargetGroupARNs

Auto Scaling グループに関連付けられるターゲットグループの Amazon Resource Names (ARN) のリスト。インスタンスはターゲットグループにターゲットとして登録され、トラフィックはターゲットグループにルーティングされます。

詳細については、 Amazon EC2 Auto Scaling ユーザーガイドの「Using a Load Balancer with an Auto Scaling Group」を参照してください。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

TerminationPolicies

終了するインスタンスを選択するためのポリシー、またはポリシーのリスト。ポリシーはリストに指定した順序で実行されます。Amazon EC2 Auto Scalingでサポートされる終了ポリシー: OldestInstanceOldestLaunchConfigurationNewestInstanceClosestToNextInstanceHourDefaultOldestLaunchTemplate、および AllocationStrategy

詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「スケールイン時にどの Auto Scaling インスタンスを終了するかのコントロール」を参照してください。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

VPCZoneIdentifier

Virtual Private Cloud (VPC) のサブネット ID のリスト。VPCZoneIdentifierAvailabilityZones とともに指定する場合、このプロパティに指定するサブネットは、これらのアベイラビリティーゾーンに存在する必要があります。

アカウントが EC2-Classic と VPC をサポートしている場合、VPC でインスタンスを起動する Auto Scaling グループを作成するにはこのプロパティが必要です。

このリソースにパブリック IP アドレスが割り当てられており、同じスタックテンプレートに定義されている VPC にも割り当てられている場合は、DependsOn 属性を使用して VPC ゲートウェイのアタッチメントへの依存関係を宣言する必要があります。

注記

VPCZoneIdentifier を更新すると、同じ Auto Scaling グループが保持され、指定したサブネットに従って、古いインスタンスが新しいインスタンスに置き換えられます。AWS CloudFormation がこれらの更新を処理する方法を指定するには、UpdatePolicy 属性を使用します。

必須: 条件付き

タイプ: 文字列のリスト

最小: 1

最大: 2047

パターン: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: Some interruptions

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。例: mystack-myasgroup-NT5EUXTNTXXD

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

以下の例では、Auto Scaling グループを作成または変更します。その他の例を表示するには、「Auto Scaling テンプレートスニペット」を参照してください。

Auto Scaling グループと起動テンプレート

次の例では、Auto Scaling グループと、Auto Scaling グループが EC2 インスタンスを起動するために使用する起動テンプレート (AWS::EC2::LaunchTemplate) を作成します。Fn::Sub 組み込み関数を使用して、起動テンプレートの名前をカスタマイズしてスタック名を含めます。

起動テンプレートは、CPUCredits プロパティを使用して T2 インスタンスを無制限モードでプロビジョニングします。ImageIdパラメータ値を参照することで、AMI はスタックの起動時に指定されます。ブロックデバイスマッピングでは、AMI によって指定されたボリュームをアタッチするだけでなく、各インスタンスにアタッチする EBS ボリュームを指定します。Monitoring が有効になっているため、EC2 メトリクスデータは CloudWatch 経由で 1 分間隔 (詳細モニタリングと呼ばれます) で利用できるようになります。

サンプルスタックでは、最小サイズが 1、最大サイズが 6 の Auto Scaling グループを作成します。グループの初期サイズは、DesiredCapacity の値に基づいて 2 です。VPCZoneIdentifier プロパティは、インスタンスが作成されるサブネットを指定します。各インスタンスは、最初のヘルスチェックを受け取るまでのウォームアップに 300 秒かかります。

JSON

{ "AWSTemplateFormatVersion":"2010-09-09", "Parameters":{ "myImageId":{ "Type":"AWS::EC2::Image::Id" } }, "Resources":{ "myLaunchTemplate":{ "Type":"AWS::EC2::LaunchTemplate", "Properties":{ "LaunchTemplateName":{"Fn::Sub":"${AWS::StackName}-launch-template"}, "LaunchTemplateData":{ "BlockDeviceMappings":[{ "Ebs":{ "VolumeSize":"22", "VolumeType":"gp2", "DeleteOnTermination": true, "Encrypted": true }, "DeviceName":"/dev/xvdcz" }], "CreditSpecification":{ "CpuCredits":"unlimited" }, "ImageId":{"Ref":"myImageId"}, "KeyName":"my-key-pair-useast2", "InstanceType":"t2.micro", "Monitoring":{"Enabled":true}, "SecurityGroupIds":["sg-7c227019", "sg-903004f8"] } } }, "myASG":{ "Type":"AWS::AutoScaling::AutoScalingGroup", "Properties":{ "AutoScalingGroupName":"myASG", "MinSize":1, "MaxSize":6, "DesiredCapacity":2, "HealthCheckGracePeriod":300, "LaunchTemplate":{ "LaunchTemplateId":{ "Ref":"myLaunchTemplate" }, "Version":{ "Fn::GetAtt":[ "myLaunchTemplate", "LatestVersionNumber" ] } }, "VPCZoneIdentifier":["subnet-5ea0c127", "subnet-6194ea3b", "subnet-c934b782"] } } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Parameters: myImageId: Type: AWS::EC2::Image::Id Resources: myLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: BlockDeviceMappings: - Ebs: VolumeSize: 22 VolumeType: gp2 DeleteOnTermination: true Encrypted: true DeviceName: /dev/xvdcz CreditSpecification: CpuCredits: Unlimited ImageId: !Ref myImageId InstanceType: t2.micro KeyName: my-key-pair-useast2 Monitoring: Enabled: true SecurityGroupIds: - sg-7c227019 - sg-903004f8 myASG: Type: AWS::AutoScaling::AutoScalingGroup Properties: AutoScalingGroupName: myASG MinSize: "1" MaxSize: "6" DesiredCapacity: "2" HealthCheckGracePeriod: 300 LaunchTemplate: LaunchTemplateId: !Ref myLaunchTemplate Version: !GetAtt myLaunchTemplate.LatestVersionNumber VPCZoneIdentifier: - subnet-5ea0c127 - subnet-6194ea3b - subnet-c934b782

Auto Scaling グループとロードバランサーおよび複数のプロパティ

次の例では、myASG という名前の Auto Scaling グループに Elastic Load Balancing ロードバランサーをアタッチします。MetricsCollection プロパティを使用して 2 つのグループメトリックを有効化し、Tags プロパティを使用してタグを作成します。最初のタグ Environment=Production は、Auto Scaling グループと、Auto Scaling グループの一部として起動された EC2 インスタンスに割り当てられます。2 番目のタグ Purpose=WebServerGroup は、Auto Scaling グループそのものにのみ割り当てられます。

さらに、Auto Scaling グループが EC2 インスタンスを起動するために使用する起動設定も指定します。AvailabilityZones プロパティは、Auto Scaling グループのインスタンスが作成されるアベイラビリティーゾーンを指定します。Fn::GetAZs 関数の呼び出し { "Fn::GetAZs" : "" } は、スタックが作成されるリージョンのすべてのアベイラビリティーゾーンを指定します。Amazon EC2 Auto Scaling は、MinSizeMaxSize の値に基づいて、グループ内のインスタンスの数を最小 1 インスタンス、最大 4 インスタンスでスケーリングできます。

JSON

{ "myASG":{ "Type":"AWS::AutoScaling::AutoScalingGroup", "Properties":{ "AvailabilityZones":{ "Fn::GetAZs":"" }, "LaunchConfigurationName":{ "Ref":"myLaunchConfig" }, "MinSize":"1", "MaxSize":"4", "LoadBalancerNames":[ { "Ref":"myLoadBalancer" } ], "MetricsCollection":[ { "Granularity":"1Minute", "Metrics":[ "GroupMinSize", "GroupMaxSize" ] } ], "Tags":[ { "Key":"Environment", "Value":"Production", "PropagateAtLaunch":"true" }, { "Key":"Purpose", "Value":"WebServerGroup", "PropagateAtLaunch":"false" } ] } } }

YAML

--- myASG: Type: AWS::AutoScaling::AutoScalingGroup Properties: AvailabilityZones: Fn::GetAZs: "" LaunchConfigurationName: Ref: "myLaunchConfig" MinSize: "1" MaxSize: "4" LoadBalancerNames: - Ref: "myLoadBalancer" MetricsCollection: - Granularity: "1Minute" Metrics: - "GroupMinSize" - "GroupMaxSize" Tags: - Key: Environment Value: Production PropagateAtLaunch: "true" - Key: Purpose Value: WebServerGroup PropagateAtLaunch: "false"

バッチ更新ポリシーを使用するローリング更新

次の例では、Auto Scaling グループの UpdatePolicy 属性を指定し、更新ポリシー設定を定義する属性とともに AutoScalingRollingUpdate ポリシーを使用するように設定します。

更新ポリシーのサンプルでは、ローリング更新を実行するよう CloudFormation に指示します。ローリング更新は、MaxBatchSize に基づいて小規模なバッチ (この例ではインスタンスごと) で Auto Scaling グループを変更し、PauseTime に基づいて更新のバッチ間の停止時間を変更します。MinInstancesInService は、CloudFormation が古いインスタンスを更新している間、Auto Scaling グループ内で使用中でなければならないインスタンスの最小数を指定します。

スタックの更新の進行中、Auto Scaling プロセス HealthCheckReplaceUnhealthyAZRebalanceAlarmNotification、および ScheduledActions は一時停止されます。注: ローリング更新が正常に機能しなくなる可能性があるため、LaunchTerminate、または AddToLoadBalancer (Auto Scaling グループが Elastic Load Balancing とともに使用されている場合) プロセスタイプは一時停止しないでください。

JSON

{ "myASG":{ "UpdatePolicy":{ "AutoScalingRollingUpdate":{ "MinInstancesInService":"1", "MaxBatchSize":"1", "PauseTime":"PT12M5S", "SuspendProcesses":[ "HealthCheck", "ReplaceUnhealthy", "AZRebalance", "AlarmNotification", "ScheduledActions" ] } }, "Type":"AWS::AutoScaling::AutoScalingGroup", "Properties":{ "AvailabilityZones":{ "Fn::GetAZs":{ "Ref":"AWS::Region" } }, "LaunchConfigurationName":{ "Ref":"myLaunchConfig" }, "MaxSize":"3", "MinSize":"1" } } }

YAML

--- myASG: UpdatePolicy: AutoScalingRollingUpdate: MinInstancesInService: "1" MaxBatchSize: "1" PauseTime: "PT12M5S" SuspendProcesses: - HealthCheck - ReplaceUnhealthy - AZRebalance - AlarmNotification - ScheduledActions Type: AWS::AutoScaling::AutoScalingGroup Properties: AvailabilityZones: Fn::GetAZs: Ref: "AWS::Region" LaunchConfigurationName: Ref: "myLaunchConfig" MaxSize: "3" MinSize: "1"

待機条件を使用するバッチ更新ポリシー

次の例は、グループがインスタンスの次のバッチを更新する前に、新しいインスタンスが Auto Scaling グループにシグナルを送信するまで待機するよう CloudFormation に指示するバッチ更新ポリシーを示しています。UpdatePolicy 属性で、WaitOnResourceSignals 属性が true に設定されています。CloudFormation が更新を続行するには、指定された PauseTime 内に新しいインスタンスからシグナルを受け取る必要があります。Auto Scaling グループにシグナルを送信するために、cfn-signal ヘルパースクリプト (例示されていない) が各インスタンスで実行されます。

JSON

{ "myASG":{ "UpdatePolicy":{ "AutoScalingRollingUpdate":{ "MinInstancesInService":"1", "MaxBatchSize":"1", "PauseTime":"PT15M", "WaitOnResourceSignals":"true", "SuspendProcesses":[ "HealthCheck", "ReplaceUnhealthy", "AZRebalance", "AlarmNotification", "ScheduledActions" ] } }, "Type":"AWS::AutoScaling::AutoScalingGroup", "Properties":{ "AvailabilityZones":{ "Fn::GetAZs":{ "Ref":"AWS::Region" } }, "LaunchConfigurationName":{ "Ref":"myLaunchConfig" }, "MaxSize":"3", "MinSize":"1" } } }

YAML

--- myASG: UpdatePolicy: AutoScalingRollingUpdate: MinInstancesInService: "1" MaxBatchSize: "1" PauseTime: "PT15M" WaitOnResourceSignals: "true" SuspendProcesses: - HealthCheck - ReplaceUnhealthy - AZRebalance - AlarmNotification - ScheduledActions Type: AWS::AutoScaling::AutoScalingGroup Properties: AvailabilityZones: Fn::GetAZs: Ref: "AWS::Region" LaunchConfigurationName: Ref: "myLaunchConfig" MaxSize: "3" MinSize: "1"

以下の資料も参照してください。