Aurora レプリカでの Amazon Aurora Auto Scaling の使用 - Amazon Aurora

Aurora レプリカでの Amazon Aurora Auto Scaling の使用

接続およびワークロード要件を満たすために、Aurora Auto Scaling は、Aurora DB クラスター用にプロビジョニングされる Aurora レプリカ (リーダー DB インスタンス) の数を動的に調整します。Aurora Auto Scaling は、Aurora MySQL と Aurora PostgreSQL の両方で使用できます。Aurora Auto Scaling により、お使いの Aurora DB クラスターは急激な接続やワークロードの増加を処理できます。接続やワークロードが減ると、Aurora Auto Scaling は未使用のプロビジョニングされた DB インスタンスに対する料金が発生しないように、不要な Aurora レプリカを削除します。

スケーリングポリシーを定義して Aurora DB クラスターに適用します。スケーリングポリシーは、Aurora Auto Scaling で管理できる Aurora レプリカの最小数と最大数を定義します。そのポリシーに基づいて、Aurora Auto Scaling は Amazon CloudWatch メトリクスとターゲット値を使用して決定される実際のワークロードに応じて、Aurora レプリカの数を上下に調整します。

AWS Management Console を使用し、事前定義されたメトリクスに基づいてスケーリングポリシーを適用できます。代わりに、AWS CLI または Aurora Auto Scaling API を使用し、事前定義済みまたはカスタムのメトリクスに基づいたスケーリングポリシーを適用することも可能です。

開始する前に

Aurora DB クラスターで Aurora Auto Scaling を使用する前に、まず、プライマリ (書き込み) DB インスタンスで Aurora DB クラスターを作成する必要があります。Aurora DB クラスター作成の詳細については、「Amazon Aurora DB クラスターの作成」を参照してください。

Aurora Auto Scaling は、DB クラスターが利用可能な状態にある場合のみ、DB クラスターをスケーリングします。

Aurora Auto Scaling が新しい Aurora レプリカを追加すると、その新しい Aurora レプリカはプライマリインスタンスが使用するのと同じ DB インスタンスクラスになります。DB インスタンスクラスの詳細については、「Aurora DB インスタンスクラス」を参照してください。また、新しい Aurora レプリカの昇格階層は、最も低い優先順位 (デフォルトでは 15) に設定されています。つまり、フェイルオーバー時には、手動で作成されたものなど、優先順位の高いレプリカが最初に昇格されます。詳細については、「Aurora DB クラスターの耐障害性」を参照してください。

Aurora Auto Scaling では、自身が作成した Aurora レプリカのみ削除されます。

Aurora Auto Scaling から益を得るには、お使いのアプリケーションが新しい Aurora レプリカへの接続をサポートしている必要があります。これを行うには、Aurora 読み込みエンドポイントを使用することをお勧めします。Aurora MySQL の場合、MySQL 用 AWS JDBC ドライバーなどのドライバーを使用できます。詳細については、「Amazon Aurora DB クラスターへの接続」を参照してください。

注記

Aurora グローバルデータベースは、現在、セカンダリ DB クラスターの Aurora Auto Scaling をサポートしていません。

Aurora Auto Scaling ポリシー

Aurora Auto Scaling はスケーリングポリシーを使用して、Aurora DB クラスターの Aurora レプリカ数を調整します。Aurora Auto Scaling には以下のコンポーネントがあります。

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

  • ターゲットメトリクス

  • 最小容量と最大容量

  • クールダウン期間

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

Aurora Auto Scaling は、サービスにリンクされたロール AWSServiceRoleForApplicationAutoScaling_RDSCluster を使用します。詳細については、Application Auto Scaling ユーザーガイドの「Application Auto Scaling のサービスにリンクされたロール」を参照してください。

ターゲットメトリクス

このタイプのポリシーでは、ターゲット追跡スケーリングポリシー設定で、事前定義されたメトリクスまたはカスタムメトリクスとそのメトリクスのターゲット値を指定します。Aurora Auto Scaling は、スケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じて Aurora レプリカを追加または削除します。メトリクスをターゲット値に近い値に維持することに加えて、ターゲット追跡スケーリングポリシーは、変化するワークロードによるメトリクスの変動に適応します。そのようなポリシーは、DB クラスターに使用可能な Aurora レプリカ数の急速な変動の最小化もします。

例として、事前定義された平均 CPU 使用率メトリクスを使用するスケーリングポリシーを挙げましょう。そのようなポリシーは、40 パーセントなどの指定された使用率に、またはそれに近い割合に CPU 使用率を維持できます。

注記

各 Aurora DB クラスターについては、各ターゲットメトリクスに対して 1 つの Auto Scaling ポリシーのみを作成できます。

最小容量と最大容量

アプリケーションの Auto Scaling が管理する Aurora レプリカの最大数を指定できます。この値は 0–15 に設定される必要があります。また、Aurora レプリカの最小数に指定された値以上である必要があります。

アプリケーションの Auto Scaling が管理する Aurora レプリカの最小数も指定できます。この値は 0–15 に設定される必要があります。また、Aurora レプリカの最大数に指定された値以下である必要があります。

注記

最小容量と最大容量は、Aurora DB クラスターに対して設定されます。指定された値は、その Aurora DB クラスターに関連付けられたポリシーすべてに適用されます。

クールダウン期間

Aurora DB クラスターのスケールインやスケールアウトに影響するクールダウン期間を追加することで、ターゲット追跡スケーリングポリシーの応答性を調整できます。クールダウン期間を設定すると、その期間が過ぎるまでその後のスケールインやスケールアウトのリクエストがブロックされます。これらのブロックにより、スケールインリクエストのための Aurora DB クラスターの Aurora レプリカの削除、およびスケールアウトリクエストのための Aurora レプリカの作成を遅らせます。

以下のクールダウン期間を指定できます。

  • スケールインアクティビティは、Aurora DB クラスターの Aurora レプリカ数を減らします。スケールインのクールダウン期間は、スケールインアクティビティが完了してから別のスケールインアクティビティが開始されるまでの時間 (秒) を指定します。

  • スケールアウトアクティビティは、Aurora DB クラスターの Aurora レプリカ数を増やします。スケールアウトのクールダウン期間は、スケールアウトアクティビティが完了してから別のスケールアウトアクティビティが開始されるまでの時間 (秒) を指定します。

    注記

    後続のスケールアウトのリクエストが最初のリクエストよりも多くの Aurora レプリカを対象とする場合、スケールアウトのクールダウン期間は無視されます。

スケールインやスケールアウトのクールダウン期間を設定しない場合、それぞれのデフォルト値は 300 秒です。

スケールインアクティビティの有効化または無効化

ポリシーに対してスケールインアクティビティを有効化または無効化できます。スケールインアクティビティを有効にすると、スケーリングポリシーは Aurora レプリカを削除できます。スケールインアクティビティが有効な場合、スケーリングポリシーのスケールインのクールダウン期間がスケールインアクティビティに適用されます。スケールインアクティビティを無効にすると、スケーリングポリシーは Aurora レプリカを削除できなくなります。

注記

スケールアウトアクティビティは、スケーリングポリシーが必要に応じて Aurora レプリカを作成できるように、常に有効にしておきます。

Aurora DB クラスターへのスケーリングポリシーの追加

AWS Management Console、AWS CLI、または アプリケーションの Auto Scaling API を使用してスケーリングポリシーを追加できます。

注記

AWS CloudFormation を使用してスケーリングポリシーを追加する例については、AWS CloudFormation ユーザーガイドの「Aurora DB クラスターのスケーリングポリシーの宣言」を参照してください。

AWS Management Console を使用して、Aurora DB クラスターにスケーリングポリシーを追加できます。

Aurora DB クラスターに Auto Scaling ポリシーを追加するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. ポリシーを追加する Aurora DB クラスターを選択します。

  4. [ログとイベント] タブを選択します。

  5. [Auto Scaling policies (Auto Scaling ポリシー)] セクションで、[Add (追加)] を選択します。

    [Add Auto Scaling policy] ダイアログボックスが表示されます。

  6. [ポリシー名] に、ポリシー名を入力します。

  7. ターゲットメトリクスには、以下のいずれかを選択します。

    • 平均 CPU 使用率に基づいてポリシーを作成するための [Aurora レプリカの平均 CPU 使用率]。

    • Aurora レプリカへの平均接続数に基づいてポリシーを作成するための [Aurora レプリカの平均接続数]。

  8. ターゲット値には、以下のいずれかを入力します。

    • 前のステップで [Aurora レプリカの平均 CPU 使用率] を選択した場合、Aurora レプリカに維持する CPU 使用率を入力します。

    • 前のステップで [Aurora レプリカの平均接続数] を選択した場合は、維持する接続数を入力します。

    Aurora レプリカが追加または削除され、メトリクスが指定された値に近い値に維持されます。

  9. (省略可能) [Additional Configuration] (追加設定) を展開し、スケールインまたはスケールアウトのクールダウン期間を作成します。

  10. [Minimum capacity (最小キャパシティー)] には、Aurora Auto Scaling ポリシーが維持する必要がある Aurora レプリカの最小数を入力します。

  11. [Maximum capacity (最大キャパシティー)] には、Aurora Auto Scaling ポリシーが維持する必要がある Aurora レプリカの最大数を入力します。

  12. [Add policy] を選択します。

次のダイアログボックスでは、Auto Scaling ポリシーを 40 パーセントの平均 CPU 使用率に基づいて作成します。このポリシーでは、最小 5 個の Aurora レプリカと最大 15 個の Aurora レプリカを指定します。


                        平均 CPU 使用率に基づいた Auto Scaling ポリシーの作成

次のダイアログボックスでは、平均接続数 100 に基づいて、Auto Scaling ポリシーを作成します。このポリシーでは、最小 2 個の Aurora レプリカと最大 8 個の Aurora レプリカを指定します。


                        平均接続数に基づく Auto Scaling ポリシーの作成

事前定義されたメトリクスまたはカスタムメトリクスに基づいて、スケーリングポリシーを適用できます。そのためには、AWS CLI または アプリケーションの Auto Scaling API を使用します。最初のステップでは、アプリケーションの Auto Scaling で Aurora DB クラスターを登録します。

Aurora DB クラスターの登録

Aurora Auto Scaling を Aurora DB クラスターで使用可能にするには、アプリケーションの Auto Scaling で Aurora DB クラスターを登録します。これは、そのクラスターに適用するスケーリングのディメンションと制限を定義するためです。アプリケーションの Auto Scaling では、Aurora レプリカの数に対応したスケーラブルディメンション rds:cluster:ReadReplicaCount で、Aurora DB クラスターを動的にスケーリングします。

Aurora DB クラスターを登録するには、AWS CLI または アプリケーションの Auto Scaling API を使用します。

AWS CLI

Aurora DB クラスターを登録するには、以下のパラメータを指定しながら、AWS CLI コマンドの register-scalable-target を使用します。

  • --service-namespace この値は に設定します。rds

  • --resource-id – Aurora DB クラスターのリソース識別子です。このパラメータでは、リソースタイプは cluster で、一意の識別子は Aurora DB クラスターの名前、例えば cluster:myscalablecluster です。

  • --scalable-dimension この値は に設定します。rds:cluster:ReadReplicaCount

  • --min-capacity – アプリケーションの Auto Scaling で管理するリーダー DB インスタンスの最小数。--min-capacity--max-capacity、およびクラスター内の DB インスタンスの数の関係については、「最小容量と最大容量」を参照してください。

  • --max-capacity – アプリケーションの Auto Scaling で管理するリーダー DB インスタンスの最大数。--min-capacity--max-capacity、およびクラスター内の DB インスタンスの数の関係については、「最小容量と最大容量」を参照してください。

以下の例では、myscalablecluster という名前の Aurora DB クラスターを登録します。この登録は、DB クラスターが 1 から 8 個の Aurora レプリカを持つよう動的にスケールされることを示します。

Linux、macOS、Unix の場合:

aws application-autoscaling register-scalable-target \ --service-namespace rds \ --resource-id cluster:myscalablecluster \ --scalable-dimension rds:cluster:ReadReplicaCount \ --min-capacity 1 \ --max-capacity 8 \

Windows の場合:

aws application-autoscaling register-scalable-target ^ --service-namespace rds ^ --resource-id cluster:myscalablecluster ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --min-capacity 1 ^ --max-capacity 8 ^
Application Auto Scaling API

Aurora DB クラスターを アプリケーションの Auto Scaling に登録するには、以下のパラメータを指定して RegisterScalableTarget アプリケーションの Auto Scaling API オペレーションを使用します。

  • ServiceNamespace この値は に設定します。rds

  • ResourceID – Aurora DB クラスターのリソース識別子です。このパラメータでは、リソースタイプは cluster で、一意の識別子は Aurora DB クラスターの名前、例えば cluster:myscalablecluster です。

  • ScalableDimension この値は に設定します。rds:cluster:ReadReplicaCount

  • MinCapacity – アプリケーションの Auto Scaling で管理するリーダー DB インスタンスの最小数。MinCapacityMaxCapacity、およびクラスター内の DB インスタンスの数の関係については、「最小容量と最大容量」を参照してください。

  • MaxCapacity – アプリケーションの Auto Scaling で管理するリーダー DB インスタンスの最大数。MinCapacityMaxCapacity、およびクラスター内の DB インスタンスの数の関係については、「最小容量と最大容量」を参照してください。

以下の例では、myscalablecluster という名前の Aurora DB クラスターを アプリケーションの Auto Scaling API に登録します。この登録は、DB クラスターが 1~8 個の Aurora レプリカを持つよう動的にスケールされることを示します。

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "MinCapacity": 1, "MaxCapacity": 8 }

Aurora DB クラスターのスケーリングポリシーの定義

ターゲット追跡スケーリングポリシー設定は、メトリクスとターゲット値が定義されている JSON ブロックで表されます。JSON ブロックとしてスケーリングポリシー設定をテキストファイルに保存できます。このテキストファイルは、AWS CLI または アプリケーションの Auto Scaling API を呼び出す際に使用します。ポリシー設定構文の詳細については、Application Auto Scaling API リファレンスの「TargetTrackingScalingPolicyConfiguration」を参照してください。

ターゲット追跡スケーリングポリシー設定を定義するには、次のオプションを使用できます。

事前定義メトリクスの使用

定義済みのメトリクスを使用することにより、Aurora Auto Scaling のターゲット追跡と動的スケーリングの両方でうまく動作する Aurora DB クラスターのターゲット追跡スケーリングポリシーを迅速に定義できます。

現在、Aurora は、Aurora Auto Scaling で次の定義済みメトリクスをサポートしています。

  • RDSReaderAverageCPUUtilization – Aurora DB クラスター内のすべての Aurora レプリカでの CloudWatch の CPUUtilization メトリクスの平均値です。

  • RDSReaderAverageDatabaseConnections – Aurora DB クラスター内のすべての Aurora レプリカでの CloudWatch の DatabaseConnections メトリクスの平均値です。

CPUUtilizationDatabaseConnections メトリクスの詳細については、「Amazon Aurora の Amazon CloudWatch メトリクス」を参照してください。

スケーリングポリシーで事前定義メトリクスを使用するには、スケーリングポリシーのターゲット追跡構成を作成します。この設定は、事前定義メトリクスの PredefinedMetricSpecification と、そのメトリクスのターゲット値の TargetValue が含まれている必要があります。

次の例では、Aurora DB クラスターのターゲット追跡スケーリングの一般的なポリシー設定について説明します。この設定では、RDSReaderAverageCPUUtilization 事前定義メトリクスを使用して、すべての Aurora レプリカでの平均 CPU 使用率 40% に基づいて Aurora DB クラスターが調整されます。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } }
カスタムメトリクスの使用

カスタムメトリクスを使用することで、カスタム要件を満たすターゲット追跡スケーリングポリシーを定義できます。スケーリングに比例して変化する Aurora メトリクスに基づいて、カスタムメトリクスを定義することができます。

Aurora のすべてのメトリクスがターゲット追跡に使用できるわけではありません。メトリクスは、有効な使用率メトリクスで、インスタンスの使用頻度を示す必要があります。Aurora DB クラスター内の Aurora レプリカの数に比例してメトリクスの値を増減する必要があります。この比例的な増加または減少は、比例的にスケールアウトするため、または Aurora レプリカの数にメトリクスデータを使用するために必要です。

次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、カスタムメトリクスにより、my-db-cluster という名前の Aurora DB クラスター内のすべての Aurora レプリカでの平均 CPU 使用率 50% に基づいて、Aurora DB クラスターが調整されます。

{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "AWS/RDS", "Dimensions": [ {"Name": "DBClusterIdentifier","Value": "my-db-cluster"}, {"Name": "Role","Value": "READER"} ], "Statistic": "Average", "Unit": "Percent" } }
クールダウン期間の使用

ScaleOutCooldown 値を秒単位で指定して、Aurora DB クラスターをスケールアウトするためのクールダウン期間を追加することができます。ScaleInCooldown 値を秒単位で追加して、Aurora DB クラスターをスケールするためのクールダウン期間を追加することができます。ScaleInCooldownScaleOutCooldown の詳細については、Application Auto Scaling API リファレンスの「TargetTrackingScalingPolicyConfiguration」を参照してください。

次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、RDSReaderAverageCPUUtilization 事前定義メトリクスを使用して、Aurora DB クラスターのすべての Aurora レプリカでの平均 CPU 使用率 40% に基づいて Aurora DB クラスターが調整されます。この設定では、10 分間のスケールインのクールダウン期間と 5 分間のスケールアウトのクールダウン期間が提供されます。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
スケールインアクティビティの無効化

スケールインアクティビティを無効にすることにより、Aurora DB クラスターでターゲット追跡スケーリングポリシー設定がスケーリングされないようにできます。スケールインアクティビティを無効にすると、スケーリングポリシーによって Aurora レプリカが削除されることなく、スケーリングポリシーによって必要に応じて作成されます。

DisableScaleIn ブール値を指定して、Aurora DB クラスターのアクティビティのスケールを有効または無効にすることができます。DisableScaleIn の詳細については、Application Auto Scaling API リファレンスの 「TargetTrackingScalingPolicyConfiguration」を参照してください。

次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、RDSReaderAverageCPUUtilization 事前定義メトリクスは、Aurora DB クラスターのすべての Aurora レプリカでの平均 CPU 使用率 40% に基づいて Aurora DB クラスターを調整します。この設定では、スケーリングポリシーのスケールインアクティビティが無効になります。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "DisableScaleIn": true }

Aurora DB クラスターへのスケーリングポリシーの適用

Aurora DB クラスターを アプリケーションの Auto Scaling に登録し、スケーリングポリシーを定義した後、登録された Aurora DB クラスターにスケーリングポリシーを適用します。Aurora DB クラスターにスケーリングポリシーを適用する際には、AWS CLI または アプリケーションの Auto Scaling API を使用できます。

スケーリングポリシーを Aurora DB クラスターに適用するには、以下のパラメータが指定された コマンドをput-scaling-policyAWS CLI使用します。

  • --policy-name – スケーリングポリシーの名前。

  • --policy-type この値は に設定します。TargetTrackingScaling

  • --resource-id – Aurora DB クラスターのリソース識別子です。このパラメータでは、リソースタイプは cluster で、一意の識別子は Aurora DB クラスターの名前、例えば cluster:myscalablecluster です。

  • --service-namespace この値は に設定します。rds

  • --scalable-dimension この値は に設定します。rds:cluster:ReadReplicaCount

  • --target-tracking-scaling-policy-configuration – Aurora DB クラスターに使用するターゲット追跡スケーリングポリシー設定。

次の例では、myscalablepolicy というターゲット追跡スケーリングポリシーを myscalablecluster という名前の Aurora DB クラスターに アプリケーションの Auto Scaling; を使用して適用します。そのためには、config.json という名前のファイルに保存されているポリシー設定を使用します。

Linux、macOS、Unix の場合:

aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id cluster:myscalablecluster \ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configuration file://config.json

Windows の場合:

aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id cluster:myscalablecluster ^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --target-tracking-scaling-policy-configuration file://config.json

アプリケーションの Auto Scaling API を使用してスケーリングポリシーを Aurora DB クラスターに適用するには、以下のパラメータを指定して PutScalingPolicy アプリケーションの Auto Scaling API オペレーションを使用します。

  • PolicyName – スケーリングポリシーの名前。

  • ServiceNamespace この値は に設定します。rds

  • ResourceID – Aurora DB クラスターのリソース識別子です。このパラメータでは、リソースタイプは cluster で、一意の識別子は Aurora DB クラスターの名前、例えば cluster:myscalablecluster です。

  • ScalableDimension この値は に設定します。rds:cluster:ReadReplicaCount

  • PolicyType この値は に設定します。TargetTrackingScaling

  • TargetTrackingScalingPolicyConfiguration – Aurora DB クラスターに使用するターゲット追跡スケーリングポリシー設定。

次の例では、myscalablepolicy というターゲット追跡スケーリングポリシーを myscalablecluster という名前の Aurora DB クラスターに アプリケーションの Auto Scaling; を使用して適用します。RDSReaderAverageCPUUtilization 事前定義メトリクスに基づいてポリシー設定を使用します。

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } } }

スケーリングポリシーの編集

AWS Management Console、AWS CLI、または アプリケーションの Auto Scaling API を使用してスケーリングポリシーを編集できます。

AWS Management Console を使用してスケーリングポリシーを編集できます。

Aurora DB クラスターの Auto Scaling ポリシーを編集するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. Auto Scaling ポリシーを編集する Aurora DB クラスターを選択します。

  4. [ログとイベント] タブを選択します。

  5. [Auto Scaling Policies (Auto Scaling ポリシー)] セクションで Auto Scaling ポリシーを選択してから [Edit (編集)] を選択します。

  6. ポリシーを変更します。

  7. [Save] を選択します。

以下は、[Edit Auto Scaling policy] ダイアログボックスのサンプルです。


                        平均 CPU 使用率に基づいた Auto Scaling ポリシーの編集

AWS CLI または アプリケーションの Auto Scaling API を使用して、スケーリングポリシーを適用するのと同じ方法でスケーリングポリシーを編集できます。

  • AWS CLI を使用する場合は、編集するポリシーの名前を --policy-name パラメータで指定します。変更するパラメータの新しい値を指定します。

  • アプリケーションの Auto Scaling API を使用する場合は、編集するポリシーの名前を PolicyName パラメータで指定します。変更するパラメータの新しい値を指定します。

詳細については、「Aurora DB クラスターへのスケーリングポリシーの適用」を参照してください。

スケーリングポリシーの削除

AWS Management Console、AWS CLI、または アプリケーションの Auto Scaling API を使用してスケーリングポリシーを削除できます。

AWS Management Console を使用してスケーリングポリシーを削除できます。

Aurora DB クラスターの Auto Scaling ポリシーを削除するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. Auto Scaling ポリシーを削除する Aurora DB クラスターを選択します。

  4. [ログとイベント] タブを選択します。

  5. [Auto Scaling Policies (Auto Scaling ポリシー)] セクションで Auto Scaling ポリシーを選択してから [Delete (削除)] を選択します。

スケーリングポリシーを Aurora DB クラスターから削除するには、以下のパラメータを指定しながら、AWS CLI コマンドの delete-scaling-policy を使用します。

  • --policy-name – スケーリングポリシーの名前。

  • --resource-id – Aurora DB クラスターのリソース識別子です。このパラメータでは、リソースタイプは cluster で、一意の識別子は Aurora DB クラスターの名前、例えば cluster:myscalablecluster です。

  • --service-namespace この値は に設定します。rds

  • --scalable-dimension この値は に設定します。rds:cluster:ReadReplicaCount

次の例では、myscalablepolicy というターゲット追跡スケーリングポリシーを myscalablecluster という名前の Aurora DB クラスターから削除します。

Linux、macOS、Unix の場合:

aws application-autoscaling delete-scaling-policy \ --policy-name myscalablepolicy \ --resource-id cluster:myscalablecluster \ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \

Windows の場合:

aws application-autoscaling delete-scaling-policy ^ --policy-name myscalablepolicy ^ --resource-id cluster:myscalablecluster ^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^

スケーリングポリシーを Aurora DB クラスターから削除するには、以下のパラメータを指定して DeleteScalingPolicy アプリケーションの Auto Scaling API オペレーションを使用します。

  • PolicyName – スケーリングポリシーの名前。

  • ServiceNamespace この値は に設定します。rds

  • ResourceID – Aurora DB クラスターのリソース識別子です。このパラメータでは、リソースタイプは cluster で、一意の識別子は Aurora DB クラスターの名前、例えば cluster:myscalablecluster です。

  • ScalableDimension この値は に設定します。rds:cluster:ReadReplicaCount

次の例では、アプリケーションの Auto Scaling API を使用して、myscalablepolicy というターゲット追跡スケーリングポリシーを myscalablecluster という名前の Aurora DB クラスターから削除します。

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount" }

DB インスタンス ID とタグ付け

Aurora Auto Scaling によってレプリカが追加されると、application-autoscaling- によってその DB インスタンス ID に application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123 などのプレフィックスが付けられます。

次のタグは DB インスタンスに自動的に追加されます。DB インスタンスの詳細ページの [タグ] タブで確認できます。

Tag
application-autoscaling:resourceId cluster:mynewcluster-cluster

Amazon RDS リソースタグの詳細については、「Amazon RDS リソースのタグ付け」を参照してください。

Aurora Auto Scaling と Performance Insights

Performance Insights を使用すると、他の Aurora リーダー DB インスタンスと同様に、Aurora Auto Scaling によって追加されたレプリカをモニタリングできます。

Aurora DB クラスターの Performance Insights を有効にすることはできません。DB クラスター内の各 DB インスタンスに対して、Performance Insights を手動でオンにすることができます。

Aurora DB クラスターのライター DB インスタンスの Performance Insights を有効にしても、リーダー DB インスタンスの Performance Insights は自動的にオンにはなりません。既存のリーダー DB インスタンスと Aurora Auto Scaling によって追加された新しいレプリカについては、Performance Insights を手動でオンにする必要があります。

Performance Insights を使用して Aurora DB クラスターをモニタリングする方法の詳細については、「Amazon Aurora での Performance Insights を使用したDB 負荷のモニタリング」を参照してください。