AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling...

81
Application Auto Scaling ユーザーガイド

Transcript of AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling...

Page 1: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scalingユーザーガイド

Page 2: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

Application Auto Scaling: ユーザーガイドCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

Table of ContentsApplication Auto Scaling とは ............................................................................................................... 1

Application Auto Scaling の機能 .................................................................................................... 1Application Auto Scaling へのアクセス ........................................................................................... 1

セットアップ ..................................................................................................................................... 3AWS にサインアップ .................................................................................................................. 3AWS CLI のセットアップ ............................................................................................................ 4AWS CLI を使用した開始方法 ...................................................................................................... 5

ステップ 1: スケーラブルなターゲットを登録する ................................................................... 5ステップ 2: スケジュールされた 2 つのアクションを作成する ................................................... 6ステップ 3: スケーリングアクティビティの表示 ...................................................................... 8ステップ 4: 次のステップ ................................................................................................... 11ステップ 5: クリーンアップ ............................................................................................... 11

開始方法 .......................................................................................................................................... 13チュートリアル: 可用性のための最適化 ................................................................................................ 14

Prerequisites ............................................................................................................................ 14ステップ 1: スケーラブルなターゲットを登録する ......................................................................... 15ステップ 2: スケジュールされたアクションの作成 ......................................................................... 15ステップ 3: ターゲットの追跡スケーリングポリシーの作成 ............................................................. 17ステップ 4: クリーンアップ ....................................................................................................... 19

ターゲット追跡スケーリングポリシー .................................................................................................. 21Considerations .......................................................................................................................... 21クールダウン期間 ...................................................................................................................... 22使用率の高い期間中のアプリケーションの可用性のサポート ........................................................... 23スケーラブルなターゲットを登録する .......................................................................................... 23ターゲットの追跡スケーリングポリシーの作成 .............................................................................. 24ターゲット追跡スケーリングポリシーの説明 ................................................................................. 25ターゲットの追跡スケーリングポリシーを削除する ........................................................................ 26

ステップスケーリングポリシー ........................................................................................................... 27ステップ調整値 ......................................................................................................................... 27スケーリング調整タイプ ............................................................................................................ 28クールダウン期間 ...................................................................................................................... 29スケーラブルなターゲットを登録する .......................................................................................... 30を使用したステップスケーリングポリシーの設定AWS CLI .............................................................. 30ステップスケーリングポリシーについて説明する ........................................................................... 32ステップスケーリングポリシーを削除する .................................................................................... 33

スケジュールに基づくスケーリング ..................................................................................................... 34Considerations .......................................................................................................................... 34スケーラブルなターゲットを登録する .......................................................................................... 35を使用したスケジュールされたアクションの作成または更新AWS CLI ............................................... 35

1 回のみのスケジュールのスケジュールのアクションをスケジュールする ................................. 35cron 式または rate 式を使用した定期的なスケジュール .......................................................... 36

スケジュールされたアクションの説明 .......................................................................................... 38スケジュールされたアクションを削除する .................................................................................... 39

スケーリングの停止 .......................................................................................................................... 40スケーリングアクティビティ ...................................................................................................... 40を使用したスケーリングアクティビティの停止と再開AWS CLI ........................................................ 41

一時停止されたスケーリングアクティビティの表示 ................................................................ 42スケーリングアクティビティを再開する ............................................................................... 43

モニタリング .................................................................................................................................... 44CloudWatch アラーム ................................................................................................................ 45CloudWatch ダッシュボード ....................................................................................................... 46

メトリクスとディメンション .............................................................................................. 47EventBridge によるモニタリング ................................................................................................. 49Personal Health Dashboard ........................................................................................................ 50

iii

Page 4: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

セキュリティ .................................................................................................................................... 52データ保護 ............................................................................................................................... 52Identity and Access Management ................................................................................................ 53

アクセスコントロール ....................................................................................................... 53Application Auto Scaling と IAM の連携 ............................................................................... 54サービスにリンクされたロール ........................................................................................... 56または SDK のサンプルポリシーAWS CLI ............................................................................ 62コンソールのサンプルポリシー ........................................................................................... 66

コンプライアンス検証 ............................................................................................................... 68弾力 ........................................................................................................................................ 68インフラストラクチャセキュリティ ............................................................................................. 69プライベート接続のための VPC エンドポイントの使用 .................................................................. 69

インターフェイス VPC エンドポイントを作成する ................................................................ 69VPC エンドポイントポリシーの作成 .................................................................................... 70エンドポイントの移行 ....................................................................................................... 71

サービスクォータ .............................................................................................................................. 72ドキュメント履歴 .............................................................................................................................. 73................................................................................................................................................... lxxvii

iv

Page 5: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドApplication Auto Scaling の機能

Application Auto Scaling とはApplication Auto Scaling は、Amazon EC2 だけでなく、個々の AWS のサービス用にスケーラブルなリソースを自動的にスケーリングするためのソリューションを必要とする開発者およびシステム管理者向けのウェブサービスです。Application Auto Scaling を使用すると、以下のリソースの自動スケーリングを設定できます。

• AppStream 2.0 のフリート• Aurora レプリカ• Amazon Comprehend ドキュメント分類とエンティティレコグナイザーのエンドポイント• DynamoDB テーブルとグローバルセカンダリインデックス• Amazon Elastic Container Service (ECS) サービス• Amazon EMR クラスター• Amazon Keyspaces (Apache Cassandra 向け) テーブル• Lambda 関数のプロビジョニングされた同時実行性• Amazon Managed Streaming for Apache Kafka (MSK) ブローカーストレージ• SageMaker エンドポイントバリアント• スポットフリートリクエスト• 独自のアプリケーションまたはサービスにより提供されるカスタムリソース。詳細については、「 リポ

ジトリGitHub」を参照してください。

上記のいずれかの AWS サービスがリージョンで利用できるかどうかを確認するには、「リージョン表」「リージョン表

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

また、Application Auto Scaling および Amazon EC2 Auto Scaling を AWS Auto Scaling と組み合わせて使用し、複数のサービス間でリソースをスケールすることができます。AWS Auto Scaling は、予測スケーリングと動的スケーリング (それぞれ予防的アプローチと事後的アプローチ) を組み合わせて Amazon EC2キャパシティーを高速スケーリングすることで、最適な可用性とパフォーマンスを維持することができます。詳細については、「AWS Auto Scaling ユーザーガイド」を参照してください。

Application Auto Scaling の機能Application Auto Scaling では、お客様が定義する条件に応じて、スケーラブルなリソースを自動的に拡張することができます。

• ターゲット追跡スケーリング — 特定の CloudWatch メトリクスのターゲット値に基づいてリソースをスケーリングします。

• ステップスケーリング — 超過アラームのサイズによって異なる一連のスケーリング調整値に基づいてリソースをスケーリングします。

• スケジュールスケーリング — 日付と時刻に基づいてリソースをスケーリングします。

Application Auto Scaling へのアクセスAWS アカウントにサインアップ済みの場合は、AWS マネジメントコンソールにサインインしてApplication Auto Scaling にアクセスできます。次に、概要に一覧表示されているリソースの 1 つのサービ

1

Page 6: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドApplication Auto Scaling へのアクセス

スコンソールを開きます。作業するリソースと同じ AWS リージョンでコンソールを開いていることを確認します。詳細については、「Application Auto Scaling の開始方法 (p. 13)」を参照してください。

APIApplication Auto Scaling を使用して にアクセスすることもできます。Application Auto Scaling はクエリ API を提供します。Application Auto Scalingこのリクエストは、HTTP 動詞 (GET または POST) とクエリパラメータ Action で記述する HTTP または HTTPS リクエストです。 詳細については、https://docs.aws.amazon.com/autoscaling/application/APIReference/API_Operations.html の「アクションApplication Auto Scaling API リファレンス」を参照してください。

HTTP または HTTPS を介してリクエストを送信する代わりに、言語固有の APIs を使用してアプリケーションを構築する場合は、AWS から、ソフトウェア開発者向けのライブラリ、サンプルコード、チュートリアル、その他のリソースが提供されます。これらのライブラリには、リクエストの暗号化署名、リクエストの再試行、エラーレスポンスの処理などのタスクを自動化する基本機能が用意されているので、開発を簡単に始められます。詳細については、「AWS およびツールSDKs」を参照してください。

コマンドラインインターフェイスを使用する場合は、以下の選択肢があります。

AWS Command Line Interface (AWS CLI)

さまざまな AWS 製品用のコマンドを提供し、Windows、macOS、および Linux でサポートされています。開始するには、AWS Command Line Interface ユーザーガイド を参照してください。詳細については、https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/ の「application-autoscalingAWS CLI Command Reference」を参照してください。

AWS Tools for Windows PowerShell

環境でスクリプトを記述するユーザー向けに、さまざまな AWS 製品用のコマンドを提供します。PowerShell開始するには、「AWS Tools for Windows PowerShell ユーザーガイド」を参照してください。詳細については、「AWS Tools for PowerShell Cmdlet Reference」を参照してください。

Application Auto Scaling では、AWS CloudFormation を使用したスケーリングの設定もサポートされています。JSON および YAML テンプレートの例については、 の「Application Auto Scaling テンプレートの例AWS CloudFormation ユーザーガイド」を参照してください。リソースのスタックをプロビジョニングして設定するには、まず のテンプレートAWS CloudFormationについて理解する必要があります。

にアクセスするための認証情報については、AWS の「AWS セキュリティ認証情報」を参照してください。アマゾン ウェブ サービス全般のリファレンスのリージョンとエンドポイントの詳細については、Application Auto Scaling の「リージョンとエンドポイント」の表を参照してください。AWS GeneralReference

2

Page 7: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドAWS にサインアップ

セットアップApplication Auto Scaling を使用して Auto Scaling を設定する前に、AWS アカウントの作成、アクセス権の設定、および AWS Command Line Interface (AWS CLI) のセットアップを行います。

トピック• AWS にサインアップ (p. 3)• のセットアップAWS CLI (p. 4)• AWS CLI を使用した開始方法 (p. 5)

AWS にサインアップAWS にサインアップすると、Application Auto Scaling など AWS のすべてのサービスに対して AWS アカウントが自動的にサインアップされます。料金が発生するのは、実際に使用したサービスの分のみです。

AWS アカウントをお持ちでない場合は、作成する必要があります。AWS アカウントをすでにお持ちの場合は、次の手順のアカウントを作成するためのステップをスキップし、ステップ 3 の IAM ユーザーの作成に進みます。

AWS にサインアップするには

1. https://aws.amazon.com/ を開き、[サインアップ] を選択します。2. オンラインの手順に従います。サインアップ手順の一環として、通話呼び出しを受け取り、電話の

キーパッドを用いて確認コードを入力することが求められます。サインアッププロセスが完了すると、AWS より確認メールが送信されます。

3. AWS Identity and Access Management (IAM) 管理者ユーザーを作成します。手順については、https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html の「最初の IAMユーザーとグループの作成IAM ユーザーガイド」を参照してください。

Important

このガイドの「使用開始」実習では、管理者権限を持つユーザー (adminuser) が存在すること想定しています。手順に従ってアカウントに adminuser を作成します。

4. アクセスキー ID およびシークレットアクセスキーが、先ほど作成した IAM ユーザーに関連付けられていることを確認します。詳細については、https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration-creds の「アクセスキーとシークレットアクセスキーAWSCommand Line Interface ユーザーガイド」を参照してください。

IAM の詳細については、以下を参照してください。

• AWS Identity and Access Management (IAM)• 開始方法• IAM ユーザーガイド

AWS リージョンでの Application Auto Scaling の使用

Application Auto Scaling は複数の AWS リージョンで利用可能です。使用可能なリージョンのリストについては、https://docs.aws.amazon.com/general/latest/gr/as-app.html の「リージョンとエンドポイントAWS General Reference」の表を参照してください。グローバル AWS アカウントは、ほとんどのリージョンのリソースで使用できます。中国リージョンのリソースと共に Application Auto Scaling を使用す

3

Page 8: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドAWS CLI のセットアップ

る場合は、別の AWS (中国) アカウントが必要になる点に注意してください。さらに、Application AutoScaling の実装方法にはいくつか違いがあります。中国リージョンでの Application Auto Scaling の使用については、「中国での Application Auto Scaling」を参照してください。

のセットアップAWS CLIAWS Command Line Interface (AWS CLI) は、Application Auto Scaling を含む AWS のサービスを管理するための統合された開発者用ツールです。ステップに従って、AWS CLI をダウンロードして設定します。

AWS CLI をセットアップするには

1. AWS CLI をダウンロードして設定します。手順については、AWS Command Line Interface ユーザーガイドの次のトピックを参照してください。

• のインストール AWS CLI• の設定 AWS CLI

2. 次のコマンドを使用して、AWS CLI の Application Auto Scaling コマンドがインストールされていることを確認します。

aws application-autoscaling help

3. AWS CLI 設定ファイルで管理者ユーザー用の名前付きプロファイルを追加します。このプロファイルは、AWS CLI コマンドを実行するときに使用できます。名前付きプロファイルの詳細については、https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html の「名前付きプロファイルAWS Command Line Interface ユーザーガイド」を参照してください。

aws configure --profile adminuser

プロンプトが表示されたら、Application Auto Scaling で使用する IAM ユーザーの AWS アクセスキーと AWS シークレットアクセスキーを指定します。

aws_access_key_id = adminuser access key IDaws_secret_access_key = adminuser secret access keyregion = aws-regiondefault output format = json

使用可能な AWS リージョンのリストについては、 の「Application Auto Scaling のリージョンとエンドポイント」を参照してください。アマゾン ウェブ サービス全般のリファレンス

4. AWS CLI プロファイルが適切に設定されていることを確認するには、コマンドウィンドウで次のコマンドを実行します。

aws configure --profile adminuser

プロファイルが正しく設定されている場合は、以下のような出力が表示されます。

AWS Access Key ID [****************52FQ]: AWS Secret Access Key [****************xgyZ]: Default region name [us-east-1]: Default output format [json]:

AWS アカウントと AWS CLI を設定したら、次のチュートリアルを行ってください。このチュートリアルでは、スケジュールされたサンプルのスケーリングアプリケーションを設定します。

4

Page 9: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドAWS CLI を使用した開始方法

AWS CLI を使用した開始方法このチュートリアルでは、AWS CLI を使用して Application Auto Scaling をさまざまに試します。始める前に、AWS アカウントを所有しており、AWS CLI を設定済みであることを確認します。詳細については、「セットアップ (p. 3)」を参照してください。このチュートリアルでは、スケジュールされたアクションを作成して、スケジュールに基づいてスケーラブルなリソースをスケーリングします。スケジュールされたスケーリングでは、1 回限りのアクションか、定期的なアクションを指定できます。

このチュートリアルでは、「のセットアップAWS CLI (p. 4)」で設定した管理者の認証情報(adminuser プロファイル) を使用していることを前提としています。このプロファイルを指定しない場合、デフォルトプロファイルが指定されたと見なされます。Application Auto Scaling リソースを作成、更新、削除、または一覧表示するには、アクションを実行するためのアクセス許可と、対応するリソースにアクセスするためのアクセス許可が必要です。詳細については、「Application Auto Scaling の Identity andAccess Management (p. 53)」を参照してください。

を使用するときは、コマンドはプロファイル用に設定された AWS リージョンで実行されることに注意してください。AWS CLI別のリージョンでコマンドを実行する場合は、プロファイルのデフォルトのリージョンを変更するか、コマンドに --region パラメータを使用します。

Note

このチュートリアル内で AWS の料金が発生する場合があります。無料利用枠の使用状況をモニタリングし、 データベースによって使用される読み取りおよび書き込みキャパシティーのユニット数に関連するコストを理解してください。DynamoDB

目次• ステップ 1: スケーラブルなターゲットを登録する (p. 5)• ステップ 2: スケジュールされた 2 つのアクションを作成する (p. 6)• ステップ 3: スケーリングアクティビティの表示 (p. 8)• ステップ 4: 次のステップ (p. 11)• ステップ 5: クリーンアップ (p. 11)

ステップ 1: スケーラブルなターゲットを登録するまず、Application Auto Scaling を使用してリソースをスケーラブルなターゲットとして登録します。スケーラブルなターゲットは、Application Auto Scaling でスケールアウトまたはスケールインできるリソースです。

で機能し、スケジュールされたスケーリングをサポートする任意のリソースを使用できますが、これらの例では、Application Auto Scaling と呼ばれる DynamoDB テーブルをスケールすると仮定します。my-table まだ DynamoDB テーブルを作成していない場合は、ここで 1 つ作成できます (DynamoDB の「ステップ 1: テーブルを作成するAmazon DynamoDB 開発者ガイド」)。

DynamoDB グローバルセカンダリインデックス、または別のサービスのリソースを使用するには、状況に応じて例を更新します。で名前空間を、--service-namespace でそのスケーラブルなディメンションを、--scalable-dimension でそのリソース ID をそれぞれ指定します。--resource-id 各オプションの有効な値のリストについては、「register-scalable-target」を参照してください。

Application Auto Scaling にスケーラブルなターゲットを登録するには

1. (オプション) describe-scalable-targets コマンドを使用して DynamoDB リソースがすでに登録されているかどうかを確認します。これにより、 my-table テーブルを登録するかどうかを確認しやすくなります。たとえば、DynamoDB コンソールから、このテーブルの Automatic Scaling を以前に設定している場合は、Application Auto Scaling にすでに登録されている可能性があります。

ローカルの Linux、macOS、または Unix マシンの場合:

5

Page 10: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 2: スケジュールされた 2 つのアクションを作成する

aws application-autoscaling describe-scalable-targets \ --service-namespace dynamodb \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb --profile adminuser

既存のスケーラブルなターゲットがない場合、レスポンスは次のようになります。

{ "ScalableTargets": []}

2. 次の register-scalable-target コマンドを使用して、DynamoDB という my-table テーブルの書き込みキャパシティーを登録または更新します。 希望する最小書き込みキャパシティーを 5 書き込みキャパシティーユニットに、希望する最大キャパシティーを 10 書き込みキャパシティーユニットに設定します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --min-capacity 5 --max-capacity 10 \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --min-capacity 5 --max-capacity 10 --profile adminuser

このコマンドが成功した場合、出力は返りません。

ステップ 2: スケジュールされた 2 つのアクションを作成するApplication Auto Scaling では、スケーリングアクションが発生する時間をスケールできます。スケーラブルなターゲット、スケジュール、最小キャパシティー、および最大キャパシティーを指定します。Application Auto Scaling によって、指定した時間に、スケーラブルなターゲットの最小値および最大値が更新されます。現在のキャパシティーが範囲外の場合はスケーリングアクティビティにつながります。

最小キャパシティーと最大キャパシティーへの更新のスケジュールは、スケーリングポリシーを作成する場合にも役立ちます。スケーリングポリシーを使用すると、現在のリソース使用率に基づいてリソースを動的にスケーリングできます。スケーリングポリシーの一般的なガードレールとして、最小キャパシティーと最大キャパシティーに適切な値を設定します。

この演習では、1 回限りのアクションを 2 つ作成し、スケールアウトまたはスケールインできます。

6

Page 11: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 2: スケジュールされた 2 つのアクションを作成する

スケジュールされたアクションを作成および表示する

1. 最初のスケジュールされたアクションを作成するには、次の put-scheduled-action コマンドを使用します。

の at コマンドは、指定された将来の日時に 1 回実行されるようにアクションをスケジュールします。--schedule時間は 24 時間形式です。今から約 5 分後にアクションが発生するようにスケジュールします。

指定された日時に、Application Auto Scaling は、MinCapacity および MaxCapacity 値を更新します。現在テーブルに、5 書き込みキャパシティーユニットがあるとして、Application Auto Scalingは、そのテーブルが、希望する新しい範囲 15〜20 の書き込みキャパシティーの範囲内になるように、MinCapacity にスケールアウトします。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scheduled-action \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --scheduled-action-name my-first-scheduled-action \ --schedule "at(2019-05-20T17:05:00)" \ --scalable-target-action MinCapacity=15,MaxCapacity=20 \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling put-scheduled-action --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --scheduled-action-name my-first-scheduled-action --schedule "at(2019-05-20T17:05:00)" --scalable-target-action MinCapacity=15,MaxCapacity=20 --profile adminuser

このコマンドが成功した場合、出力は返りません。2. Application Auto Scaling でスケールインに使用する、2 番目にスケジュールされたアクションを作成

するには、次の put-scheduled-action コマンドを使用します。

今から約 10 分後にアクションが発生するようにスケジュールします。

Application Auto Scaling は、指定された日時に、テーブルの MinCapacity および MaxCapacityを更新し、テーブルが、希望する元の範囲 5~10 の書き込みキャパシティーユニットに戻るようにMaxCapacity にスケールインします。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scheduled-action \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --scheduled-action-name my-second-scheduled-action \ --schedule "at(2019-05-20T17:10:00)" \ --scalable-target-action MinCapacity=5,MaxCapacity=10 \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling put-scheduled-action --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --

7

Page 12: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 3: スケーリングアクティビティの表示

scheduled-action-name my-second-scheduled-action --schedule "at(2019-05-20T17:10:00)" --scalable-target-action MinCapacity=5,MaxCapacity=10 --profile adminuser

3. (オプション) 次の describe-scheduled-actions コマンドを使用して、指定したサービスの名前空間のすべてのスケジュールされたアクションのリストを取得します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling describe-scheduled-actions \ --service-namespace dynamodb \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling describe-scheduled-actions --service-namespace dynamodb --profile adminuser

出力例を次に示します。

{ "ScheduledActions": [ { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Schedule": "at(2019-05-20T18:35:00)", "ResourceId": "table/my-table", "CreationTime": 1561571888.361, "ScheduledActionARN": "arn:aws:autoscaling:us-east-1:123456789012:scheduledAction:2d36aa3b-cdf9-4565-b290-81db519b227d:resource/dynamodb/table/my-table:scheduledActionName/my-first-scheduled-action", "ScalableTargetAction": { "MinCapacity": 15, "MaxCapacity": 20 }, "ScheduledActionName": "my-first-scheduled-action", "ServiceNamespace": "dynamodb" }, { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Schedule": "at(2019-05-20T18:40:00)", "ResourceId": "table/my-table", "CreationTime": 1561571946.021, "ScheduledActionARN": "arn:aws:autoscaling:us-east-1:123456789012:scheduledAction:2d36aa3b-cdf9-4565-b290-81db519b227d:resource/dynamodb/table/my-table:scheduledActionName/my-second-scheduled-action", "ScalableTargetAction": { "MinCapacity": 5, "MaxCapacity": 10 }, "ScheduledActionName": "my-second-scheduled-action", "ServiceNamespace": "dynamodb" } ]}

ステップ 3: スケーリングアクティビティの表示このステップでは、スケジュールされたアクションによってトリガーされたスケーリングアクティビティを表示し、DynamoDB によってテーブルの書き込みキャパシティーが変更されたことを確認します。

8

Page 13: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 3: スケーリングアクティビティの表示

スケーリングアクティビティを表示するには

1. 選択した時間を待機し、次の describe-scaling-activities コマンドを使用して、スケジュールされたアクションが機能していることを確認します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling describe-scaling-activities \ --service-namespace dynamodb \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling describe-scaling-activities --service-namespace dynamodb --profile adminuser

以下は、スケジュールされたアクションの進行中に、スケジュールされた最初のアクションの出力例です。

スケーリングアクティビティは作成日順に並べられ、最新のスケーリングアクティビティが最初に返ります。

{ "ScalingActivities": [ { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Description": "Setting write capacity units to 15.", "ResourceId": "table/my-table", "ActivityId": "d8ea4de6-9eaa-499f-b466-2cc5e681ba8b", "StartTime": 1561574108.904, "ServiceNamespace": "dynamodb", "Cause": "minimum capacity was set to 15", "StatusMessage": "Successfully set write capacity units to 15. Waiting for change to be fulfilled by dynamodb.", "StatusCode": "InProgress" }, { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Description": "Setting min capacity to 15 and max capacity to 20", "ResourceId": "table/my-table", "ActivityId": "3250fd06-6940-4e8e-bb1f-d494db7554d2", "StartTime": 1561574108.512, "ServiceNamespace": "dynamodb", "Cause": "scheduled action name my-first-scheduled-action was triggered", "StatusMessage": "Successfully set min capacity to 15 and max capacity to 20", "StatusCode": "Successful" } ]}

以下は、スケジュールされたアクションがいずれも実行された後の出力例です。

{ "ScalingActivities": [ { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Description": "Setting write capacity units to 10.", "ResourceId": "table/my-table", "ActivityId": "4d1308c0-bbcf-4514-a673-b0220ae38547",

9

Page 14: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 3: スケーリングアクティビティの表示

"StartTime": 1561574415.086, "ServiceNamespace": "dynamodb", "EndTime": 1561574449.51, "Cause": "maximum capacity was set to 10", "StatusMessage": "Successfully set write capacity units to 10. Change successfully fulfilled by dynamodb.", "StatusCode": "Successful" }, { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Description": "Setting min capacity to 5 and max capacity to 10", "ResourceId": "table/my-table", "ActivityId": "f2b7847b-721d-4e01-8ef0-0c8d3bacc1c7", "StartTime": 1561574414.644, "ServiceNamespace": "dynamodb", "Cause": "scheduled action name my-second-scheduled-action was triggered", "StatusMessage": "Successfully set min capacity to 5 and max capacity to 10", "StatusCode": "Successful" }, { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Description": "Setting write capacity units to 15.", "ResourceId": "table/my-table", "ActivityId": "d8ea4de6-9eaa-499f-b466-2cc5e681ba8b", "StartTime": 1561574108.904, "ServiceNamespace": "dynamodb", "EndTime": 1561574140.255, "Cause": "minimum capacity was set to 15", "StatusMessage": "Successfully set write capacity units to 15. Change successfully fulfilled by dynamodb.", "StatusCode": "Successful" }, { "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "Description": "Setting min capacity to 15 and max capacity to 20", "ResourceId": "table/my-table", "ActivityId": "3250fd06-6940-4e8e-bb1f-d494db7554d2", "StartTime": 1561574108.512, "ServiceNamespace": "dynamodb", "Cause": "scheduled action name my-first-scheduled-action was triggered", "StatusMessage": "Successfully set min capacity to 15 and max capacity to 20", "StatusCode": "Successful" } ]}

2. スケジュールされたアクションが正常に実行されたら、DynamoDB コンソールに移動し、目的のテーブルを選択します。[キャパシティー] タブの [書き込みキャパシティーユニット] を表示します。2 番目のスケーリングアクションが実行されると、書き込みキャパシティーユニットは 15 から 10 にスケーリングされます。

この情報は、AWS CLI を使用して確認することもできます。

DynamoDBdescribe-table コマンドを実行して、テーブルの現在の書き込みキャパシティーを確認します。出力をフィルタリングする --query オプションを含めます。の出力フィルタリング機能の詳細については、AWS CLI の「AWS CLI からのコマンド出力の制御」を参照してください。AWSCommand Line Interface ユーザーガイド

ローカルの Linux、macOS、または Unix マシンの場合:

aws dynamodb describe-table --table-name my-table \ --query 'Table.[TableName,TableStatus,ProvisionedThroughput]' \

10

Page 15: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 4: 次のステップ

--profile adminuser

ローカル Windows マシンの場合

aws dynamodb describe-table --table-name my-table --query "Table.[TableName,TableStatus,ProvisionedThroughput]" --profile adminuser

出力例を次に示します。

[ "my-table", "ACTIVE", { "NumberOfDecreasesToday": 1, "WriteCapacityUnits": 10, "LastIncreaseDateTime": 1561574133.264, "ReadCapacityUnits": 5, "LastDecreaseDateTime": 1561574435.607 }]

ステップ 4: 次のステップApplication Auto Scaling とその機能のいくつかを理解できたところで、以下のことを検討します。

• 定期的なスケジュールでスケーリングする場合は、「チュートリアル: アプリケーションの可用性を高めるためにスケーリングを設定する (p. 14)」のチュートリアルを参照してください。

• リソース使用率の変化に応じて動的にスケーリングを試行する場合 (たとえばDynamoDBWriteCapacityUtilization メトリクスを使用) は、のターゲット追跡スケーリングポリシーApplication Auto Scaling (p. 21) のステップに従います。

ステップ 5: クリーンアップ「使用開始」演習が終了したら、関連付けられているリソースを以下のようにクリーンアップすることができます。

スケジュールされたアクションを削除するには

以下の delete-scheduled-action コマンドでは、スケールされた指定のアクションを削除します。後で使用できるように、スケジュールされたアクションを保持する場合は、このステップをスキップできます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling delete-scheduled-action \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --scheduled-action-name my-second-scheduled-action \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling delete-scheduled-action --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --scheduled-action-name my-second-scheduled-action --profile adminuser

11

Page 16: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 5: クリーンアップ

スケーラブルなターゲットを登録解除するには

次の deregister-scalable-target コマンドを使用して、スケーラブルなターゲットの登録を解除します。自分で作成したスケーリングポリシーや、まだ削除されていないスケジュールされたアクションがある場合は、このコマンドによって削除されます。後で使用できるように、登録されたスケーラブルなターゲットを保持する場合は、このステップをスキップできます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling deregister-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --profile adminuser

ローカル Windows マシンの場合

aws application-autoscaling deregister-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --profile adminuser

DynamoDB テーブルを削除するには

以下の delete-table コマンドを使用して、このチュートリアルで使用したテーブルを削除します。後で使用できるように、テーブルを保持する場合は、このステップをスキップできます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws dynamodb delete-table --table-name my-table \ --profile adminuser

ローカル Windows マシンの場合

aws dynamodb delete-table --table-name my-table --profile adminuser

12

Page 17: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

Application Auto Scaling の開始方法Application Auto Scaling は他の AWS サービスと連携するため、アプリケーションの需要に合わせてスケーリング機能を追加できます。自動スケーリングは、ほとんどすべての場合にデフォルトで無効になっているサービスのオプション機能です。

では、自動スケーリングを有効にする主要な方法は 2 つあります。スケーリングするリソースのサービスコンソールを使用する方法と、Application Auto Scaling (Application Auto Scaling) を通じてプログラムで AWS Command Line Interface API にアクセスする方法、または AWS SDK を使用する方法です。AWSCLI

Application Auto Scaling の使用を開始したばかりの場合、または AWS マネジメントコンソール を初めて使用している場合は、次のドキュメントを参照して設定例を参照し、サービスと Application Auto Scalingの統合方法の詳細を確認することをお勧めします。コンソールでスケーリングを設定するためのドキュメントがサービスに含まれていない場合は、AWS CLI または AWS SDKs を使用してスケーリングを設定できます。

• AppStream 2.0 フリート — の「 の Fleet Auto ScalingAppStream 2.0」Amazon AppStream 2.0 管理ガイド

• Aurora DB クラスター — の「 レプリカでの Amazon Aurora Auto Scaling の使用Aurora」Amazon RDSユーザーガイド

• Amazon Comprehend ドキュメント分類とエンティティレコグナイザーエンドポイント — の「エンドポイントを使用した自動スケーリング」Amazon Comprehend 開発者ガイド

• DynamoDB テーブルとグローバルセカンダリインデックス — の「 Auto Scaling によるスループットキャパシティの管理DynamoDB」Amazon DynamoDB 開発者ガイド

• Amazon EMR クラスター — の「インスタンスグループのカスタムポリシーによる自動スケーリングの使用」Amazon EMR 管理ガイド

• ECS サービス — の「サービスの Auto Scaling」Amazon Elastic Container Service Developer Guide• Amazon Keyspaces テーブル — 開発者ガイドの「Amazon Keyspaces を使用した Application Auto

Scaling スループットキャパシティーの管理」Amazon Keyspaces (Apache Cassandra 向け)• Lambda 関数のプロビジョニングされた同時実行数 — の「 関数の同時実行数の管理Lambda」AWS

Lambda Developer Guide• Amazon MSK クラスターストレージ — の クラスター用のストレージの自動拡張Amazon

MSK。Amazon Managed Streaming for Apache Kafka 開発者ガイド• SageMaker エンドポイントバリアント — のAmazon SageMakerモデルを自動的にスケールす

るAmazon SageMaker 開発者ガイド• スポットフリートが — ユーザーガイドの「スポットフリートの自動スケーリング」をリクエストする

Amazon EC2• カスタムリソース —GitHub リポジトリ

AWS CLI での Application Auto Scaling の使用

このユーザーガイドでは、AWS CLI を使用して Application Auto Scaling API を操作する方法を説明します。入門演習については、「AWS CLI を使用した開始方法 (p. 5)」を参照してください。このチュートリアルでは、AWS CLI を使用して初めてユーザーとして Application Auto Scaling にアクセスする方法を説明します。スケジュールされた時間に DynamoDB テーブルがスケーリングされるように、スケーリングを設定する基本的な手順について学習します。DynamoDB はほとんどのリージョンで利用可能であるため、チュートリアルの基礎として DynamoDB テーブルが使用されていますが、サポートされているサービスであれば、お好きなものを使用することができます。

13

Page 18: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドPrerequisites

チュートリアル: アプリケーションの可用性を高めるためにスケーリングを設定する

このチュートリアルでは、アプリケーションが通常のワークロードより高い場合、時間枠に基づいてスケールアウトおよびスケールインする方法を説明します。これは、アプリケーションが予測可能なスケジュールで突然大量の容量を必要とする可能性がある場合に役立ちます。スケジュールに基づくスケーリングを設定して、アプリケーションの負荷を処理するために必要な容量を追加し、不要になったら削除できます。

ターゲット追跡スケーリングポリシーを、スケジュールされたスケーリングと組み合わせて使用できます。スケジュールに基づくスケーリングは、ユーザーが指定したスケジュールに基づいて、ユーザーに代わって MinCapacity および MaxCapacity の変更を自動的に開始します。スケーリングポリシーがリソースでアクティブになると、新しい最小容量と最大容量の範囲内で、現在のリソース使用率に基づいて動的にスケーリングできます。

Note

このチュートリアルに進む前に、以下の概要チュートリアルを確認することをお勧めします。AWS CLI を使用した開始方法 (p. 5)

目次• Prerequisites (p. 14)• ステップ 1: スケーラブルなターゲットを登録する (p. 15)• ステップ 2: スケジュールされたアクションの作成 (p. 15)• ステップ 3: ターゲットの追跡スケーリングポリシーの作成 (p. 17)• ステップ 4: クリーンアップ (p. 19)

Prerequisitesこのチュートリアルでは、以下を実行済みであることを前提としています。

• AWS アカウントを作成しました。• をインストールして設定している。AWS CLI• アカウントには、Application Auto Scaling を使用したスケーラブルなターゲットとしてのリソースの

登録および登録解除に必要なすべてのアクセス許可があります。また、スケーリングポリシーとスケジュールされたアクションを作成するために必要なすべてのアクセス許可も持っています。

• このチュートリアルに使用できる非本番稼働用環境にスケーラブルなリソースがあります。まだ作成していない場合は、チュートリアルの開始前に作成します。

開始する前に、以下の点を考慮します。

このチュートリアルを完了する間、MinCapacity および MaxCapacity の値を 0 に設定または更新して、現在の容量を 0 にリセットする 2 つのステップがあります。これらの手順では、使用するように選択したリソースによっては現在の容量を 0 にリセットできない場合があります。この問題を解決しやすいよ

14

Page 19: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 1: スケーラブルなターゲットを登録する

うに、出力のメッセージには、最小キャパシティーが指定された値未満にすることはできません。また、リソースが受け入れることができる最小キャパシティー値を提供します。

でスケーリングアクティビティをモニタリングするには、Application Auto Scalingdescribe-scaling-activities コマンドを使用できます。スケーリングポリシーまたはスケジュールされたアクションによってトリガーされるスケーリングイベントごとに、スケーリングアクティビティが生成されます。

ステップ 1: スケーラブルなターゲットを登録するまず、Application Auto Scaling を使用してリソースをスケーラブルなターゲットとして登録します。スケーラブルなターゲットは、Application Auto Scaling でスケールアウトまたはスケールインできるリソースです。

Application Auto Scaling にスケーラブルなターゲットを登録するには

• 次の register-scalable-target コマンドを使用して、新しいスケーラブルなターゲットを登録します。および MinCapacity の値を 0 に設定すると、現在の容量は 0 にリセットされます。MaxCapacity

Linux、macOS、または Unix

aws application-autoscaling register-scalable-target \ --service-namespace service namespace \ --scalable-dimension scalable dimension of the scalable target \ --resource-id resource identifier to associate with this scalable target \ --min-capacity 0 --max-capacity 0

Windows

aws application-autoscaling register-scalable-target --service-namespace service namespace --scalable-dimension scalable dimension of the scalable target --resource-id resource identifier to associate with this scalable target --min-capacity 0 --max-capacity 0

このコマンドが成功した場合、出力は返りません。

ステップ 2: スケジュールされたアクションの作成put-scheduled-action コマンドを使用して、ビジネスニーズに合わせて設定されたスケジュールされたアクションを作成できます。このチュートリアルでは、稼働時間外でスケーリングをオフにする設定に焦点を当てています。

午前にスケールアウトするスケジュールされたアクションを作成するには

1. スケーラブルなターゲットをスケールアウトするには、次の put-scheduled-action コマンドを使用します。cron 式を使用して、定期的なスケジュールで --schedule パラメータを UTC で含めます。

指定されたスケジュール (毎日午前 9:00 (UTC)) で、Application Auto Scaling は MinCapacity および MaxCapacity の値を 1 ~ 5 キャパシティーユニットの目的の範囲に更新します。

Linux、macOS、または Unix

aws application-autoscaling put-scheduled-action \ --service-namespace namespace \ --scalable-dimension dimension \

15

Page 20: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 2: スケジュールされたアクションの作成

--resource-id identifier \ --scheduled-action-name my-first-scheduled-action \ --schedule "cron(0 9 * * ? *)" \ --scalable-target-action MinCapacity=1,MaxCapacity=5

Windows

aws application-autoscaling put-scheduled-action --service-namespace namespace --scalable-dimension dimension --resource-id identifier --scheduled-action-name my-first-scheduled-action --schedule "cron(0 9 * * ? *)" --scalable-target-action MinCapacity=1,MaxCapacity=5

このコマンドが成功した場合、出力は返りません。2. スケジュールされたアクションが存在することを確認するには、次の describe-scheduled-actions コ

マンドを使用します。

Linux、macOS、または Unix

aws application-autoscaling describe-scheduled-actions \ --service-namespace namespace \ --query 'ScheduledActions[?ResourceId==`identifier`]'

Windows

aws application-autoscaling describe-scheduled-actions --service-namespace namespace --query "ScheduledActions[?ResourceId==`identifier`]"

出力例を次に示します。

[ { "ScheduledActionName": "my-first-scheduled-action", "ScheduledActionARN": "arn", "Schedule": "cron(0 9 * * ? *)", "ScalableTargetAction": { "MinCapacity": 1, "MaxCapacity": 5 }, ... }]

夜間にスケールインするスケジュールされたアクションを作成するには

1. 前述の手順を繰り返して、Application Auto Scaling で時刻の終了時にスケールインするために使用する別のスケジュールされたアクションを作成します。

指定されたスケジュール (毎日午後 8:00 (UTC)) で、Application Auto Scaling は、次のMinCapacityMaxCapacityput-scheduled-action コマンドで指示されるように、ターゲットの と を0 に更新します。

Linux、macOS、または Unix

aws application-autoscaling put-scheduled-action \ --service-namespace namespace \ --scalable-dimension dimension \

16

Page 21: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 3: ターゲットの追跡スケーリングポリシーの作成

--resource-id identifier \ --scheduled-action-name my-second-scheduled-action \ --schedule "cron(0 20 * * ? *)" \ --scalable-target-action MinCapacity=0,MaxCapacity=0

Windows

aws application-autoscaling put-scheduled-action --service-namespace namespace --scalable-dimension dimension --resource-id identifier --scheduled-action-name my-second-scheduled-action --schedule "cron(0 20 * * ? *)" --scalable-target-action MinCapacity=0,MaxCapacity=0

2. スケジュールされたアクションが存在することを確認するには、次の describe-scheduled-actions コマンドを使用します。

Linux、macOS、または Unix

aws application-autoscaling describe-scheduled-actions \ --service-namespace namespace \ --query 'ScheduledActions[?ResourceId==`identifier`]'

Windows

aws application-autoscaling describe-scheduled-actions --service-namespace namespace --query "ScheduledActions[?ResourceId==`identifier`]"

出力例を次に示します。

[ { "ScheduledActionName": "my-first-scheduled-action", "ScheduledActionARN": "arn", "Schedule": "cron(0 9 * * ? *)", "ScalableTargetAction": { "MinCapacity": 1, "MaxCapacity": 5 }, ... }, { "ScheduledActionName": "my-second-scheduled-action", "ScheduledActionARN": "arn", "Schedule": "cron(0 20 * * ? *)", "ScalableTargetAction": { "MinCapacity": 0, "MaxCapacity": 0 }, ... }]

ステップ 3: ターゲットの追跡スケーリングポリシーの作成

基本的なスケジュールを用意できたところで、ターゲット追跡に基づくスケーリングにターゲット追跡スケーリングポリシーを追加します。

17

Page 22: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 3: ターゲットの追跡スケーリングポリシーの作成

ターゲット追跡では、Application Auto Scaling はポリシーのターゲット値と指定されたメトリクスの現在の値を比較します。それらが一定期間不均衡になると、Application Auto Scaling は安定したパフォーマンスを維持するためにキャパシティーを追加または削除します。アプリケーションへの負荷やメトリクス値が増加すると、Application Auto Scaling は MaxCapacity を超えることなく、可能な限り高速に容量を追加します。 負荷が最小限であるために Application Auto Scaling が容量を削除する場合は、MinCapacity未満にしないでください。 使用量に基づいて容量を調整することで、アプリケーションが必要とするものに対してのみ料金が発生します。詳細については、「使用率の高い期間中のアプリケーションの可用性のサポート (p. 23)」を参照してください。

アプリケーションに負荷がないため、メトリクスに十分なデータがない場合、Application Auto Scaling は容量を追加または削除しません。この動作の目的は、十分な情報が利用できない状況での可用性を優先することです。

ターゲット追跡スケーリングポリシーを作成するには

1. 次の put-scaling-policy コマンドを使用して、ポリシーを作成します。

ターゲット追跡に最も使用されるメトリクスは事前定義されており、CloudWatch からメトリクス仕様全体を提供することなく使用できます。使用可能な事前定義されたメトリクスの詳細については、PredefinedMetricSpecification の「」を参照してください。Application Auto Scaling API リファレンス

このコマンドを実行する前に、事前定義されたメトリクスでターゲット値が想定されていることを確認します。たとえば、CPU が 50% の使用率に達したときにスケールアウトするには、50.0 のターゲット値を指定します。または、使用率が 70% に達したときに Lambda プロビジョニング済み同時実行数をスケールアウトするには、ターゲット値に 0.7 を指定します。特定の リソースのターゲット値の詳細については、ターゲットの追跡を設定する方法についてサービスから提供されたドキュメントを参照してください。詳細については、「Application Auto Scaling の開始方法 (p. 13)」を参照してください。

Linux、macOS、または Unix

aws application-autoscaling put-scaling-policy \ --service-namespace namespace \ --scalable-dimension dimension \ --resource-id identifier \ --policy-name my-scaling-policy --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration '{ "TargetValue": 50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "predefinedmetric" }}'

Windows

aws application-autoscaling put-scaling-policy --service-namespace namespace --scalable-dimension dimension --resource-id identifier --policy-name my-scaling-policy --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration "{ \"TargetValue\": 50.0, \"PredefinedMetricSpecification\": { \"PredefinedMetricType\": \"predefinedmetric\" }}"

成功すると、このコマンドは、ユーザーに代わって作成された 2 つの ARNs アラームの CloudWatchと名前を返します。

2. スケジュールされたアクションが存在することを確認するには、次の describe-scaling-policies コマンドを使用します。

Linux、macOS、または Unix

aws application-autoscaling describe-scaling-policies --service-namespace namespace \ --query 'ScalingPolicies[?ResourceId==`identifier`]'

18

Page 23: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 4: クリーンアップ

Windows

aws application-autoscaling describe-scaling-policies --service-namespace namespace --query "ScalingPolicies[?ResourceId==`identifier`]"

出力例を次に示します。

[ { "PolicyARN": "arn", "TargetTrackingScalingPolicyConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "predefinedmetric" }, "TargetValue": 50.0 }, "PolicyName": "my-scaling-policy", "PolicyType": "TargetTrackingScaling", "Alarms": [], ... }]

ステップ 4: クリーンアップアクティブスケーリング中に作成されたリソースに対してアカウントで料金が発生しないようにするには、関連付けられたスケーリング設定を次のようにクリーンアップできます。

スケーリング設定を削除しても、スケーラブルなリソースは削除されません。また、元の容量に返されません。スケーラブルなリソースを作成したサービスのコンソールを使用して、そのリソースを削除または容量を調整できます。

スケジュールされたアクションを削除するには

以下の delete-scheduled-action コマンドでは、スケールされた指定のアクションを削除します。作成したスケジュールされたアクションを保持する場合は、このステップをスキップできます。

Linux、macOS、または Unix

aws application-autoscaling delete-scheduled-action \ --service-namespace namespace \ --scalable-dimension dimension \ --resource-id identifier \ --scheduled-action-name my-second-scheduled-action

Windows

aws application-autoscaling delete-scheduled-action --service-namespace namespace --scalable-dimension dimension --resource-id identifier --scheduled-action-name my-second-scheduled-action

スケーリングポリシーを削除するには

次の delete-scaling-policy コマンドは、指定したターゲットの追跡スケーリングポリシーを削除します。作成したスケーリングポリシーを維持する場合は、このステップをスキップできます。

19

Page 24: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ 4: クリーンアップ

Linux、macOS、または Unix

aws application-autoscaling delete-scaling-policy \ --service-namespace namespace \ --scalable-dimension dimension \ --resource-id identifier \ --policy-name my-scaling-policy

Windows

aws application-autoscaling delete-scaling-policy --service-namespace namespace --scalable-dimension dimension --resource-id identifier --policy-name my-scaling-policy

スケーラブルなターゲットを登録解除するには

次の deregister-scalable-target コマンドを使用して、スケーラブルなターゲットの登録を解除します。自分で作成したスケーリングポリシーや、まだ削除されていないスケジュールされたアクションがある場合は、このコマンドによって削除されます。後で使用できるように、登録されたスケーラブルなターゲットを保持する場合は、このステップをスキップできます。

Linux、macOS、または Unix

aws application-autoscaling deregister-scalable-target \ --service-namespace namespace \ --scalable-dimension dimension \ --resource-id identifier

Windows

aws application-autoscaling deregister-scalable-target --service-namespace namespace --scalable-dimension dimension --resource-id identifier

20

Page 25: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドConsiderations

のターゲット追跡スケーリングポリシーApplication Auto Scaling

ターゲット追跡スケーリングポリシーでは、スケーリングメトリクスを選択してターゲット値を設定します。Application Auto Scaling はスケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じて容量を追加または削除します。ターゲット追跡スケーリングポリシーは、メトリクスをターゲット値に近い値に維持することに加えて、変化するロードパターンによるメトリクスの変化に適応します。

アプリケーションの可用性を高めるために、Application Auto Scaling のスケールアウトはメトリクスに比例して可能な限り高速に行われますが、スケールインはより緩やかです。

Limits

• ターゲット追跡スケーリングポリシーは、Amazon EMR ではサポートされていません。• のスケールインは無効になっています。Amazon MSK• RegisterScalableTarget または PutScalingPolicy API オペレーションを使用して、AWS Auto

Scaling スケーリングプランを更新することはできません。AWS Auto Scaling コンソール、CLI、またはAPI アクションの詳細については、AWS Auto Scaling のドキュメントを参照してください。

• を使用して、事前定義されたメトリクスまたは Application Auto Scaling カスタムメトリクスに基づいてターゲット追跡スケーリングポリシーを適用できます。CloudWatchただし、すべてのサービスがコンソールを通じてカスタムメトリクスを管理することができるわけではありません。サービスが コンソールでカスタムメトリクスをサポートしているかどうかを確認するには、そのサービスのドキュメントを参照してください。

Considerations次の考慮事項に注意が必要です。

• すべてのメトリクスがターゲット追跡に使用できるわけではありません。これは、カスタムメトリクスを指定する場合に重要になる場合があります。メトリクスは、有効な使用率メトリクスで、スケーラブルなターゲットの使用頻度を示す必要があります。メトリクス値は、スケーラブルなターゲットを比例的にスケールするためにメトリクスデータを使用できるようにするため、スケーラブルなターゲットの容量に対して比例的に増減する必要があります。

• 可能な限り、1 分間隔でメトリクスをスケールします。これにより、使用率の変化に迅速に対応できます。

• ターゲットの追跡スケーリングポリシーでは、指定されたメトリクスがターゲット値を超えている場合、スケールアウトする必要があると見なされます。指定されたメトリクスがターゲット値を下回っている場合、ターゲットの追跡スケーリングポリシーを使用してスケールアウトすることはできません。

• ネットワーク接続などの原因により、指定されたメトリクスに十分なデータがない場合、ターゲットの追跡スケーリングポリシーによってスケーリングは実行されません。不十分なデータは低い使用率として解釈されないため、スケールインされません。

• ターゲット値と実際のメトリクスデータポイント間にギャップが発生する場合があります。これは、Application Auto Scaling が追加または削除する容量を決定するときに、その数を切り上げまたは切り捨てて常に控えめに動作するためです。これにより、不十分な容量を追加したり、必要以上に容量を

21

Page 26: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドクールダウン期間

削除することを防ぎます。ただし、小容量のスケーラブルなターゲットの場合、実際のメトリクスデータポイントがターゲット値からかなり離れているように見えることがあります。

• 容量が大きいスケーラブルなターゲットでは、容量を追加または削除することにより、ターゲット値と実際のメトリクスデータポイントの間のギャップが少なくなります。

• それぞれが異なるメトリクスを使用していれば、スケーラブルなターゲットに対して複数のターゲットの追跡スケーリングポリシーを設定できます。Application Auto Scaling の目的は常に可用性を優先することであるため、その動作は、ターゲット追跡ポリシーでスケールアウトまたはスケールインの準備ができているかによって異なります。ターゲット追跡ポリシーのいずれかでスケールアウトする準備ができると、スケーラブルなターゲットがスケールアウトされますが、すべてのターゲット追跡ポリシー(スケールイン部分が有効) でスケールインする準備ができている場合のみスケールインされます。

• 複数のポリシーによって、スケーラブルなターゲットが同時にスケールアウトまたはスケールインするように指示される場合、Application Auto Scaling は、スケールインとスケールアウトの両方で最大の容量を提供するポリシーに基づいてスケールします。これにより、複数のシナリオに対応する柔軟性が高まり、アプリケーションワークロードを処理するのに十分な容量が常に確保されます。

• ターゲット追跡スケーリングポリシーのスケールイン部分を無効にすることもできます。この機能には、スケールアウトに使用するのとは異なるメソッドをスケーリングに使用できる柔軟性があります。たとえば、スケールアウトにはターゲットの追跡スケーリングポリシーを使用しながら、スケールインにはステップスケーリングポリシーを使用できます。

• ただし、ターゲット追跡スケーリングポリシーをステップスケーリングポリシーとともに使用する場合、ポリシー間の競合によって望ましくない動作が生じる可能性があるため、注意することをお勧めします。たとえば、ターゲット追跡ポリシーがスケールインする準備が整う前に、ステップスケーリングポリシーがスケールインアクティビティを開始した場合、スケールインアクティビティはブロックされません。スケールインアクティビティが完了した後で、ターゲット追跡ポリシーにより、スケーラブルなターゲットに再びスケールアウトするよう指示できます。

• ターゲット追跡スケーリングポリシー用に設定された CloudWatch アラームを編集または削除しないでください。ターゲット追跡スケーリングポリシーに関連付けられた CloudWatch アラームは AWS によって管理されており、不要になると自動的に削除されます。

クールダウン期間前回のスケーリングアクティビティが有効になるまで待機する時間をクールダウン期間と呼びます。

ターゲット追跡スケーリングポリシーでは、次の 2 種類のクールダウン期間があります。

• スケールアウトクールダウン期間では、スケールアウトが継続的に (ただし過剰になることなく) 行われます。ターゲット追跡スケーリングポリシーを使用して Application Auto Scaling が正常にスケールアウトすると、クールダウン時間の計算が開始されます。スケーリングポリシーは、より大きなスケールアウトがトリガーされるか、クールダウン期間が終了しない限り、必要な容量を再度増加させません。このスケールアウトクールダウン期間が有効な間は、スケールアウトアクティビティを開始することで追加された容量は、次のスケールアウトアクティビティに予定される容量の一部として繰り入れられます。

• スケールインクールダウン期間では、アプリケーションの可用性を保護するために控えめにスケールインされます。そのため、スケールインアクティビティはクールダウン期間が終了するまでブロックされます。ただし、スケールインクールダウン期間中に別のアラームがスケールアウトアクティビティをトリガーした場合、Application Auto Scaling によってターゲットが即座にスケールアウトされます。この場合、スケールインクールダウン期間は停止し、完了しません。

各クールダウン期間は秒単位で測定され、スケーリングポリシー関連のスケーリングアクティビティにのみ適用されます。クールダウン期間中、スケジュールされたアクションがスケジュールされた時間に開始されると、クールダウン期間の期限が切れるのを待たずにスケーリングアクティビティを即座にトリガーできます。

デフォルト値で開始し、値を後で微調整できます。たとえば、ターゲット追跡スケーリングポリシーが短期間に発生する変更に対して積極的になりすぎないように、場合によってはクールダウン期間を延長する

22

Page 27: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド使用率の高い期間中のアプリケーションの可用性のサポート

必要があります。デフォルト値については、TargetTrackingScalingPolicyConfiguration の「」を参照してください。Application Auto Scaling API リファレンス

使用率の高い期間中のアプリケーションの可用性のサポート

ターゲット追跡スケーリングポリシーは、使用率が低下したときの容量の削除よりも、使用率が増加したときの容量の追加の方が積極的です。たとえば、ポリシーの指定されたメトリクスがターゲット値に達した場合、ポリシーではアプリケーションがすでに負荷が大量にロードされていると見なされます。したがって、できるだけ早くメトリクス値に比例した容量を追加することで対応します。メトリクスが大きいほど、より多くの容量が追加されます。

メトリクスがターゲット値を下回ると、ポリシーでは使用率が最終的に再び増加すると予想されます。したがって、使用率が低速と見なされるために、ターゲット値 (通常は 20% 低い) をかなり下回るしきい値を超えた場合にのみ、容量を削除することでスケーリング速度が低下します。この保守的な動作の意図は、アプリケーションの需要が以前ほど高いレベルでなくなった場合にのみ、容量が削除されるようにすることです。これは現在、すべてのターゲット追跡スケーリングポリシーのデフォルトの動作です (ただし、動作は将来変更される可能性があります)。

周期的な性質のワークロードの場合、スケジュールされたスケーリングを使用してスケジュールに従って容量の変更を自動化することもできます。スケジュールされたアクションごとに、新しい最小容量値と新しい最大容量値を定義できます。これらの値は、スケーリングポリシーの境界を形成します。

スケジュールされたスケーリングとターゲットトラッキングスケーリングの組み合わせにより、容量がすぐに必要になったときに、使用率レベルの急激な増加による影響を軽減できます。

スケーラブルなターゲットを登録するスケーリングポリシーを作成する前に、スケーラブルなターゲットを登録する必要があります。次のregister-scalable-target コマンドを使用して、新しいスケーラブルなターゲットを登録します。

次の例では、Application Auto Scaling にスポットフリートリクエストを登録します。Application AutoScaling では、スポットフリート内のインスタンス数を最小 2、最大 10 でスケールできます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --min-capacity 2 --max-capacity 10

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --min-capacity 2 --max-capacity 10

Note

コンソールでスケーリングポリシーを設定すると、Application Auto Scaling で使用するスケーラブルターゲットとして、リソースの登録が自動的に解除されます。詳細については、ApplicationAuto Scaling の開始方法 (p. 13) セクションのドキュメントを参照してください。

23

Page 28: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドターゲットの追跡スケーリングポリシーの作成

ターゲットの追跡スケーリングポリシーの作成アプリケーションの負荷が変化したときに自動的に容量を増加 (スケールアウト) および減少 (スケールイン) するように Application Auto Scaling に指示するターゲット追跡スケーリングポリシーを作成できます。

例: ターゲットの追跡設定ファイル

平均 CPU 使用率を 40 パーセントに維持するターゲット追跡設定の例を次に示します。この設定をconfig.json という名前のファイルに保存してください。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization" }}

詳細については、「Application Auto Scaling API リファレンス」の「PredefinedMetricSpecification」を参照してください。

または、カスタマイズされたメトリクス仕様を作成し、CloudWatch から各パラメータの値を追加することで、スケーリングにカスタムメトリクスを使用できます。指定されたメトリクスの平均使用率を 40パーセントに維持するターゲット追跡設定の例を以下に示します。

{ "TargetValue":40.0, "CustomizedMetricSpecification":{ "MetricName":"MyUtilizationMetric", "Namespace":"MyNamespace", "Dimensions":[ { "Name":"MyOptionalMetricDimensionName", "Value":"MyOptionalMetricDimensionValue" } ], "Statistic":"Average", "Unit":"Percent" }}

詳細については、「Application Auto Scaling API リファレンス」の「CustomizedMetricSpecification」を参照してください。

例: cpu40-target-tracking-scaling-policy

作成した ファイルと共に、次の put-scaling-policyconfig.json コマンドを使用して cpu40-target-tracking-scaling-policy という名前のスケーリングポリシーを作成します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scaling-policy --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --policy-name cpu40-target-tracking-scaling-policy --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration file://config.json

ローカル Windows マシンの場合

24

Page 29: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドターゲット追跡スケーリングポリシーの説明

aws application-autoscaling put-scaling-policy --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --policy-name cpu40-target-tracking-scaling-policy --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration file://config.json

成功すると、このコマンドは、ユーザーに代わって作成された 2 つの ARNs アラームの CloudWatch と名前を返します。

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:resource/ec2/spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE:policyName/cpu40-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ]}

ターゲット追跡スケーリングポリシーの説明次の describe-scaling-policies コマンドを使用して、指定したサービスの名前空間のすべてのスケーリングポリシーを説明することができます。

aws application-autoscaling describe-scaling-policies --service-namespace ec2

結果をフィルタリングし、--query パラメータを使用してターゲット追跡スケーリングポリシーのみに制限することができます。の構文の詳細については、query の「AWS CLI からのコマンド出力の制御」を参照してください。AWS Command Line Interface ユーザーガイド

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling describe-scaling-policies --service-namespace ec2 \ --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'

ローカル Windows マシンの場合

aws application-autoscaling describe-scaling-policies --service-namespace ec2 --query "ScalingPolicies[?PolicyType==`TargetTrackingScaling`]"

出力例を次に示します。

[

25

Page 30: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドターゲットの追跡スケーリングポリシーを削除する

{ "PolicyARN": "PolicyARN", "TargetTrackingScalingPolicyConfiguration": { "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization" }, "TargetValue": 40.0 }, "PolicyName": "cpu40-target-tracking-scaling-policy", "ScalableDimension": "ec2:spot-fleet-request:TargetCapacity", "ServiceNamespace": "ec2", "PolicyType": "TargetTrackingScaling", "ResourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ], "CreationTime": 1515021724.807 }]

ターゲットの追跡スケーリングポリシーを削除するターゲット追跡スケーリングポリシーの処理が終了したら、delete-scaling-policy コマンドを使用して削除することができます。

次のコマンドは、指定したスポットフリートリクエストに対して指定したターゲット追跡スケーリングポリシーを削除します。また、Application Auto Scaling によって作成された CloudWatch のアラームも削除されます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling delete-scaling-policy --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --policy-name cpu40-target-tracking-scaling-policy

ローカル Windows マシンの場合

aws application-autoscaling delete-scaling-policy --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --policy-name cpu40-target-tracking-scaling-policy

26

Page 31: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップ調整値

のステップスケーリングポリシーApplication Auto Scaling

ステップスケーリングで、指定された評価期間の数についてしきい値が違反したときにスケーリングプロセスをトリガーし、スケーラブルなターゲットをどのようにスケールするか定義する、CloudWatch アラームのスケーリングメトリクスとしきい値の値を選択します。

スケーリングメトリクスが、スケーラブルなターゲットのキャパシティに比例してスケールする使用率メトリクスである場合は、ターゲット追跡スケーリングポリシーを使用することをお勧めします。詳細については、「のターゲット追跡スケーリングポリシーApplication Auto Scaling (p. 21)」を参照してください。より高度なスケーリングポリシーの設定には、ステップスケーリングによりターゲット追跡スケーリングを使用するオプションが引き続き用意されています。たとえば、必要に応じて、使用率が一定のレベルに達したときにより積極的な応答を設定できます。

ステップスケーリングポリシーは、一連のスケーリング調整値 (ステップ調整値) に基づいて、スケーラブルなターゲットの現在の容量を増減させます。調整は、アラーム超過のサイズに応じて異なります。超過したアラームはすべて、アラームメッセージ受信の際に Application Auto Scaling によって評価されます。

Limits

• ステップスケーリングポリシーは、DynamoDB、Amazon Comprehend、Lambda、AmazonKeyspaces、または Amazon MSK ではサポートされていません。

ステップ調整値ステップスケーリングポリシーを作成するときは、アラーム超過のサイズに基づいてスケールできるようにする 1 つ以上のステップ調整値を追加します。各ステップ調整値は、次のように指定します。

• メトリクス値の下限• メトリクス値の上限• スケーリング調整タイプに基づいてスケールする量

CloudWatch は、CloudWatch アラームに関連付けられたメトリクスの統計に基づいて、メトリクスデータポイントを集計します。アラームを超過した場合、適切なスケーリングポリシーがトリガーされます。Application Auto Scaling は指定された集計タイプを、(raw メトリクスデータではなく) CloudWatch からの最新のメトリクスデータポイントに適用します。ステップ調整によって定義された上限と下限に対して、この集約メトリクス値を比較することにより、実行するステップ調整が決定されます。

違反しきい値に比例して上限と下限を指定します。たとえば、現在の容量と希望する容量が 10 のスケーラブルなターゲットがあるとします。超過しきい値が 50% の CloudWatch アラームが発生しました。PercentChangeInCapacity の調整タイプがあり、スケールアウトおよびスケールインポリシーに以下のステップ調整値が含まれるとします。

例: スケールアウトポリシーのステップ調整値

下限 上限 調整

0 10 0

10 20 10

20 null 30

27

Page 32: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケーリング調整タイプ

例: スケールインポリシーのステップ調整値

下限 上限 調整

-10 0 0

-20 -10 -10

null -20 -30

これにより、次のスケーリング設定が作成されます。

Metric value

-infinity 30% 40% 60% 70% infinity----------------------------------------------------------------------- -30% | -10% | Unchanged | +10% | +30% -----------------------------------------------------------------------

以下の点は、スケーラブルターゲットの希望容量と現在の容量に関連してスケーリング設定の動作をまとめたものです。

• 集合メトリクス値が 40 より大きく 60 未満である間は、現在の容量と必要な容量が維持されます。• メトリクス値が 60 になった場合、Application Auto Scaling はスケーラブルターゲットの必要な容量を 1

ずつ、11 まで増やします。これはスケールアウトポリシーの 2 番目のステップ調整値に基づきます (10の 10% を追加)。新しい容量が追加されると、Application Auto Scaling は現在の容量を 11 に増やします。この容量の増加後にメトリクス値が 70 に増えた場合、Application Auto Scaling はターゲット容量を 3 ずつ、14 まで増やします。これはスケールアウトポリシーの 3 番目のステップ調整値に基づきます(11 の 30% である 3.3 を、3 に切り捨てて追加)。

• メトリクス値が 40 になった場合、Application Auto Scaling は、スケールインポリシーの 2 番目のステップ調整値 (14 の 10%、つまり 1.4 を四捨五入した 1 を削除) に基づいて、ターゲット容量を 1 減らして 13 にします。この容量の減少後にメトリクス値がさらに 30 まで減った場合、Application AutoScaling は、スケールインポリシーの 3 番目のステップ調整値 (13 の 30%、つまり 3.9 を四捨五入した3 を削除) に基づいて、ターゲット容量を 3 減らして 10 にします。

スケーリングポリシーのステップ調整を指定するときは、次の点に注意してください。

• ステップ調整値の範囲に重複や間隔があってはなりません。• 1 つのステップ調整値のみ、下限を null (負の無限大) にすることができます。下限が負のステップ調整

値がある場合は、下限が null のステップ調整値が必要です。• 1 つのステップ調整値のみ、上限を null (正の無限大) にすることができます。上限が正のステップ調整

値がある場合は、上限が null のステップ調整値が必要です。• 同じステップ調整値で上限と下限を null にすることはできません。• メトリクス値が超過しきい値を上回っている場合、下限にその値を含み、上限には含みません。メトリ

クス値が超過しきい値を下回っている場合、下限にその値を含まず、上限に含みます。

スケーリング調整タイプ選択したスケーリング調整タイプに基づいて、最適なスケーリングアクションを実行するスケーリングポリシーを定義できます。調整タイプは、スケーラブルターゲットの現在の容量に対する割合、または絶対数で指定できます。

Application Auto Scaling はステップスケーリングポリシーに対して次の調整タイプをサポートしています。

28

Page 33: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドクールダウン期間

• ChangeInCapacity スケーラブルなターゲットの現在の容量を、指定した値に基づいて増減させます。—正の値は容量を増やし、負の値は容量を減らします。次に例を示します。現在の容量が 3、調整値が 5の場合、Application Auto Scaling は容量に 5 を追加し、合計は 8 になります。

• ExactCapacity スケーラブルなターゲットの現在の容量を、指定した値に変更します。—この調整タイプには正の値を指定します。次に例を示します。現在の容量が 3、調整値が 5 の場合、Application AutoScaling は容量を 5 に変更します。

• PercentChangeInCapacity スケーラブルなターゲットの現在の容量を、指定したパーセンテージで増減させます。—正の値は容量を増やし、負の値は容量を減らします。次に例を示します。現在の容量が10、調整値が 10% の場合、Application Auto Scaling は容量に 1 を追加し、合計は 11 になります。

Note

結果の値が整数でない場合、Application Auto Scaling はその値を以下のように四捨五入します。• 1 より大きい値は小数点以下が切り捨てられます。たとえば、12.7 は 12 に丸められます。• 0 と 1 の間の値は 1 に丸められます。たとえば、.67 は 1 に丸められます。• 0 と -1 の間の値は -1 に丸められます。たとえば、-.58 は -1 に丸められます。• -1 未満の値は小数点以下が切り捨てられます。たとえば、-6.67 は -6 に丸められます。

PercentChangeInCapacity では、 パラメータを使用してスケーリングする最小の数量を指定できます。MinAdjustmentMagnitudeたとえば、25% 追加するポリシーを作成して、最小数量を 2 に指定するとします。スケーラブルなターゲットの容量が 4 の時にスケーリングポリシーを実行すると、4 の25% は 1 です。ただし、最小増減値が 2 に指定されているため、Application Auto Scaling は 2 を追加します。

クールダウン期間前回のスケーリングアクティビティが有効になるまで待機する時間をクールダウン期間と呼びます。

• スケールアウトポリシーでは、スケールアウトが継続的に (ただし過剰になることなく) 行われます。ステップスケーリングスケーリングポリシーを使用して Application Auto Scaling が正常にスケールアウトすると、クールダウン時間の計算が開始されます。スケーリングポリシーは、より大きなスケールアウトがトリガーされるか、クールダウン期間が終了しない限り、必要な容量を再度増加させません。このクールダウン期間が有効な間は、スケールアウトアクティビティを開始することで追加された容量は、次のスケールアウトアクティビティに予定される容量の一部として繰り入れられます。たとえば、あるアラームが容量を 2 増加させるステップスケーリングポリシーをトリガーする場合、規模の拡大や縮小は正常に完了し、クールダウン期間が始まります。クールダウン期間中にアラームが再度トリガーし、さらに進んだステップ調整を行う場合 (3 の増加)、以前の 2 の増加は現在の容量の一部とみなされます。したがって、容量に追加されるのは 1 だけです。

• スケールインポリシーでは、アプリケーションの可用性を保護するために控えめにスケールインされます。そのため、スケールインアクティビティはクールダウン期間が終了するまでブロックされます。ただし、スケールインアクティビティ後のクールダウン期間中に別のアラームによってスケールアウトアクティビティがトリガーされると、Application Auto Scaling によってターゲットが即座にスケールアウトされます。この場合、スケールインアクティビティのクールダウン期間は停止し、完了しません。

クールダウン期間は秒単位で測定され、スケーリングポリシー関連のスケーリングアクティビティにのみ適用されます。クールダウン期間中、スケジュールされたアクションがスケジュールされた時間に開始されると、クールダウン期間の期限が切れるのを待たずにスケーリングアクティビティを即座にトリガーできます。

29

Page 34: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケーラブルなターゲットを登録する

スケーラブルなターゲットを登録するスケーリングポリシーを作成する前に、スケーラブルなターゲットを登録する必要があります。次のregister-scalable-target コマンドを使用して、新しいスケーラブルなターゲットを登録します。

次の例では、Application Auto Scaling により Amazon ECS サービスを登録します。Application AutoScaling はタスクの数を最小 2、最大 10 にスケールできます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/sample-app-service \ --min-capacity 2 --max-capacity 10

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/default/sample-app-service --min-capacity 2 --max-capacity 10

Note

コンソールでスケーリングポリシーを設定すると、Application Auto Scaling で使用するスケーラブルターゲットとして、リソースの登録が自動的に解除されます。詳細については、ApplicationAuto Scaling の開始方法 (p. 13) セクションのドキュメントを参照してください。

を使用したステップスケーリングポリシーの設定AWS CLI

アプリケーションの負荷が変化したときの処理を Application Auto Scaling に指示するステップスケーリングポリシーを作成できます。

以下に示すのは、次のステップ調整に基づいて、スケーラブルなターゲットの容量を増やす、調整タイプが ChangeInCapacity であるステップ設定の例です (CloudWatch アラームのしきい値を 70 パーセントと仮定した場合)。

• メトリクスの値が 70 パーセント以上、85 パーセント未満の場合は容量を 1 増やします。• メトリクスの値が 85 パーセント以上、95 パーセント未満の場合は容量を 2 増やします。• メトリクスの値が 95 パーセント以上の場合は容量を 3 増やします。

この設定を config.json という名前のファイルに保存してください。

{ "AdjustmentType": "ChangeInCapacity", "MetricAggregationType": "Average", "Cooldown": 60, "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "MetricIntervalUpperBound": 15, "ScalingAdjustment": 1 },

30

Page 35: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドを使用したステップスケーリングポリシーの設定AWS CLI

{ "MetricIntervalLowerBound": 15, "MetricIntervalUpperBound": 25, "ScalingAdjustment": 2 }, { "MetricIntervalLowerBound": 25, "ScalingAdjustment": 3 } ]}

作成した ファイルと共に、次の put-scaling-policyconfig.json コマンドを使用して my-step-scaling-policy という名前のスケーリングポリシーを作成します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scaling-policy --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/sample-app-service \ --policy-name my-step-scaling-policy --policy-type StepScaling \ --step-scaling-policy-configuration file://config.json

ローカル Windows マシンの場合

aws application-autoscaling put-scaling-policy --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/default/sample-app-service --policy-name my-step-scaling-policy --policy-type StepScaling --step-scaling-policy-configuration file://config.json

出力には、ポリシーの一意の名前となる ARN が含まれます。これは、CloudWatch アラームを作成するときに必要になります。

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:resource/ecs/service/default/sample-app-service:policyName/my-step-scaling-policy"}

最後に、次の CloudWatch put-metric-alarm コマンドを使用して、ステップスケーリングポリシーで使用するアラームを作成します。この例では、CPU の平均利用率に基づくアラームもあります。アラームは、少なくとも 2 つの連続する 60 秒の評価期間に 70 パーセントのしきい値に達した場合に、ALARM 状態となるよう設定されます。別の CloudWatch メトリクスを指定するか、独自のカスタムメトリクスを使用するには、名前を --metric-name で指定し、その名前空間を --namespace で指定します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-ECS:service/default/sample-app-service \ --metric-name CPUUtilization --namespace AWS/ECS --statistic Average \ --period 60 --evaluation-periods 2 --threshold 70 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions Name=ClusterName,Value=default Name=ServiceName,Value=sample-app-service \ --alarm-actions PolicyARN

ローカル Windows マシンの場合

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-ECS:service/default/sample-app-service --metric-name CPUUtilization --namespace AWS/ECS --

31

Page 36: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップスケーリングポリシーについて説明する

statistic Average --period 60 --evaluation-periods 2 --threshold 70 --comparison-operator GreaterThanOrEqualToThreshold --dimensions Name=ClusterName,Value=default Name=ServiceName,Value=sample-app-service --alarm-actions PolicyARN

ステップスケーリングポリシーについて説明する次の describe-scaling-policies コマンドを使用して、指定したサービスの名前空間のすべてのスケーリングポリシーを説明することができます。

aws application-autoscaling describe-scaling-policies --service-namespace ecs

結果をフィルタリングし、--query パラメータを使用してステップスケーリングポリシーを制限することができます。の構文の詳細については、query の「AWS CLI からのコマンド出力の制御」を参照してください。AWS Command Line Interface ユーザーガイド

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling describe-scaling-policies --service-namespace ecs \ --query 'ScalingPolicies[?PolicyType==`StepScaling`]'

ローカル Windows マシンの場合

aws application-autoscaling describe-scaling-policies --service-namespace ecs --query "ScalingPolicies[?PolicyType==`StepScaling`]"

出力例を次に示します。

[ { "PolicyARN": "PolicyARN", "StepScalingPolicyConfiguration": { "MetricAggregationType": "Average", "Cooldown": 60, "StepAdjustments": [ { "MetricIntervalLowerBound": 0.0, "MetricIntervalUpperBound": 15.0, "ScalingAdjustment": 1 }, { "MetricIntervalLowerBound": 15.0, "MetricIntervalUpperBound": 25.0, "ScalingAdjustment": 2 }, { "MetricIntervalLowerBound": 25.0, "ScalingAdjustment": 3 } ], "AdjustmentType": "ChangeInCapacity" }, "PolicyType": "StepScaling", "ResourceId": "service/default/sample-app-service", "ServiceNamespace": "ecs", "Alarms": [ { "AlarmName": "Step-Scaling-AlarmHigh-ECS:service/default/sample-app-service",

32

Page 37: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドステップスケーリングポリシーを削除する

"AlarmARN": "arn:aws:cloudwatch:region:012345678910:alarm:Step-Scaling-AlarmHigh-ECS:service/default/sample-app-service" } ], "PolicyName": "my-step-scaling-policy", "ScalableDimension": "ecs:service:DesiredCount", "CreationTime": 1515024099.901 }]

ステップスケーリングポリシーを削除する不要になったステップのスケーリングポリシーは削除できます。スケーリングポリシーと CloudWatch アラームをいずれも削除するには、次のタスクを完了します。

スケーリングポリシーを削除するには

次の delete-scaling-policy コマンドを使用します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling delete-scaling-policy --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/sample-app-service \ --policy-name my-step-scaling-policy

ローカル Windows マシンの場合

aws application-autoscaling delete-scaling-policy --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/default/sample-app-service --policy-name my-step-scaling-policy

CloudWatch アラームを削除するには

delete-alarms コマンドを実行します。1 つ以上のアラームを一度に削除することができます。たとえば、次のコマンドを使用して Step-Scaling-AlarmHigh-ECS:service/default/sample-app-service アラームおよび Step-Scaling-AlarmLow-ECS:service/default/sample-app-service アラームを削除します。

aws cloudwatch delete-alarms --alarm-name Step-Scaling-AlarmHigh-ECS:service/default/sample-app-service Step-Scaling-AlarmLow-ECS:service/default/sample-app-service

33

Page 38: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドConsiderations

のスケジュールに基づくスケーリングApplication Auto Scaling

スケジュールに基づいたスケーリングにより、予想可能な負荷の変化に対する独自のスケーリングスケジュールを設定できます。たとえば、毎週、ウェブアプリケーションへのトラフィックが水曜日に増え始め、木曜日は高いままで、金曜日に下がり始めるとします。この場合は、水曜日に容量を増やし、金曜日に減らすように Application Auto Scaling を設定できます。

スケジュールに基づくスケーリングを使用するには、スケジュールされたアクションを作成します。それにより、指定された時間に規模の拡大や縮小を行うように Application Auto Scaling に伝えます。スケジュールされたアクションを作成するときは、スケーラブルなターゲット、規模の拡大や縮小を実行するタイミング、最小容量、最大容量を指定します。

指定時間に、Application Auto Scaling は、現在の容量を指定された最小容量と最大容量と比較して、新しい容量の値に基づいてスケールします。

• 現在の容量が指定された最小容量より少ない場合、Application Auto Scaling は最小容量までスケールアウト (容量を増やす) します。

• 現在の容量が指定された最大容量より大きい場合、Application Auto Scaling は最大容量までスケールイン (容量の減少) します。

スケジュールされたアクションが実行されると、スケーリングポリシー (存在する場合) はキャパシティーをさらにスケーリングするかどうかの決定を継続できます。これにより、アプリケーションの負荷を処理するのに十分な容量を確保できます。アプリケーションが需要に合わせてスケールしている間、現在の容量は、スケジュールされたアクションで許可される最小容量と最大容量内に収まる必要があります。

スケジュールに基づくスケーリングの使用の詳細な例については、AWS コンピューティングブログのブログ投稿「定期的なピーク使用量に対する AWS Lambda プロビジョンド同時実行数のスケジュール」を参照してください。

Limits

• スケジュールに基づくスケーリングは Amazon MSK ではサポートされていません。

Considerationsスケジュールされたアクションを作成する場合、次の点に注意してください。

• スケジュールされたアクションは、MinCapacity と MaxCapacity を、スケジュールされたアクションで指定された時間にスケジュールされたアクションによって指定されたサイズに設定します。古い値を追跡しないため、終了時間後に古い値に戻りません。

• スケジュールされたアクションの実行にはしばらく時間がかかることがあります。スケジュールされたアクションは指定された順序で実行されるため、スケジュールされたアクションの開始時間が互いに近いと、実行に時間がかかる可能性があります。

• Application Auto Scaling では、同じスケーラブルなターゲットではスケジュールされたアクションの実行順序が維持されますが、スケーラブルなターゲット間で実行される場合は必ずしも維持されません。

34

Page 39: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケーラブルなターゲットを登録する

• スケジュールされたアクションを削除せずに、スケジュールされたスケーリングを一時的に無効にできます。詳細については、「のスケーリングの中断と再開Application Auto Scaling (p. 40)」を参照してください。

• サンプル AWS リソースを使用してスケジュールされたアクションを作成する方法のチュートリアルについては、「AWS CLI を使用した開始方法 (p. 5)」を参照してください。

• スケジュールされたアクションの名前は、指定されたスケーラブルなターゲット上の他のすべてのスケジュールされたアクション間で一意である必要があります。

• 定期的なスケジュールと開始時刻を指定した場合、Application Auto Scaling はこの時刻にアクションを実行し、次に指定された繰り返しに基づいてアクションを実行します。

Note

簡潔にするために、このトピックの例では、Application Auto Scaling と統合されるいくつかのサービスの CLI コマンドを示しています。別のスケーラブルなターゲットを指定するには、--service-namespace で名前空間を、--scalable-dimension でそのスケーラブルなディメンションを、--resource-id でそのリソース ID をそれぞれ指定します。

スケーラブルなターゲットを登録するスケジュールされたアクションを作成する前に、スケーラブルなターゲットを登録する必要があります。次の register-scalable-target コマンドを使用して、新しいスケーラブルなターゲットを登録します。次の例では、BLUE という名前の Lambda 関数の my-function というエイリアスに対してプロビジョニングされた同時実行数を登録します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target --service-namespace lambda \ --scalable-dimension lambda:function:ProvisionedConcurrency \ --resource-id function:my-function:BLUE \ --min-capacity 10 --max-capacity 50

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace lambda --scalable-dimension lambda:function:ProvisionedConcurrency --resource-id function:my-function:BLUE --min-capacity 10 --max-capacity 50

を使用したスケジュールされたアクションの作成または更新AWS CLI

put-scheduled-action コマンドを使用して、スケジュールされたアクションは 1 回のみ、または反復してスケーリングするように作成して更新できます。新しい容量を指定するときは、最小容量、最大容量、またはその両方を指定できます。

1 回のみのスケジュールのスケジュールのアクションをスケジュールする1 回限りのスケジュールを指定して、スケーラブルなターゲットを特定の日付と時刻 (UTC) に自動的にスケールできます。

35

Page 40: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドcron 式または rate 式を使用した定期的なスケジュール

Example 例: 1 回のみスケールアウトするには

以下は、特定の日時に容量をスケールアウトするスケジュールされたアクションを作成する例です。

--schedule に指定された日時に、MinCapacity に指定された値が現在の容量を上回る場合、Application Auto Scaling は MinCapacity にスケールアウトします。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scheduled-action --service-namespace custom-resource \ --scalable-dimension custom-resource:ResourceType:Property \ --resource-id file://~/custom-resource-id.txt \ --scheduled-action-name scale-out \ --schedule "at(2021-03-31T22:00:00)" \ --scalable-target-action MinCapacity=3

ローカル Windows マシンの場合

aws application-autoscaling put-scheduled-action --service-namespace custom-resource --scalable-dimension custom-resource:ResourceType:Property --resource-id file://~/custom-resource-id.txt --scheduled-action-name scale-out --schedule "at(2021-03-31T22:00:00)" --scalable-target-action MinCapacity=3

カスタムリソースを指定すると、custom-resource-id.txt ファイルはカスタムリソースの APIGateway エンドポイントを指定します。カスタムリソースの設定の詳細については、「 リポジトリGitHub」を参照してください。ファイルの内容は以下のようになります。

https://example.execute-api.region.amazonaws.com/prod/scalableTargetDimensions/1-23456789

Example 例: 1 回のみスケールインするには

スケジュールされたアクションを作成して特定の日時に容量をスケールインする例を次に示します。

--schedule に指定された日時に、MaxCapacity に指定された値が現在の容量を下回る場合、Application Auto Scaling は MaxCapacity にスケールインします。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scheduled-action --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/web-app \ --scheduled-action-name scale-in \ --schedule "at(2021-01-31T17:00:00)" \ --scalable-target-action MaxCapacity=1

ローカル Windows マシンの場合

aws application-autoscaling put-scheduled-action --service-namespace ecs --scalable-dimension ecs:service:DesiredCount --resource-id service/default/web-app --scheduled-action-name scale-in --schedule "at(2021-01-31T17:00:00)" --scalable-target-action MaxCapacity=1

cron 式または rate 式を使用した定期的なスケジュールスケジュール式を使用して、スケジュールされたアクションの定期的なスケジュールを設定できます。Application Auto Scaling はスケジュール式の cron 形式と rate 形式をサポートしています。

36

Page 41: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドcron 式または rate 式を使用した定期的なスケジュール

Example 例: cron 式を使用して定期的なスケジュールでスケールするには

Cron 式を使用して定期的なスケジュールを UTC で指定できます。スケーラブルなターゲットに対して、put-scheduled-action コマンドを呼び出します。オプションを含めます。--schedule "cron(cronexpression)"でサポートされている cron 形式は、空白で区切られた 6 つのフィールドで構成されます。Application Auto Scaling[分] [時間] [Day_of_Month] [月] [Day_of_Week] [年]。詳細については、https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions の「Cron 式Amazon CloudWatch Events ユーザーガイド」を参照してください。

cron 式の例を以下に示します。

分 時間 日 月 曜日 年 意味

0 10 * * ? * 毎日午前10:00 (UTC)に実行

15 12 * * ? * 毎日午後12:15 (UTC)に実行

0 18 ? * MON-FRI * 毎週月曜日から金曜日まで午後6:00 (UTC)に実行

0 8 1 * ? * 毎月 1 日の午前8:00(UTC)に実行

0/15 * * * ? * 15 分ごとに実行

0/10 * ? * MON-FRI * 月曜日から金曜日まで10 分ごとに実行

0/5 8-17 ? * MON-FRI * 月曜日から金曜日まで午前 8:00から午後5:55(UTC)の間に 5 分ごとに実行

以下は、cron 式を使用してスケジュールされたアクションに定期的なスケジュールを追加する例です。

指定されたスケジュール (毎日午前 9:00 (UTC)) で、MinCapacity に指定された値が現在の容量を上回る場合、Application Auto Scaling は MinCapacity にスケールアウトします。 に指定された値が現在の容量を下回る場合、MaxCapacity は Application Auto Scaling にスケールインします。MaxCapacity

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scheduled-action --service-namespace appstream \ --scalable-dimension appstream:fleet:DesiredCapacity \

37

Page 42: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケジュールされたアクションの説明

--resource-id fleet/sample-fleet \ --scheduled-action-name my-recurring-action \ --schedule "cron(0 9 * * ? *)" \ --scalable-target-action MinCapacity=10,MaxCapacity=50

ローカル Windows マシンの場合

aws application-autoscaling put-scheduled-action --service-namespace appstream --scalable-dimension appstream:fleet:DesiredCapacity --resource-id fleet/sample-fleet --scheduled-action-name my-recurring-action --schedule "cron(0 9 * * ? *)" --scalable-target-action MinCapacity=10,MaxCapacity=50

Example 例: rate 式を使用して定期的なスケジュールでスケールするには

rate 式は、通常のレートでスケーリングをスケジュールします。スケーラブルなターゲットに対して、put-scheduled-action コマンドを呼び出します。オプションを含めます。--schedule "rate(value unit)"値は正の整数である必要があります。単位はminute、minutes、hour、hours、day、または days です。 詳細については、https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#RateExpressions の「レート式Amazon CloudWatch Events ユーザーガイド」を参照してください。

以下は、rate 式を使用してスケジュールされたアクションに定期的なスケジュールを追加する例です。

指定されたスケジュール (5 時間ごと) で、MinCapacity に指定された値が現在の容量を上回る場合、Application Auto Scaling は MinCapacity にスケールアウトします。 に指定された値が現在の容量を下回る場合、MaxCapacity は Application Auto Scaling にスケールインします。MaxCapacity

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling put-scheduled-action --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --scheduled-action-name my-recurring-action \ --schedule "rate(5 hours)" \ --start-time 2021-01-30T12:00:00 \ --end-time 2021-01-31T22:00:00 \ --scalable-target-action MinCapacity=30,MaxCapacity=100

ローカル Windows マシンの場合

aws application-autoscaling put-scheduled-action --service-namespace dynamodb --scalable-dimension dynamodb:table:WriteCapacityUnits --resource-id table/my-table --scheduled-action-name my-recurring-action --schedule "rate(5 hours)" --start-time 2021-01-30T12:00:00 --end-time 2021-01-31T22:00:00 --scalable-target-action MinCapacity=30,MaxCapacity=100

スケジュールされたアクションの説明次の describe-scheduled-actions コマンドを使用して、指定したサービスの名前空間のすべてのスケジュールされたアクションを説明することができます。

aws application-autoscaling describe-scheduled-actions --service-namespace ecs

出力例を次に示します。

{

38

Page 43: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケジュールされたアクションを削除する

"ScheduledActions": [ { "ScheduledActionARN": "<arn>", "ServiceNamespace": "ecs", "CreationTime": 1596319455.951, "ScalableDimension": "ecs:service:DesiredCount", "Schedule": "at(2021-01-31T17:00:00)", "ScalableTargetAction": { "MaxCapacity": 1 }, "ScheduledActionName": "scale-in", "ResourceId": "service/default/web-app" } ]}

スケジュールされたアクションを削除するスケジュールされたアクションの処理が終了したら、delete-scheduled-action コマンドを使用して削除することができます。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling delete-scheduled-action --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --scheduled-action-name my-spot-fleet-action

ローカル Windows マシンの場合

aws application-autoscaling delete-scheduled-action --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --scheduled-action-name my-spot-fleet-action

39

Page 44: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケーリングアクティビティ

のスケーリングの中断と再開Application Auto Scaling

このトピックでは、アプリケーションでスケーラブルなターゲットのスケーリングアクティビティを 1つ以上停止し、後で再開する方法について説明します。停止/再開機能は、スケーリングポリシーとスケジュールされたアクションによってトリガーされたスケーリングアクティビティを一時停止するために使用されます。これは、たとえば、変更を行っている間や設定の問題を調査しているときに、自動スケーリングに干渉されないようにする場合などに便利です。スケーリングポリシーとスケジュールされたアクションは保持し、準備が整ったら、スケーリングアクティビティを再開できます。

以下のコマンド例では、config.json ファイルで JSON 形式のパラメータを渡します。引用符を使用してJSON データ構造を囲むことで、コマンドラインでこれらのパラメータを渡すこともできます。詳細については、AWS CLI の「 での引用符の使用」を参照してください。AWS Command Line Interface ユーザーガイド

スケーリングアクティビティApplication Auto Scaling は、以下のスケーリングアクティビティを停止状態にする操作をサポートしています。

• スケーリングポリシーによってトリガーされるすべてのスケールインアクティビティ。• スケーリングポリシーによってトリガーされるすべてのスケールアウトアクティビティ。• スケジュールされたアクションに関係するすべてのスケーリングアクティビティ。

以下の説明では、個々のスケーリングアクティビティが停止されると何が起こるかについて説明しています。それぞれ個別に停止および再開できます。スケーリングアクティビティを停止する理由によっては、複数のスケーリングアクティビティをまとめて停止する必要がある場合があります。

DynamicScalingInSuspended

• ターゲット追跡スケーリングポリシーまたはステップスケーリングポリシーがトリガーされたとき、Application Auto Scaling では容量は削除されません。これにより、スケーリングポリシーやスケーリングポリシーに関連付けられた CloudWatch アラームを削除せずに、スケーリングポリシーに関連付けられたスケールインアクティビティを一時的に無効にできます。スケールインを再開するとき、違反しているアラームしきい値のあるポリシーが Application Auto Scaling に評価されます。

DynamicScalingOutSuspended

• ターゲット追跡スケーリングポリシーまたはステップスケーリングポリシーがトリガーされたとき、Application Auto Scaling では容量は追加されません。これにより、スケーリングポリシーやスケーリングポリシーに関連付けられた CloudWatch アラームを削除せずに、スケーリングポリシーに関連付けられたスケールアウトアクティビティを一時的に無効にできます。スケールアウトを再開するとき、違反しているアラームしきい値のあるポリシーが Application Auto Scaling に評価されます。

ScheduledScalingSuspended

• Application Auto Scaling は、中断期間中に開始される予定だったスケーリングアクションを実行しません。スケジュールされたスケーリングを再開するとき、Application Auto Scaling では、実行時間がまだ経過していないスケジュールされたアクションのみが評価されます。

40

Page 45: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドを使用したスケーリングアク

ティビティの停止と再開AWS CLI

を使用したスケーリングアクティビティの停止と再開AWS CLI

Application Auto Scaling のスケーラブルなターゲットの個々のスケーリングアクティビティまたはすべてのスケーリングアクティビティを停止および再開できます。

Note

簡潔にするため、以下の例では、DynamoDB テーブルのスケーリングを停止および再開する方法について説明します。別のスケーラブルなターゲットを指定するには、--service-namespace で名前空間を、--scalable-dimension でそのスケーラブルなディメンションを、--resource-id でそのリソース ID をそれぞれ指定します。

スケーリングアクティビティを停止するには

コマンドラインウィンドウを開き、次のように、 オプションを指定して register-scalable-target--suspendedstate コマンドを使用します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

スケーリングポリシーによってトリガーされたスケールインアクティビティのみを停止するには、config.json で次のように指定します。

{ "DynamicScalingInSuspended":true}

スケーリングポリシーによってトリガーされたスケールアウトアクティビティのみを停止するには、config.json で次のように指定します。

{ "DynamicScalingOutSuspended":true}

スケジュールされたアクションに関連するスケーリングアクティビティのみを停止するには、config.jsonで以下を指定します。

{ "ScheduledScalingSuspended":true}

すべてのスケーリングアクティビティを停止するには

次のように、register-scalable-target コマンドを --suspendedstate オプションと共に使用します。

41

Page 46: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド一時停止されたスケーリングアクティビティの表示

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

この例では、ファイル config.json に以下の JSON 形式パラメータが含まれていると仮定しています。

{ "DynamicScalingInSuspended":true, "DynamicScalingOutSuspended":true, "ScheduledScalingSuspended":true}

一時停止されたスケーリングアクティビティの表示スケーラブルなターゲットに対してどのスケーリングアクティビティが停止状態にあるかを特定するには、describe-scalable-targets コマンドを使用します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

ローカル Windows マシンの場合

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

出力例を次に示します。

{ "ScalableTargets": [ { "ServiceNamespace": "dynamodb", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "ResourceId": "table/my-table", "MinCapacity": 1, "MaxCapacity": 20, "SuspendedState": { "DynamicScalingOutSuspended": true, "DynamicScalingInSuspended": true, "ScheduledScalingSuspended": true }, "CreationTime": 1558125758.957, "RoleARN": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable" } ]}

42

Page 47: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドスケーリングアクティビティを再開する

スケーリングアクティビティを再開するスケーリングアクティビティを再開する準備ができたら、register-scalable-target コマンドを使用して再開できます。

次のコマンド例では、指定されたスケーラブルなターゲットのすべてのスケーリングアクティビティを再開します。

ローカルの Linux、macOS、または Unix マシンの場合:

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

ローカル Windows マシンの場合

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

この例では、ファイル config.json に以下の JSON 形式パラメータが含まれていると仮定しています。

{ "DynamicScalingInSuspended":false, "DynamicScalingOutSuspended":false, "ScheduledScalingSuspended":false}

43

Page 48: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

Application Auto Scaling のモニタリング

モニタリングは、Application Auto Scaling とその他の AWS ソリューションの信頼性、可用性、パフォーマンスを維持する上で重要な役割を担います。マルチポイント障害が発生した場合は、その障害をより簡単にデバッグできるように、AWS ソリューションのすべての部分からモニタリングデータを収集する必要があります。AWS では、Application Auto Scaling を監視して異常を検出した場合に報告し、必要に応じて対処するために、次のモニタリングツールが用意されています。

以下の機能を使用して、AWS リソースを管理できます。

Amazon CloudWatch アラーム

アプリケーションの異常動作を検出するために、CloudWatch は、AWS のリソースの特定のメトリクスを自動的にモニタリングします。CloudWatch アラームを設定し、メトリクスの値が期待どおりでない場合または特定の異常が検出された場合に E メールを送信する Amazon SNS 通知を設定できます。たとえば、ネットワークアクティビティがメトリクスの期待値よりも急激に高くなった、または低くなったときに、通知を受け取ることができます。詳細については、「アラームによるモニタリングCloudWatch (p. 45)」と「Amazon CloudWatch ユーザーガイド」を参照してください。

Amazon CloudWatch ダッシュボード

Amazon CloudWatch は、AWS リソースと AWS で実行中のアプリケーションをリアルタイムでモニタリングします。CloudWatch ダッシュボードは、CloudWatch コンソールのカスタマイズ可能なホームページです。これらのページを使用して、異なるリージョンにまたがるリソースも含めて、単一のビューでリソースをモニタリングできます。CloudWatch ダッシュボードを使用して、AWS のリソースのメトリクスおよびアラームをカスタマイズした状態で表示することができます。詳細については、「を使用したダッシュボードのビルドCloudWatch (p. 46)」を参照してください。

Amazon EventBridge

EventBridge は、AWS リソースの変更をシステムイベントとしてほぼリアルタイムのストリームで配信します。EventBridge は、自動イベント駆動型コンピューティングを有効にします。特定のイベントを監視し、これらのイベントが発生したときに他の AWS サービスで自動アクションをトリガーするルールを記述できます。詳細については、「を介してスケーリングを防止するイベントの通知を取得するEventBridge (p. 49)」を参照してください。

また、Application Auto Scaling によって実行された API コールでトリガーするルールを作成することもできます。詳細については、EventBridge の「AWS CloudTrail を使用して AWS API コールでトリガーされる ルールの作成」を参照してください。Amazon EventBridge ユーザーガイド

AWS CloudTrail

AWS CloudTrail は、AWS アカウントによって行われた、またはそのアカウントの代わりに行われた API コールとそれに関連するイベントを記録します。次に、指定した Amazon S3 バケットにログファイルが渡されます。AWS を呼び出したユーザーとアカウント、呼び出し元のソース IP アドレス、および呼び出しの発生日時を特定できます。詳細については、「AWS CloudTrail User Guide」を参照してください。によってログに記録される Application Auto Scaling API コールについては、「CloudTrailLogging API calls with Application Auto Scaling」を参照してください。CloudTrail

Amazon CloudWatch Logs

Amazon CloudWatch Logs を使用して、Amazon EC2 インスタンス、CloudTrail、その他のソースのログファイルをモニタリング、保存し、アクセスできます。CloudWatch Logs は、ログファイル内の情報をモニタリングし、特定のしきい値が満たされたときに通知します。また、耐久性の高いストレージにログデータをアーカイブすることもできます。詳細については、「Amazon CloudWatchLogs User Guide」を参照してください。

44

Page 49: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドCloudWatch アラーム

AWS Personal Health Dashboard

Personal Health Dashboard (PHD) は情報を表示し、AWS リソースの健全性の変更によってトリガーされる通知も提供します。情報は 2 つの方法で表示されます。ダッシュボードには、最近のイベントおよび予定されているイベントがカテゴリ別に分類されて表示されます。詳細なイベントログには、過去 90 日間のすべてのイベントが表示されます。詳細については、「Application Auto Scalingの Personal Health Dashboard 通知 (p. 50)」を参照してください。

アラームによるモニタリングCloudWatchで注意が必要な可能性のある問題が検出されたときに通知するためのアラームを作成できます。AmazonCloudWatch は、AWS のサービスの特定のメトリクスを自動的にモニタリングします。CloudWatch

アラームで 1 つのメトリクスを監視します。CloudWatchアラームの状態が変更され、指定した期間保持された場合にのみ、1 つ以上のアクションを呼び出します。たとえば、メトリクス値が特定のレベルに達したときやそれを超えたときに通知を受け取るアラームを設定し、潜在的な問題が発生する前に気づくことができます。

CloudWatch では、メトリクスが INSUFFICIENT_DATA 状態になったときに通知するアラームを設定することもできます。任意の AWS のサービスに対して、どのメトリクスでも INSUFFICIENT_DATAにアラームを送信できます。 これは新しいアラームの初期状態ですが、INSUFFICIENT_DATA メトリクスが使用できなくなった場合、またはメトリクスがアラームの状態を決定するための十分なデータが利用できない場合、アラームの状態も CloudWatch に変わります。たとえば、AWS Lambdaは、ProvisionedConcurrencyUtilization 関数がアクティブである場合にのみ、CloudWatch メトリクスを 1 分ごとに Lambda に出力します。関数が非アクティブの場合、メトリクスを待機中にアラームが INSUFFICIENT_DATA 状態になります。これは正常であり、必ずしも問題があることを意味しているわけではありませんが、特定の期間内にアクティビティが予想されるが、何もない場合の問題を示している可能性があります。

このトピックでは、メトリクスが定義したしきい値の内または外にあるとき、またはデータが不足しているときに、通知を送信するアラームを作成する方法について説明します。アラームの詳細については、Amazon CloudWatch の「 アラームの使用」を参照してください。Amazon CloudWatch ユーザーガイド

メールを送信するアラームを作成するには

1. https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。2. ナビゲーションペインで、[Alarms]、[Create Alarm] の順に選択します。3. [メトリクスの選択] を選択します。

すべての メトリクスが見つかるページが表示されます。使用できるメトリクスのタイプは、使用するサービスや機能によって異なります。メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のさまざまなディメンションの組み合わせごとにグループ化されます。

4. メトリクスの名前空間 (Lambda など) を選択し、次にメトリクスディメンション (By Function Nameなど) を選択します。

[すべてのメトリクス] タブには、選択したディメンションと名前空間のすべてのメトリクスが表示されます。

5. アラームを作成する対象のメトリクスの横にあるチェックボックスをオンにして、[メトリクスの選択]を選択します。

6. アラームを次のように設定して、[次へ] を選択します。

• [Metric] で、[1 minute] または [5 minutes] の集計期間を選択します。 メトリクスの集計期間として 1 分を使用した場合、1 分ごとに 1 つのデータポイントが存在します。期間が短いほど、作成されるアラームの感度が高くなります。

45

Page 50: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドCloudWatch ダッシュボード

• [Conditions (条件)] で、しきい値を設定します。たとえば、通知が生成される前にメトリクスが超えなければならない値を設定します。

• [Additional configuration (追加設定)] の [Datapoints to alarm (アラームを発生させるデータポイント)] に、アラームをトリガーするためにメトリクス値がしきい値を満たす必要があるデータポイント (評価期間) の数を入力します。たとえば、連続する期間の数が 2、その期間が 5 分であれば、アラームがトリガーされるまでに 10 分かかります。

• [Missing data treatment (欠落データの処理)] では、デフォルトを維持し、欠落データポイントは欠落データとして扱います。

一部のメトリクスは、アクティビティの発生した場合にのみ報告されます。これにより、メトリクスがまばらにレポートされる可能性があります。メトリクスのデータポイントが設計により頻繁に欠落する場合、アラームの状態はそれらの期間では INSUFFICIENT_DATA です。アラームに以前の ALARM または OK 状態を強制的に維持して、はじき処理からのアラートを保持するには、代わりに欠落データを無視することもできます。

7. [通知] で、アラームが ALARM 状態、OK 状態、または INSUFFICIENT_DATA 状態のときに通知するための SNS トピックを選択または作成します。同じアラーム状態または複数の異なるアラーム状態について複数の通知を送信するには、[Add notification (通知の追加)] を選択します。

8. 完了したら、[次へ] を選択します。9. 名前を入力し、必要に応じてアラームの説明を入力して [次へ] を選択します。10. [アラームの作成] を選択します。

アラームの状態を確認するには

1. https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。2. ナビゲーションペインで、[アラーム] を選択してアラームのリストを表示します。3. アラームをフィルタするには、検索フィールドの横にあるドロップダウンフィルタを使用して、適用

するフィルタオプションを選択します。4. アラームを編集または削除するには、アラームを選択し、[アクション]、[編集] または [アクション]、

[削除] の順に選択します。

を使用したダッシュボードのビルドCloudWatch使用状況とパフォーマンスに関するメトリクスを生成する Amazon CloudWatch を使用すると、アプリケーションのリソースの使用状況をモニタリングできます。CloudWatch は、AWS リソースと AWS で実行しているアプリケーションから生データを収集し、読み取り可能なほぼリアルタイムのメトリクスに処理します。メトリクスは 15 か月間保持されるため、履歴情報にアクセスして、アプリケーションのパフォーマンスをよりよく把握できます。詳細については、「Amazon CloudWatch ユーザーガイド」を参照してください。

CloudWatch ダッシュボードは、CloudWatch コンソールにあるカスタマイズ可能なホームページであり、ダッシュボードを使用すれば、異なるリージョンにまたがっているリソースでも、単一のビューでモニタリングできます。CloudWatch ダッシュボードを使用して、選択したメトリクスを AWS のリソースに対して選択し、カスタマイズした状態で表示することができます。各グラフのメトリクスごとに使用する色を選択できるため、複数のグラフで同一のメトリクスを追跡しやすくなります。

CloudWatch ダッシュボードを作成するには

1. https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。2. ナビゲーションペインで、[ダッシュボード] を選択し、[新しいダッシュボードの作成] を選択しま

す。3. ダッシュボードの名前 (例: CloudWatch データを表示するサービスの名前) を入力します。

46

Page 51: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドメトリクスとディメンション

4. [ダッシュボードの作成] を選択します。5. 折れ線グラフなど、ダッシュボードに追加するウィジェットのタイプを選択します。次に、[設定]

を選択し、ダッシュボードに追加するメトリクスを選択します。詳細については、 ユーザーガイドCloudWatchの「 ダッシュボードにグラフを追加または削除する」を参照してください。AmazonCloudWatch

デフォルトでは、CloudWatch ダッシュボードで作成するメトリクスは平均です。

メトリクスとディメンションApplication Auto Scaling と連動するサービスを操作すると、次の表に示すメトリクスが CloudWatch に送信されます。CloudWatch では、メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のさまざまなディメンションの組み合わせごとにグループ化されます。

これらのメトリクスは、アプリケーションのキャパシティ要件の検出に役立ちます。この情報を使用して、容量を静的に設定したり、自動スケーリングを設定したりできます。アプリケーションのワークロードが一定でない場合は、自動スケーリングの使用を検討する必要があります。

メトリクス名 名前空間 ディメンション Applies to

AvailableCapacity AWS/AppStream

フリート AppStream

CapacityUtilization AWS/AppStream

フリート AppStream

CPUUtilization AWS/RDS

DBClusterIdentifier、ロール (READER)

Aurora

DatabaseConnections AWS/RDS

DBClusterIdentifier、ロール (READER)

Aurora

InferenceUtilization AWS/Comprehend

EndpointArn Comprehend

ProvisionedReadCapacityUnitsAWS/DynamoDB

TableName,GlobalSecondaryIndexName

DynamoDB

ProvisionedWriteCapacityUnitsAWS/DynamoDB

TableName,GlobalSecondaryIndexName

DynamoDB

ConsumedReadCapacityUnitsAWS/DynamoDB

TableName,GlobalSecondaryIndexName

DynamoDB

ConsumedWriteCapacityUnitsAWS/DynamoDB

TableName,GlobalSecondaryIndexName

DynamoDB

CPUUtilization AWS/ECS

ClusterName,ServiceName

ECS

MemoryUtilization AWS/ECS

ClusterName,ServiceName

ECS

RequestCountPerTargetAWS/ApplicationELB

TargetGroup ECS

YARNMemoryAvailablePercentageAWS/ElasticMapReduce

ClusterId EMR

47

Page 52: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドメトリクスとディメンション

メトリクス名 名前空間 ディメンション Applies to

ProvisionedReadCapacityUnitsAWS/Cassandra

Keyspace、TableNameAmazon Keyspaces

ProvisionedWriteCapacityUnitsAWS/Cassandra

Keyspace、TableNameAmazon Keyspaces

ConsumedReadCapacityUnitsAWS/Cassandra

Keyspace、TableNameAmazon Keyspaces

ConsumedWriteCapacityUnitsAWS/Cassandra

Keyspace、TableNameAmazon Keyspaces

ProvisionedConcurrencyUtilizationAWS/Lambda

FunctionName、リソース

Lambda

KafkaDataLogsDiskUsedAWS/Kafka

クラスター名 Amazon MSK

KafkaDataLogsDiskUsedAWS/Kafka

クラスター名、ブローカー ID

Amazon MSK

InvocationsPerInstance AWS/SageMaker

EndpointName,VariantName

SageMaker

CPUUtilization AWS/EC2Spot

FleetRequestId スポットフリート

NetworkIn AWS/EC2Spot

FleetRequestId スポットフリート

NetworkOut AWS/EC2Spot

FleetRequestId スポットフリート

RequestCountPerTargetAWS/ApplicationELB

TargetGroup スポットフリート

CloudWatch では、各メトリクスの統計および期間を選択できますが、すべての組み合わせが役に立つとは言えません。たとえば、CPU 使用率の Average、Minimum、Maximum 統計は役に立ちますが、Sum 統計は役に立ちません。詳細については、前述の表に示されているリンクをたどって、サービスのドキュメントを参照してください。

アプリケーションのパフォーマンスで一般的に使用される指標は、平均 CPU 使用率です。CPU 使用率が増加し、処理できる容量が不足している場合、アプリケーションが応答しなくなる可能性があります。一方、容量が多すぎて、使用率が低いときにリソースが実行されている場合は、そのサービスを使用するためのコストが増加します。

サービスによっては、利用可能なプロビジョニングされたスループットの量を追跡するメトリクスもあります。たとえば、プロビジョニングされた同時実行数を持つ関数エイリアスまたはバージョンで処理されている呼び出しの数に対して、Lambda は ProvisionedConcurrencyUtilization メトリクスを出力します。大きなジョブを開始し、同じ関数を何度も同時に呼び出した場合、使用可能なプロビジョニングされた同時実行量を超えると、ジョブにレイテンシーが発生する可能性があります。一方、プロビジョニングされた同時実行性が必要以上に高い場合は、コストが必要以上に高くなる可能性があります。

コンソールにこれらのメトリクスが表示されない場合は、リソースの設定が完了していることを確認します。CloudWatchリソースが完全にセットアップされるまでは、メトリクスは表示されません。過去14 日間にわたってデータを発行していないメトリクスは、グラフに追加するメトリクスを CloudWatchダッシュボードで検索したときに、検出されません。メトリクスを手動で追加する方法については、

48

Page 53: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドEventBridge によるモニタリング

ユーザーガイドCloudWatchの「 ダッシュボードでメトリクスを手動でグラフ化する」を参照してください。Amazon CloudWatch

を介してスケーリングを防止するイベントの通知を取得するEventBridge

Application Auto Scaling は Amazon EventBridge と連携し、スケーリングに影響を及ぼす特定のイベントを通知します。AWS サービスからのイベントは、ほぼリアルタイムに EventBridge に提供されます。簡単なルールを記述して、注目するイベントと、イベントがルールに一致した場合に自動的に実行するアクションを指定できます。たとえば、リソースが最大容量にスケーリングされたときに通知を受け取ることができます。自動的にトリガーできるオペレーションには、以下が含まれます。

• AWS Lambda 関数の呼び出し• Amazon EC2 Run Command の呼び出し• Amazon Kinesis Data Streams へのイベントの中継• AWS Step Functions ステートマシンのアクティブ化• Amazon SNS トピックまたは AWS SMS キューの通知

詳細については、Amazon EventBridge の「 の開始方法」を参照してください。Amazon EventBridge ユーザーガイド

Amazon EventBridge でモニタリングをサポートする Application Auto Scaling イベントの形式を次に示します。現在使用できるのは、scaledToMax 固有のイベントのみです。

状態変更のイベント: 最大までスケーリング

次のイベントは、そのリソースのスケーリング設定で指定した最大容量制限に達したときに送信されます。

{ "version": "0", "id": "7bf73129-1428-4cd3-a780-95db273d1602", "detail-type": "Application Auto Scaling Scaling Activity State Change", "source": "aws.application-autoscaling", "account": "123456789012", "time": "2019-06-12T10:23:40Z", "region": "us-west-2", "resources": [], "detail": { "startTime": "2019-06-12T10:20:43Z", "endTime": "2019-06-12T10:23:40Z", "newDesiredCapacity": 8, "oldDesiredCapacity": 5, "minCapacity": 2, "maxCapacity": 8, "resourceId": "table/my-table", "scalableDimension": "dynamodb:table:WriteCapacityUnits", "serviceNamespace": "dynamodb", "statusCode": "Successful", "scaledToMax": true, "direction": "scale-out",}

最大までスケールされたイベントのサンプルイベントパターン

49

Page 54: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドPersonal Health Dashboard

ルールでは、イベントパターンを使用してイベントを選択し、ターゲットに振り分けます。次に、Application Auto Scaling イベントパターンの例を示します。

{ "source": [ "aws.application-autoscaling" ], "detail-type": [ "Application Auto Scaling Scaling Activity State Change" ], "detail": { "scaledToMax": [ true ] } }

Application Auto Scaling の Personal HealthDashboard 通知

失敗したスケーリングイベントを管理しやすくするために、Personal Health Dashboard は ApplicationAuto Scaling によって出力される通知をサポートします。現在使用できるのは、DynamoDB リソースに固有のスケールアウトイベントのみです。

Personal Health Dashboard は AWS Health サービスの一部です。セットアップを行う必要はなく、アカウントで認証されているすべてのユーザーが表示できます。詳細については、「AWS Personal HealthDashboard の開始方法」を参照してください。

DynamoDB サービスクォータの制限によって DynamoDB リソースがスケールアウトされない場合は、次のようなメッセージが表示されます。このメッセージが表示された場合は、アクションを実行するためのアラームとして処理する必要があります。

Hello,

A scaling action has attempted to scale out your DynamoDB resources in the eu-west-1 region. This operation has been prevented because it would have exceeded a table-level write throughput limit (Provisioned mode). This limit restricts the provisioned write capacity of the table and all of its associated global secondary indexes. To address the issue, refer to the Amazon DynamoDB Developer Guide for current limits and how to request higher limits [1].

To identify your DynamoDB resources that are impacted, use the describe-scaling-activities command or the DescribeScalingActivities operation [2][3]. Look for a scaling activity with StatusCode "Failed" and a StatusMessage similar to "Failed to set write capacity units to 45000. Reason: The requested WriteCapacityUnits, 45000, is above the per table maximum for the account in eu-west-1. Per table maximum: 40000." You can also view these scaling activities from the Capacity tab of your tables in the AWS Management Console for DynamoDB.

We strongly recommend that you address this issue to ensure that your tables are prepared to handle increases in traffic. This notification is sent only once in each 12 hour period, even if another failed scaling action occurs.

[1] https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html#default-limits-throughput-capacity-modes [2] https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-activities.html [3] https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DescribeScalingActivities.html

50

Page 55: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドPersonal Health Dashboard

Sincerely, Amazon Web Services

51

Page 56: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドデータ保護

のセキュリティ。Application AutoScaling

クラウドセキュリティ AWS が最優先です。として AWS お客様は、最もセキュリティが重視される組織の要件を満たすように構築されたデータセンターとネットワーク・アーキテクチャから恩恵を受けます。

セキュリティは、AWS とお客様の間の共有責任です。は、 共有責任モデル では、これをセキュリティとして説明します。 / クラウドとセキュリティ () クラウド:

• クラウドのセキュリティ – AWS インフラストラクチャを保護する責任があります。 AWS のサービスを AWS クラウド。 AWS は、お客様が安全に利用できるサービスも提供しています。第三者監査人は、 AWS コンプライアンスプログラム. 適用されるコンプライアンスプログラムについて学ぶにはApplication Auto Scaling、を参照 コンプライアンスプログラムにより対象範囲に含まれるAWSサービス.

• クラウドにおけるセキュリティ – あなたの責任は、 AWS 使用しています。また、お客様は、お客様のデータの機密性、企業の要件、および適用可能な法律および規制などの他の要因についても責任を担います。

このドキュメントでは、 を使用する際に責任共有モデルを適用する方法について説明します。ApplicationAuto Scaling. 以下のトピックでは、セキュリティおよびコンプライアンスの目的を達成するようにApplication Auto Scaling を設定する方法について説明します。また、Application Auto Scaling リソースのモニタリングやセキュリティ保護に役立つ他の AWS のサービスの使用方法についても説明します。

トピック:• Application Auto Scaling およびデータ保護 (p. 52)• Application Auto Scaling の Identity and Access Management (p. 53)• Application Auto Scaling のコンプライアンス検証 (p. 68)• Application Auto Scaling の耐障害性 (p. 68)• Application Auto Scaling でのインフラストラクチャセキュリティ (p. 69)• Application Auto Scaling とインターフェイス VPC エンドポイント (p. 69)

Application Auto Scaling およびデータ保護AWS 責任共有モデルは、Application Auto Scaling のデータ保護に適用されます。このモデルで説明したように、AWS は、すべての AWS クラウドを実行するグローバルインフラストラクチャを保護します。お客様は、このインフラストラクチャでホストされているコンテンツに対する管理を維持する責任があります。このコンテンツには、使用する AWS サービスのセキュリティ設定および管理タスクが含まれます。データプライバシーの詳細については、「データプライバシーのよくある質問」を参照してください。 欧州でのデータ保護の詳細については、AWS セキュリティブログの「AWS の責任共有モデルと GDPR」のブログ記事を参照してください。

データ保護の目的で、AWS アカウントの認証情報を保護し、個々のユーザーアカウントを AWS Identityand Access Management (IAM) で設定することをお勧めします。この方法により、それぞれの職務を遂行するために必要なアクセス許可のみを各ユーザーに付与できます。また、以下の方法でデータを保護することをお勧めします。

• 各アカウントで多要素認証 (MFA) を使用します。• SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 以降が推奨されています。

52

Page 57: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドIdentity and Access Management

• AWS CloudTrail で API とユーザーアクティビティログをセットアップします。• AWS 暗号化ソリューションを、AWS サービス内のすべてのデフォルトのセキュリティ管理と一緒に使

用します。• Amazon Macie などの高度なマネージドセキュリティサービスを使用します。これにより、Amazon S3

に保存される個人データの検出と保護が支援されます。• コマンドラインインターフェイスまたは API を使用して AWS にアクセスするときに FIPS 140-2 検証済

みの暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。使用可能な FIPS エンドポイントの詳細については、「連邦情報処理規格 (FIPS) 140-2」を参照してください。

顧客のアカウント番号などの機密の識別情報は、[名前] フィールドなどの自由形式のフィールドに配置しないことを強くお勧めします。これは、コンソール、API、AWS CLI、または AWS で Application AutoScaling または他の AWS サービスを使用する場合も同様です。Application Auto Scaling または他のサービスに入力したデータはすべて、診断ログの内容として取得される可能性があります。外部サーバーへのURL を指定するときは、そのサーバーへのリクエストを検証するための認証情報を URL に含めないでください。

Application Auto Scaling の Identity and AccessManagement

AWS Identity and Access Management (IAM) は、管理者が Amazon Web Services リソースへのアクセスを安全に管理するために役立つ AWS (AWS) のサービスです。IAM 管理者は、 リソースを使用するために認証 (サインイン) および承認AWS (アクセス許可を持つ) される者を管理します。IAM は、追加料金なしで使用できる AWS のサービスです。

Application Auto Scaling を使用するには、AWS アカウントとAWS 認証情報が必要です。アカウントのセキュリティを強化するには、AWS アカウントのルートユーザーの認証情報を使用する代わりに、 ユーザーIAMを使用して認証リクエストを行うことをお勧めします。AWSIAM ユーザーを作成し、そのユーザーにフルアクセスを付与できます。このようなユーザーを管理者ユーザーと呼びます。AWS アカウントのルートユーザーの認証情報ではなく、管理者ユーザーの認証情報を使用して、AWS を操作し、スケーリングポリシーの設定などのタスクを実行できます。詳細については、AWS 全般のリファレンスの「AWSアカウントのルートユーザー認証情報と IAM ユーザー認証情報」およびIAM ユーザーガイドの「IAM のベストプラクティス」を参照してください。

IAM ユーザーの作成後、Application Auto Scaling API から Application Auto Scaling にアクセスするには、AWS アクセスキーを取得する必要があります。クエリ (HTTPS) インターフェイスから直接アクセスする場合でも、AWS SDK、AWS Command Line Interface、または AWS Tools for Windows PowerShellから間接的にアクセスする場合でも同様です。AWS アクセスキーは、アクセスキー ID とシークレットアクセスキーで構成されます。AWS アクセスキーの取得の詳細については、AWS 全般のリファレンスの「AWS セキュリティ認証情報」を参照してください。

Application Auto Scaling を使用して自動スケーリングをすばやく設定するには、セットアップ (p. 3) の手順を実行します。チュートリアルの例では、指定したユーザーの IAM ユーザーと AWS アクセスキーを作成します。

アクセスコントロール有効な認証情報があればリクエストを認証できますが、アクセス許可が付与されている場合を除き、Application Auto Scaling リソースの作成やアクセスはできません。たとえば、スケーリングポリシーの作成、スケジュールされたスケーリングの設定などのアクセス権限が必要です。

以下のセクションでは、IAM 管理者が IAM を使用して、Application Auto Scaling アクションを実行できるユーザーを制御することで、AWS リソースをセキュリティで保護する方法について詳しく説明します。

53

Page 58: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドApplication Auto Scaling と IAM の連携

トピック• Application Auto Scaling と IAM の連携 (p. 54)• のサービスにリンクされたロールApplication Auto Scaling (p. 56)• AWS CLI または AWS SDK で使用するサンプルポリシー (p. 62)• で機能するサンプルポリシーAWS マネジメントコンソール (p. 66)

Application Auto Scaling と IAM の連携Note

2017 年 12 月には、Application Auto Scaling のアップデートが行われ、Application Auto Scaling統合サービスに対して複数のサービスにリンクされたロールが有効になりました。ユーザーがスケーリングを設定できるようにするには、特定の IAM アクセス許可と Application Auto Scalingサービスにリンクされたロール (または Amazon EMR Auto Scaling のサービスロール) が必要です。

Application Auto Scaling へのアクセスを管理するために IAM 使用する前に、Application Auto Scaling で使用できる IAM 機能を理解しておく必要があります。IAM と連携する Application Auto Scaling や他の AWSのサービスの動作の概要については、AWSの「IAM と連携する のサービス」を参照してください。IAMユーザーガイド

トピック• Application Auto Scaling アイデンティティベースのポリシー (p. 54)• Application Auto Scaling リソースベースのポリシー (p. 55)• アクセスコントロールリスト (ACL) (p. 55)• Application Auto Scaling タグに基づいた承認 (p. 55)• Application Auto Scaling IAM ロール (p. 56)

Application Auto Scaling アイデンティティベースのポリシーIAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソースを指定でき、さらにアクションが許可または拒否された条件を指定できます。Application Auto Scaling は、特定のアクション、リソース、および条件キーをサポートします。JSON ポリシーで使用するすべての要素については、IAM の「 JSON ポリシーエレメントのリファレンス」を参照してください。IAM ユーザーガイド

Actions

Administrators can use AWS JSON policies to specify who has access to what. That is, which principal canperform actions on what resources, and under what conditions.

JSON ポリシーの Action 要素は、ポリシー内のアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。ただし、一致する API オペレーションを持たないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、従属アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

のポリシーアクションは、アクションの前に次のプレフィックスを使用します。Application AutoScalingapplication-autoscaling: 。 ポリシーステートメントには、Action 要素またはNotAction 要素を含める必要があります。Application Auto Scaling は、このサービスで実行できるタスクを記述する一連の独自のアクションを定義します。

54

Page 59: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドApplication Auto Scaling と IAM の連携

1 つのステートメントで複数のアクションを指定するには、次の例のようにカンマで区切ります。

"Action": [ "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScalingActivities"

ワイルドカード (*) を使用して複数のアクションを指定することができます。たとえば、Describe という単語で始まるすべてのアクションを指定するには、以下のアクションを含めます。

"Action": "application-autoscaling:Describe*"

アクションのリストを表示するには、Application Auto Scalinghttps://docs.aws.amazon.com/autoscaling/application/APIReference/API_Operations.html の「アクションApplication Auto Scaling API リファレンス」を参照してください。

ResourcesResource エレメントは、アクションが適用されるオブジェクトを指定します。

Application Auto Scaling には、IAM ポリシーステートメントの Resource 要素として使用できるサービス定義のリソースはありません。そのため、IAM ポリシーで使用する Application Auto Scaling の Amazon リソースネーム (ARN) はありません。Application Auto Scaling アクションに対するアクセスをコントロールするには、IAM ポリシーを記述するときはリソースとして常に * (アスタリスク) を使用します。

条件キーCondition エレメント (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。たとえば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。条件を表すには、あらかじめ定義された条件キーを使用します。

Application Auto Scaling にはサービス固有条件キーがありませんが、いくつかのグローバル条件キーの使用がサポートされています。すべての AWS グローバル条件キーを確認するには、AWS の「 グローバル条件コンテキストキー」を参照してください。IAM ユーザーガイド

Conditionエレメントはオプションです。

ExamplesApplication Auto Scaling アイデンティティベースのポリシーの例を表示するには、「AWS CLI またはAWS SDK で使用するサンプルポリシー (p. 62)」を参照してください。

Application Auto Scaling リソースベースのポリシーAmazon Simple Storage Service などの他の AWS のサービスでは、リソースベースのアクセス許可ポリシーがサポートされています。たとえば、アクセス権限ポリシーを S3 バケットにアタッチし、そのバケットに対するアクセス権限を管理できます。

Application Auto Scaling では、リソースベースのポリシーはサポートされていません。

アクセスコントロールリスト (ACL)Application Auto Scaling はアクセスコントロールリスト (ACL) をサポートしません。

Application Auto Scaling タグに基づいた承認Application Auto Scaling には、タグ付けできるサービス定義のリソースはありません。したがって、タグに基づくアクセスの制御はサポートされていません。

55

Page 60: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドサービスにリンクされたロール

Application Auto Scaling IAM ロールIAM ロールは、特定のアクセス許可を持つ、AWS アカウント内のエンティティです。

Application Auto Scaling を使用した一時的な認証情報の使用

一時的な認証情報を使用して、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、AWSSTS や AssumeRole などの API オペレーションを呼び出します。GetFederationToken

Application Auto Scalingでは、一時認証情報の使用をサポートしています。

サービスにリンクされたロール

サービスにリンクされたロールは、ユーザーに代わって他の AWS のサービスに特定の呼び出しを行うことができるように Application Auto Scaling にアクセス許可を付与します。サービスにリンクされたロールは、IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

Application Auto Scaling はサービスにリンクされたロールをサポートします。詳細については、「のサービスにリンクされたロールApplication Auto Scaling (p. 56)」を参照してください。

サービスロール

Amazon EMR クラスターで自動スケーリングが使用されている場合、この機能によって、ApplicationAuto Scaling はユーザーに代わってサービスロールを引き受けることができます。サービスにリンクされたロールと同様に、サービスロールは、他のサービスのリソースにアクセスして、ユーザーに代わってアクションを完了することを許可します。サービスロールは、IAM アカウントに表示され、サービスによって所有されます。つまり、IAM 管理者は、このロールのアクセス許可を変更できます。ただし、これを行うことにより、サービスの機能が損なわれる場合があります。

Application Auto Scaling では、Amazon EMR のサービスロールのみがサポートされます。EMR サービスロールのドキュメントについては、https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html の「インスタンスグループのカスタムポリシーによる自動スケーリングの使用Amazon EMR 管理ガイド」を参照してください。

Note

サービスにリンクされたロールの導入により、いくつかのレガシーサービスロールは不要になりました。他のサービス (Amazon ECS、スポットフリートなど) にレガシーサービスロールを指定した場合、Application Auto Scaling はこれを無視します。代わりに、サービスにリンクされたロールを使用します。このロールが存在しない場合、ユーザーには、それを作成するためのアクセス許可が必要です。アクセス許可がないと、エラーが発生します。

のサービスにリンクされたロールApplication AutoScalingApplication Auto Scaling は、ユーザーに代わって他の AWS のサービスを呼び出すために必要なアクセス許可を持つサービスにリンクされたロールを使用します。サービスにリンクされたロールは、AWS サービスに直接リンクされた一意のタイプの AWS Identity and Access Management (IAM) ロールです。

サービスにリンクされたロールは、AWS のサービスにアクセス許可を委任するためのセキュアな方法を提供します。これは、リンクされたサービスのみが、サービスにリンクされたロールを引き受けることができるためです。詳細については、https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html の「サービスにリンクされたロールの使用IAM ユーザーガイド」を参照してください。

56

Page 61: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドサービスにリンクされたロール

以下のセクションでは、Application Auto Scaling サービスにリンクされたロールを作成および管理する方法について説明します。まず、サービスにリンクされたロールを作成、編集、または削除するためのアクセス許可を設定して IAM エンティティ (ユーザー、グループ、ロールなど) に付与します。

トピック• サービスにリンクされたロールによって付与されるアクセス許可 (p. 57)• サービスにリンクされたロールを作成する (自動) (p. 60)• サービスにリンクされたロールを作成する (手動) (p. 61)• サービスにリンクされたロールを編集する (p. 61)• サービスにリンクされたロールを削除する (p. 61)• Application Auto Scaling のサービスにリンクされたロールをサポートするリージョン (p. 61)• サービスにリンクされたロールの ARN リファレンス (p. 61)

サービスにリンクされたロールによって付与されるアクセス許可Application Auto Scaling は、次のサービスにリンクされたロールを使用して、ユーザーに代わってスケーリングを管理します。スケーラブルなリソースのタイプごとに、1 つのサービスにリンクされたロールがあります。いずれの場合も、サービスにリンクされたロールは、すべての必要なアクセス許可を含む事前定義済みロールです。サービスにリンクされた各ロールは、指定されたサービスプリンシパルを信頼してそのロールを継承します。

AppStream 2.0 のフリート

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_AppStreamFleet サービスプリンシパルを信頼します。appstream.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: appstream:DescribeFleets• アクション: appstream:UpdateFleet• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

Aurora レプリカ

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_RDSCluster サービスプリンシパルを信頼します。rds.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: rds:AddTagsToResource• アクション: rds:CreateDBInstance• アクション: rds:DeleteDBInstance• アクション: rds:DescribeDBClusters• アクション: rds:DescribeDBInstance• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

57

Page 62: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドサービスにリンクされたロール

Amazon Comprehend ドキュメント分類とエンティティレコグナイザーのエンドポイント

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_ComprehendEndpoint サービスプリンシパルを信頼します。comprehend.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: comprehend:UpdateEndpoint• アクション: comprehend:DescribeEndpoint• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

DynamoDB テーブルとグローバルセカンダリインデックス

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_DynamoDBTable サービスプリンシパルを信頼します。dynamodb.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: dynamodb:DescribeTable• アクション: dynamodb:UpdateTable• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

Amazon Elastic Container Service (ECS) サービス

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_ECSService サービスプリンシパルを信頼します。ecs.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: ecs:DescribeServices• アクション: ecs:UpdateService• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

Amazon Keyspaces (Apache Cassandra 向け) テーブル

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_CassandraTable サービスプリンシパルを信頼します。cassandra.application-autoscaling.amazonaws.com

ロールのアクセス権限ポリシーは、指定したリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

58

Page 63: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドサービスにリンクされたロール

• アクション: cassandra:Select リソース 上の arn:*:cassandra:*:*:/keyspace/system/table/*

• アクション: cassandra:Select リソース 上の arn:*:cassandra:*:*:/keyspace/system_schema/table/*

• アクション: cassandra:Select リソース 上の arn:*:cassandra:*:*:/keyspace/system_schema_mcs/table/*

• アクション: cassandra:Alter リソース 上の arn:*:cassandra:*:*:"*"• アクション: cloudwatch:DeleteAlarms すべてのリソース• アクション: cloudwatch:DescribeAlarms すべてのリソース• アクション: cloudwatch:PutMetricAlarm すべてのリソース

Lambda 関数のプロビジョニングされた同時実行性

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_LambdaConcurrency サービスプリンシパルを信頼します。lambda.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: lambda:PutProvisionedConcurrencyConfig• アクション: lambda:GetProvisionedConcurrencyConfig• アクション: lambda:DeleteProvisionedConcurrencyConfig• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

Amazon Managed Streaming for Apache Kafka (Amazon MSK) ブローカーストレージ

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_KafkaCluster サービスプリンシパルを信頼します。kafka.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: kafka:DescribeCluster• アクション: kafka:DescribeClusterOperation• アクション: kafka:UpdateBrokerStorage• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

SageMaker エンドポイントバリアント

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint サービスプリンシパルを信頼します。sagemaker.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

59

Page 64: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドサービスにリンクされたロール

• アクション: sagemaker:DescribeEndpoint• アクション: sagemaker:DescribeEndpointConfig• アクション: sagemaker:UpdateEndpointWeightsAndCapacities• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

スポットフリートリクエスト

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest サービスプリンシパルを信頼します。ec2.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: ec2:DescribeSpotFleetRequests• アクション: ec2:ModifySpotFleetRequest• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

カスタムリソース

サービスにリンクされたロールは、ロールを引き受ける上でAWSServiceRoleForApplicationAutoScaling_CustomResource サービスプリンシパルを信頼します。custom-resource.application-autoscaling.amazonaws.com

ロールのアクセス許可ポリシーは、すべてのリソースに対して以下のアクションを実行することをApplication Auto Scaling に許可します。

• アクション: execute-api:Invoke• アクション: cloudwatch:DeleteAlarms• アクション: cloudwatch:DescribeAlarms• アクション: cloudwatch:PutMetricAlarm

サービスにリンクされたロールを作成する (自動)サービスにリンクされたロールを手動で作成する必要はありません。Application Auto Scaling を呼び出すときに、適切なサービスにリンクされたロールが RegisterScalableTarget によって作成されます。 たとえば、Amazon ECS サービスの自動スケーリングを設定した場合、Application Auto Scaling はAWSServiceRoleForApplicationAutoScaling_ECSService ロールを作成します。

Important

RegisterScalableTarget アクションを呼び出す IAM ユーザーには、サービスにリンクされたロールを作成するための適切な IAM アクセス権限が必要です。それ以外の場合、自動作成は失敗します。詳細については、このガイドの「サービスにリンクされたロールを作成するために必要なアクセス許可 (p. 66)」を参照してください。

RoleARN プロパティを指定して、AWS CloudFormation テンプレートを使用してサービスリンクロールを自動的に作成します。RoleARN プロパティでサービスにリンクされたロールを指定するには、完全なAmazon リソースネーム (ARN) を使用します。ARN には以下の一般的な構文があります。

60

Page 65: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドサービスにリンクされたロール

arn:aws:[service]:[region]:[account]:resourceType/resourcePath

詳細については、「サービスにリンクされたロールの ARN リファレンス (p. 61)」を参照してください。

サービスにリンクされたロールを作成する (手動)サービスにリンクされたロールを作成するには、IAM コンソール、AWS CLI、または IAM API を使用できます。詳細については、https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role の「サービスにリンクされたロールの作成IAM ユーザーガイド」を参照してください。

サービスにリンクされたロールを作成するには (AWS CLI)

次の create-service-linked-role CLI コマンドを使用して、Application Auto Scaling のサービスにリンクされたロールを作成します。リクエストで、「prefix」の値を指定します。たとえば、AWS Lambda のサービスにリンクされたロールを作成するには、lambda.application-autoscaling.amazonaws.comを使用します。

aws iam create-service-linked-role --aws-service-name prefix.amazonaws.com

サービスにリンクされたロールを編集するApplication Auto Scaling によって作成された、サービスにリンクされたロールでは、その説明のみを編集できます。詳細については、https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role の「サービスにリンクされたロールの編集IAM ユーザーガイド」を参照してください。

サービスにリンクされたロールを削除するサポートされているサービスで Application Auto Scaling を使用する必要がなくなった場合は、対応するサービスにリンクされたロールを削除することをお勧めします。

サービスにリンクされたロールを削除するには、まずその関連 AWS リソースを削除します。これにより、リソースに対する Application Auto Scaling アクセス許可を誤って取り消すことがなくなります。詳細については、スケーラブルなリソースのドキュメントを参照してください。たとえば、ECS サービスを削除するには、https://docs.aws.amazon.com/AmazonECS/latest/developerguide/delete-service.html の「サービスの削除Amazon Elastic Container Service Developer Guide」を参照してください。

IAM を使用して、サービスにリンクされたロールを削除できます。詳細については、https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role の「サービスにリンクされたロールの削除IAM ユーザーガイド」を参照してください。

サービスにリンクされたロールを削除した後、RegisterScalableTarget を呼び出すと ApplicationAuto Scaling はロールを再作成します。

Application Auto Scaling のサービスにリンクされたロールをサポートするリージョンApplication Auto Scaling は、サービスを利用できるすべての AWS リージョンで、サービスにリンクされたロールの使用をサポートします。

サービスにリンクされたロールの ARN リファレンスAWS CloudFormation では、スケーラブルターゲットを登録するときに、スタックテンプレートで IAMロールを指定する必要があります。次のサービスにリンクされたロール ARNs はこのサービスによって定

61

Page 66: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドまたは SDK のサンプルポリシーAWS CLI

義され、スタックテンプレートの RoleARNAWS::ApplicationAutoScaling::ScalableTarget の プロパティで使用できます。

リソースタイプ ARN

AppStream 2.0 のフリート

arn:aws:iam::012345678910:role/aws-service-role/appstream.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_AppStreamFleet

Aurora DB クラスター

arn:aws:iam::012345678910:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_RDSCluster

Comprehend ドキュメント分類およびエンティティレコグナイザーエンドポイント

arn:aws:iam::012345678910:role/aws-service-role/comprehend.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ComprehendEndpoint

DynamoDB テーブルとグローバルセカンダリインデックス

arn:aws:iam::012345678910:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable

ECS サービス arn:aws:iam::012345678910:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ECSService

Amazon Keyspacesテーブル

arn:aws:iam::012345678910:role/aws-service-role/cassandra.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_CassandraTable

Lambda 関数のプロビジョニングされた同時実行性

arn:aws:iam::012345678910:role/aws-service-role/lambda.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency

Amazon MSK ブローカーストレージ

arn:aws:iam::012345678910:role/aws-service-role/kafka.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_KafkaCluster

SageMaker エンドポイントバリアント

arn:aws:iam::012345678910:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint

スポットフリートリクエスト

arn:aws:iam::012345678910:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest

カスタムリソース arn:aws:iam::012345678910:role/aws-service-role/custom-resource.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_CustomResource

AWS CLI または AWS SDK で使用するサンプルポリシーデフォルトでは、新しい IAM ユーザーには、何かを実施するためのアクセス権限がありません。IAM 管理者は、スケーリングポリシーの設定など、Application Auto Scaling アクションを実行するアクセス許可を

62

Page 67: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドまたは SDK のサンプルポリシーAWS CLI

ユーザーおよびロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらのアクセス許可が必要な IAM ユーザーまたはロールに、そのポリシーをアタッチします。

これらの例の JSON ポリシードキュメントを使用して IAM ポリシーを作成する方法については、 の「JSON タブでのポリシーの作成」を参照してください。IAM ユーザーガイド

これらのポリシーは、一般的ユースケースのアクセス権限を付与します。これらのポリシーは、必要なアクセス権に基づき、IAM ユーザーにアタッチできます。各ポリシーは Application Auto Scaling のすべてまたは一部の API アクションに対するアクセス権限を付与します。

Application Auto Scaling のすべての API アクションの実行をユーザーに許可するアクセス許可ポリシーの例を以下に示します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*" ], "Resource": "*" } ]}

次の例は、スケーリングポリシーの設定をユーザーに許可するアクセス許可ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:PutScalingPolicy", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DeleteScalingPolicy" ], "Resource": "*" } ]}

次の例は、スケジュールされたスケーリングの設定をユーザーに許可するアクセス許可ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:PutScheduledAction", "application-autoscaling:DescribeScheduledActions",

63

Page 68: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドまたは SDK のサンプルポリシーAWS CLI

"application-autoscaling:DescribeScalingActivities", "application-autoscaling:DeleteScheduledAction" ], "Resource": "*" } ]}

必要な追加の IAM アクセス許可ユーザーには、スケーリングポリシーを設定する各タイプのリソースに対する、追加のアクセス許可が必要です。IAM ポリシーステートメントの Action 要素では、以下のアクションを指定します。

ECS サービス

• ecs:DescribeServices

• ecs:UpdateService

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

EC2 スポットフリートのリクエスト

• ec2:DescribeSpotFleetRequests

• ec2:ModifySpotFleetRequest

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

Amazon EMR クラスター

• elasticmapreduce:ModifyInstanceGroups

• elasticmapreduce:ListInstanceGroups

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

AppStream 2.0 のフリート

• appstream:DescribeFleets

• appstream:UpdateFleet

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

DynamoDB テーブルとグローバルセカンダリインデックス

• dynamodb:DescribeTable

• dynamodb:UpdateTable

64

Page 69: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドまたは SDK のサンプルポリシーAWS CLI

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

Aurora DB クラスター

• rds:AddTagsToResource

• rds:CreateDBInstance

• rds:DeleteDBInstance

• rds:DescribeDBClusters

• rds:DescribeDBInstances

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

SageMaker エンドポイント

• sagemaker:DescribeEndpoint

• sagemaker:DescribeEndpointConfig

• sagemaker:UpdateEndpointWeightsAndCapacities

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

カスタムリソース

• execute-api:Invoke

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

Amazon Comprehend ドキュメント分類のエンドポイント

• comprehend:UpdateEndpoint

• comprehend:DescribeEndpoint

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

Lambda 関数

• lambda:PutProvisionedConcurrencyConfig

• lambda:GetProvisionedConcurrencyConfig

• lambda:DeleteProvisionedConcurrencyConfig

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

65

Page 70: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドコンソールのサンプルポリシー

• cloudwatch:PutMetricAlarm

Amazon Keyspaces テーブル

• cassandra:Select

• cassandra:Alter

• cloudwatch:DeleteAlarms

• cloudwatch:DescribeAlarms

• cloudwatch:PutMetricAlarm

サービスにリンクされたロールを作成するために必要なアクセス許可Application Auto Scaling では、AWS アカウント内のユーザーが特定のサービスのRegisterScalableTarget を初めて呼び出すときに、サービスにリンクされたロールを作成するためのアクセス許可が必要です。Application Auto Scaling は、サービス固有のサービスにリンクされたロールをアカウント内に作成します (ロールがまだ存在しない場合)。サービスにリンクされたロールにより、ユーザーに代わって他の APP サービスを呼び出すために必要なアクセス許可が Application Auto Scaling に付与されます。

この自動ロール作成を成功させるには、ユーザーには iam:CreateServiceLinkedRole アクションへのアクセス権限が必要です。

"Action": "iam:CreateServiceLinkedRole"

次の例は、スポットフリートの Application Auto Scaling サービスにリンクされたロールの作成をユーザーに許可するアクセス許可ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest", "Condition": { "StringLike": { "iam:AWSServiceName":"ec2.application-autoscaling.amazonaws.com" } } } ]}

詳細については、「のサービスにリンクされたロールApplication Auto Scaling (p. 56)」を参照してください。

で機能するサンプルポリシーAWS マネジメントコンソールスタンドアロン Application Auto Scaling コンソールはありません。Application Auto Scaling と統合されるほとんどのサービスには、コンソールでスケーリングを設定するのに役立つ機能があります。

66

Page 71: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドコンソールのサンプルポリシー

ほとんどの場合、各サービスには、Application Auto Scaling API アクションへのアクセス許可を含む、コンソールへのアクセスを定義する AWS 管理 (事前定義) IAM ポリシーが用意されています。詳細については、コンソールを使用するサービスのマニュアルを参照してください。

独自のカスタム IAM ポリシーを作成して、AWS マネジメントコンソール で特定の Application AutoScaling アクションを表示および操作するためのきめ細かなアクセス許可をユーザーに付与することもできます。上記のセクションのサンプルポリシーを使用することはできますが、これらは AWS CLI またはAWS SDK で作成されたリクエスト向けに設計されています。コンソールではこの機能を実行するために追加の API アクションを使用するので、これらのポリシーは正常に動作しない可能性があります。たとえば、ステップスケーリングを設定するには、CloudWatch アラームを作成および管理するための追加のアクセス許可が必要な場合があります。

Tip

コンソールでタスクを実行するために必要な API アクションを探すには、AWS CloudTrail などのサービスを使用できます。詳細については、「AWS CloudTrail User Guide」を参照してください。

次の例は、スポットフリートのスケーリングポリシーをユーザーが設定できるようにするアクセス許可ポリシーの例です。スポットフリートの IAM アクセス許可に加えて、コンソールからフリートスケーリング設定にアクセスする IAM ユーザーは、動的スケーリングをサポートするサービスに対する適切なアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ec2:DescribeSpotFleetRequests", "ec2:ModifySpotFleetRequest", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/ec2.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest", "Condition": { "StringLike": { "iam:AWSServiceName":"ec2.application-autoscaling.amazonaws.com" } } } ]}

67

Page 72: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドコンプライアンス検証

このポリシーにより、ユーザーは Amazon EC2 コンソールでスケーリングポリシーを表示および変更でき、CloudWatch コンソールで CloudWatch アラームを作成および管理できます。

API アクションを調整して、ユーザーアクセスを制限できます。たとえば、application-autoscaling:* を application-autoscaling:Describe* に置き換えると、ユーザーには読み取り専用アクセスが与えられます。

また、必要に応じて CloudWatch アクセス許可を調整して、CloudWatch 機能へのユーザーアクセスを制限することもできます。詳細については、CloudWatch の「 コンソールを使用するために必要なアクセス許可」を参照してください。Amazon CloudWatch ユーザーガイド

Application Auto Scaling は、特定のサービスのスケーリングを初めて設定するときに、サービスにリンクされたロールを作成するためのアクセス許可を必要とすることに注意してください。たとえば、スポットフリートに追加した最初のスケーリング設定に対してこのロールが作成された後は、スポットフリートを使用する同じ AWS アカウントの他のユーザーにこのアクセス許可を追加する必要はありません。

Application Auto Scaling のコンプライアンス検証Amazon Web Services (AWS) サービスのセキュリティおよびコンプライアンスは、複数の AWS コンプライアンスプログラムの一環として、サードパーティーの監査者により評価されます。このプログラムには、SOC、PCI、FedRAMP、HIPAA などがあります。

特定のコンプライアンスプログラムの対象となる AWS サービスのリストについては、「コンプライアンスプログラムによる AWS 対象範囲内のサービス」を参照してください。一般的な情報については、「AWS コンプライアンスプログラム」を参照してください。

サードパーティーの監査レポートをダウンロードするには、AWS Artifact を使用します。詳細については、「AWS Artifact でレポートをダウンロードする」を参照してください。

Application Auto Scaling サービスを使用する際のお客様のコンプライアンス責任は、データの機密性、貴社のコンプライアンス目的、および適用法規や規則によって決まります。AWS ではコンプライアンスに役立つ以下のリソースを用意しています。

• セキュリティおよびコンプライアンスのクイックスタートガイド – これらのデプロイガイドでは、アーキテクチャ上の考慮事項について説明し、セキュリティとコンプライアンスに重点を置いたベースライン環境を AWS でデプロイするための手順を説明します。

• HIPAA のセキュリティとコンプライアンスに関するホワイトペーパーを作成する – このホワイトペーパーでは、企業が AWS を使用して HIPAA 準拠のアプリケーションを作成する方法について説明します。

• AWS コンプライアンスのリソース – このワークブックおよびガイドのコレクションは、お客様の業界や場所に適用される場合があります。

• 開発者ガイドの「ルールでのリソースの評価AWS Config」 サービスは、リソース設定が社内のプラクティス、業界のガイドライン、規制にどの程度適合しているかを評価します。–AWS Config

• AWS Security Hub – この AWS サービスでは、AWS 内のセキュリティ状態を包括的に表示しており、セキュリティ業界の標準およびベストプラクティスへの準拠を確認するのに役立ちます。

Application Auto Scaling の耐障害性AWS のグローバルインフラストラクチャは AWS リージョンとアベイラビリティーゾーンを中心として構築されます。

AWS リージョンには、低レイテンシー、高いスループット、そして高度の冗長ネットワークで接続されている複数の物理的に独立・隔離されたアベイラビリティーゾーンがあります。

68

Page 73: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドインフラストラクチャセキュリティ

アベイラビリティーゾーンでは、ゾーン間で中断することなく自動的にフェイルオーバーするアプリケーションとデータベースを設計および運用することができます。アベイラビリティーゾーンは、従来の単一または複数のデータセンターインフラストラクチャよりも可用性、耐障害性、および拡張性が優れています。

AWS のリージョンとアベイラビリティーゾーンの詳細については、「AWS グローバルインフラストラクチャ」を参照してください。

Application Auto Scaling でのインフラストラクチャセキュリティ

マネージド型サービスとしての Application Auto Scaling は、「AWS」に記載されている Amazon WebServices グローバルネットワークセキュリティの手順で保護されています。 セキュリティプロセスの概要ホワイトペーパー。

AWS が公開した API コールを使用して、ネットワーク経由で Application Auto Scaling にアクセスします。クライアントで Transport Layer Security (TLS) 1.0 以降がサポートされている必要があります。TLS1.2 以降が推奨されています。また、Ephemeral Diffie-Hellman (DHE) や Elliptic Curve Ephemeral Diffie-Hellman (ECDHE) などの Perfect Forward Secrecy (PFS) を使用した暗号スイートもクライアントでサポートされている必要があります。これらのモードは、Java 7 以降など、最近のほとんどのシステムでサポートされています。

また、リクエストは、アクセスキー ID と、IAM プリンシパルに関連付けられているシークレットのアクセスキーを使用して署名する必要があります。または、AWS Security Token Service (AWS STS) を使用して、一時的なセキュリティ認証情報を生成し、リクエストに署名することもできます。

Application Auto Scaling とインターフェイス VPCエンドポイント

インターフェイス VPC エンドポイントを作成することで、仮想プライベートクラウド (VPC) とApplication Auto Scaling API の間にプライベート接続を確立できます。この接続を使用して、インターネット経由でトラフィックを送信せずに VPC から Application Auto Scaling API を呼び出します。エンドポイントは、Application Auto Scaling API への信頼性の高いスケーラブルな接続を提供します。これは、インターネットゲートウェイ、NAT インスタンス、または VPN 接続なしで実行できます。

インターフェイス VPC エンドポイントは AWS PrivateLink を利用しています。これは、プライベート IPアドレスを使用して AWS のサービス間のプライベート通信を可能にする機能です。詳細については、「AWS PrivateLink」を参照してください。

Note

インターフェイス VPC エンドポイントを介してアクセスする各 API を明示的に有効にする必要があります。たとえば、Amazon EC2 Auto Scaling API オペレーションを使用している場合は、autoscaling.region.amazonaws.com のインターフェイス VPC エンドポイントを設定することも必要になります。詳細については、Amazon EC2 Auto Scaling の「 とインターフェイス VPC エンドポイント」を参照してください。Amazon EC2 Auto Scaling ユーザーガイド

インターフェイス VPC エンドポイントを作成する以下のサービス名を使用して、Application Auto Scaling のエンドポイントを作成します。

69

Page 74: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドVPC エンドポイントポリシーの作成

• com.amazonaws.region.application-autoscaling — API オペレーションのエンドポイントを作成します。Application Auto Scaling

詳細については、https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint の「インターフェイスエンドポイントの作成Amazon VPC ユーザーガイド」を参照してください。

Important

インターフェイス VPC エンドポイントを作成する前に、CLI または SDK の最新バージョンを使用していることを確認してください。詳細については、「the section called “エンドポイントの移行” (p. 71)」を参照してください。

エンドポイントのプライベート DNS を有効にすることで、デフォルトの DNS ホスト名 (application-autoscaling.us-east-1.amazonaws.com など) を使用して、サポートされているサービスに API リクエストが送信されるようにします。AWS のサービスのエンドポイントを作成すると、この設定はデフォルトで有効になっています。詳細については、https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint の「インターフェイスエンドポイントを介したサービスへのアクセスAmazon VPC ユーザーガイド」を参照してください。

Application Auto Scaling のいずれの設定も変更する必要はありません。Application Auto Scaling は、パブリックエンドポイントまたはプライベートインターフェイス VPC エンドポイントのうち使用中のいずれかを介して、他の AWS のサービスを呼び出します。

VPC エンドポイントポリシーの作成Application Auto Scaling API へのアクセスをコントロールするために VPC エンドポイントにポリシーをアタッチすることができます。このポリシーでは以下の内容を指定します。

• アクションを実行できるプリンシパル。• 実行可能なアクション。• このアクションを実行できるリソース。

以下の例では、エンドポイントを介してスケーリングポリシーを削除するためのアクセス許可を全員に対して拒否する VPC エンドポイントポリシーを示しています。このポリシー例では、他のすべてのアクションを実行するアクセス許可も全員に付与しています。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "application-autoscaling:DeleteScalingPolicy", "Effect": "Deny", "Resource": "*", "Principal": "*" } ]}

詳細については、https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html#vpc-endpoint-policies の「VPC エンドポイントポリシーの使用Amazon VPC ユーザーガイド」を参照してください。

70

Page 75: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイドエンドポイントの移行

エンドポイントの移行Application Auto Scaling では、application-autoscaling.region.amazonaws.com API への呼び出しの新しいデフォルトの DNS ホスト名およびエンドポイントとして Application Auto Scaling が導入されました。新しいエンドポイントは、AWS CLI および SDKs の最新リリースと互換性があります。まだ行っていない場合は、最新の AWS CLI と SDKs をインストールして、新しいエンドポイントを使用します。を更新するには、AWS CLIの「pip を使用した AWS CLI のインストール」を参照してください。AWS Command Line Interface ユーザーガイドAWS SDKs の詳細については、「アマゾン ウェブサービスのツール」を参照してください。

Note

下位互換性のために、autoscaling.region.amazonaws.com エンドポイントは ApplicationAuto Scaling API コールで引き続きサポートされます。エンドポイントをプライベートインターフェイス VPC エンドポイントとして設定するには、autoscaling.region.amazonaws.comの「Amazon EC2 Auto Scaling とインターフェイス VPC エンドポイント」を参照してください。Amazon EC2 Auto Scaling ユーザーガイド

CLI または AWS API を使用するときに呼び出すエンドポイント

Application Auto Scaling の現在のリリースでは、Application Auto Scaling APIコールは、autoscaling.region.amazonaws.com ではなく application-autoscaling.region.amazonaws.com エンドポイントを自動的に参照します。

各コマンドで次のパラメータを使用してエンドポイントを指定することにより、CLI で新しいエンドポイントを呼び出すことができます。--endpoint-url https://application-autoscaling.region.amazonaws.com 。

お勧めはしませんが、各コマンドで次のパラメータを使用してエンドポイントを指定することにより、CLI で古いエンドポイントを呼び出すこともできます。--endpoint-url https://autoscaling.region.amazonaws.com 。

の呼び出しに使用されるさまざまな SDKs については、目的の SDK のドキュメントを参照して、特定のエンドポイントにリクエストを送信する方法を確認してください。APIs詳細については、「アマゾン ウェブ サービスのツール」を参照してください。

71

Page 76: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

Application Auto Scaling のサービスクォータ

AWS アカウントには、Application Auto Scaling に以下のデフォルトのクォータ(以前は制限と呼ばれていました)があります。

引き上げをリクエストするには、Application Auto Scaling 制限フォームを使用します。クォータの引き上げをリクエストするリソースのタイプ (Amazon ECS や DynamoDB など) を指定していることを確認します。

1 リージョン、1 アカウントあたりのデフォルトのクォータ

項目 デフォルト値

リソースタイプごとにスケーラブルなターゲットの最大数 クォータは、リソースの種類によって異なります。

最大 3000 Amazon DynamoDBのスケーラブルターゲットと他のすべてのリソースタイプに対する 500 のスケーラブルターゲット。

スケーラブルなターゲットあたりのスケーリングポリシーの最大数 50

これには、ステップスケーリングポリシーとターゲット追跡ポリシーの両方が含まれます。

スケーラブルなターゲットあたりのスケジュールされたアクションの最大数

200

ステップスケーリングポリシーあたりのステップ調整値の最大数 20

ワークロードをスケールアウトする際は、サービスのクォータを念頭に置いてください。たとえば、サービスで許可されるキャパシティーユニットの最大数に達すると、スケールアウトは停止します。需要が低下し、現在の容量が減少した場合、Application Auto Scaling は再びスケールアウトできます。このサービスクォータの制限に再度到達しないようにするには、引き上げをリクエストできます。各サービスには、リソースの最大容量に対する独自のデフォルトのクォータがあります。他の AWS のサービスのデフォルトのクォータについては、https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html の「サービスエンドポイントとクォータアマゾン ウェブ サービス全般のリファレンス」を参照してください。

72

Page 77: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

ドキュメント履歴次の表は、2018 年 1 月以降の Application Auto Scaling ドキュメントへの重要な追加項目をまとめたものです。このドキュメントの更新に関する通知については、RSS フィードにサブスクライブできます。

update-history-change update-history-description update-history-date

ガイドの変更点 (p. 73) の新しいチュートリアルにより、ターゲット追跡スケーリングポリシーとスケジュールされたスケーリングを使用して、 を使用するときのアプリケーションの可用性を高める方法を理解できます。Application Auto ScalingユーザーガイドApplication AutoScalingまた、新しいトピックでは、CloudWatch が注意が必要な問題を検出した場合に通知をトリガーする方法について説明します。

October 15, 2020

クラスターストレージのサポートを追加AmazonManaged Streaming for ApacheKafka (p. 73)

ターゲット追跡スケーリングポリシーを使用して、Amazon MSKクラスターに関連付けられたブローカーストレージの量をスケールアウトします。

September 30, 2020

エンティティレコグナイザーエンドポイントのサポートを追加Amazon Comprehend (p. 73)

を使用して、Application AutoScaling エンティティレコグナイザーエンドポイントにプロビジョニングされた推論ユニットの数をスケールします。AmazonComprehend

September 28, 2020

テーブルのサポートを追加Amazon Keyspaces (ApacheCassandra 向け) (p. 73)

を使用して、Application AutoScaling テーブルのプロビジョニングされたスループット (読み込みおよび書き込みキャパシティ)をスケーリングします。AmazonKeyspaces

April 23, 2020

新しい「セキュリティ」章 (p. 73)

を使用する際に、責任共有モデル責任共有モデルApplicationAuto Scaling ユーザーガイド責任共有モデル 責任共有モデルを適用する方法を理解するために、セキュリティApplicationAuto Scalingこの更新の一環として、ユーザーガイドの章「認証とアクセスコントロール」が、新しくより役立つセクション「 の Identity and AccessManagementApplication AutoScaling」に置き換えられました。

January 16, 2020

73

Page 78: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

マイナーな更新 (p. 73) さまざまな改善と修正。 January 15, 2020

通知機能の追加 (p. 73) Application Auto Scaling は、特定のアクションが発生したときにイベントを Amazon EventBridgeに送信し、AWS Personal HealthDashboard に通知を送信するようになりました。詳細については、「Application Auto Scalingのモニタリング」を参照してください。

December 20, 2019

AWS Lambda 関数のサポートの追加 (p. 73)

Application Auto Scaling を使用して Lambda 関数のプロビジョニングされた同時実行性をスケールします。

December 3, 2019

AppStream 2.0 にターゲット追跡スケーリングポリシーのサポートを追加 (p. 73)

ターゲット追跡スケーリングポリシーを使用して、AppStream 2.0フリートのサイズをスケールします。

November 25, 2019

Amazon Comprehend ドキュメント分類エンドポイントのサポートを追加 (p. 73)

Application Auto Scaling を使用して、Amazon Comprehend ドキュメント分類エンドポイントのスループット容量を拡張します。

November 25, 2019

Amazon VPC エンドポイントのサポート (p. 73)

これで、VPC と Application AutoScaling との間でプライベート接続を確立できます。移行に関する考慮事項と手順については、「Application Auto Scaling とインターフェイス VPC エンドポイント」を参照してください。

November 22, 2019

スケーリングの停止と再開 (p. 73)

スケーリングの中断と再開のサポートが追加されました。詳細については、「 のスケーリングの中断と再開Application AutoScaling」を参照してください。

August 29, 2019

新規セクション (p. 73) 「セットアップ」セクションがApplication Auto Scaling ドキュメントに追加されました。マイナー改善と修正がユーザーガイドに加えられました。

June 28, 2019

ガイドの変更点 (p. 73) ドキュメントの「ApplicationAuto Scalingスケジュールに基づくスケーリング」、「ステップスケーリングポリシー」、「ターゲット追跡スケーリングポリシー」の各セクションを改善しました。

March 11, 2019

74

Page 79: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

カスタムリソースのサポートを追加 (p. 73)

独自のアプリケーションまたはサービスにより提供されるカスタムリソースをスケールするには、Application Auto Scaling を使用します。詳細については、リポジトリGitHubを参照してください。

July 9, 2018

SageMaker エンドポイントバリアントのサポートを追加 (p. 73)

Application Auto Scaling を使用して、バリアントに対してプロビジョニングされたエンドポイントインスタンスの数をスケールします。

February 28, 2018

次の表は、2018 年 1 月以前の Application Auto Scaling ドキュメントへの重要な変更点をまとめたものです。

変更 説明 日付

Aurora レプリカのサポートを追加

Application Auto Scaling を使用して、必要な数をスケールします。詳細については、AmazonAurora の「Aurora レプリカでの Auto Scaling の使用」を参照してください。Amazon RDS ユーザーガイド

2017 年 11 月 17 日

スケジュールに基づくスケーリングのサポートを追加

スケジュールに基づくスケーリングを使用して、事前設定された特定の日時または間隔でリソースをスケールします。詳細については、「 のスケジュールに基づくスケーリングApplicationAuto Scaling」を参照してください。

2017 年 11 月 8 日

ターゲット追跡スケーリングポリシーのサポートを追加

ターゲットの追跡スケーリングポリシーを使用して、いくつかの簡単なステップでアプリケーションの動的スケーリングをセットアップします。詳細については、「 のターゲット追跡スケーリングポリシーApplicationAuto Scaling」を参照してください。

2017 年 7 月 12 日

DynamoDB テーブルとグローバルセカンダリインデックス用のプロビジョニングされた読み込みおよび書き込みキャパシティーのサポートを追加

プロビジョニングされたスループット (読み込みおよび書き込み容量) をスケーリングするには、Application Auto Scalingを使用します。詳細については、DynamoDB の「 AutoScaling によるスループットキャパシティの管理」を参照してください。Amazon DynamoDB 開発者ガイド

2017 年 6 月 14 日

75

Page 80: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

変更 説明 日付

AppStream 2.0 フリートのサポートを追加

Application Auto Scaling を使用して、フリートのサイズをスケールします。詳細については、AppStream 2.0 の「 の FleetAuto Scaling」を参照してください。Amazon AppStream 2.0 管理ガイド

2017 年 3 月 23 日

Amazon EMR クラスターのサポートを追加

Application Auto Scaling を使用してコアノードとタスクノードをスケールします。詳細については、Amazon EMR の「 で自動スケーリングを使用する」を参照してください。Amazon EMR管理ガイド

2016 年 11 月 18 日

スポットフリートのサポートを追加

Application Auto Scalingを使用して、ターゲット容量をスケールします。詳細については、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-automatic-scaling.html の「スポットフリートの自動スケーリングLinux インスタンス用Amazon EC2 ユーザーガイド」を参照してください。

2016 年 9 月 1 日

Amazon ECS サービスのサポートを追加

Application Auto Scaling を使用して、必要な数をスケールします。詳細については、https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html の「サービスの AutoScalingAmazon Elastic ContainerService Developer Guide」を参照してください。

2016 年 8 月 9 日

76

Page 81: AWS Documentation - Application Auto Scaling - ユーザーガイド...Application Auto Scaling ユーザーガイド AWS CLI のセットアップ が必要になる点に注意してください。さらに、Application

Application Auto Scaling ユーザーガイド

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

lxxvii