ElastiCache とアプリケーションの Auto Scaling - Application Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ElastiCache とアプリケーションの Auto Scaling

ターゲット追跡スケーリングポリシーとスケジュールされたスケーリングを使用して、Amazon ElastiCache レプリケーショングループ (Redis OSS と Valkey) と Memcached 独自設計型クラスターを水平方向にスケーリングできます。

ElastiCache を Application Auto Scaling と統合するには、次の情報を使用します。

ElastiCache 用に作成されたサービスリンクロール

スケーラブルターゲットとして ElastiCache リソースを Application Auto Scaling に登録 AWS アカウント すると、次のサービスにリンクされたロールが に自動的に作成されます。このロールは、アカウント内でサポートされている操作を実行することを Application Auto Scaling に許可します。詳細については、「Application Auto Scaling 用のサービスリンクロール」を参照してください。

  • AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG

サービスリンクロールが使用するサービスプリンシパル

前のセクションで説明したサービスリンクロールを引き受けることができるのは、ロールに定義された信頼関係によって認可されるサービスプリンシパルのみです。Application Auto Scaling が使用するサービスリンクロールは、以下のサービスプリンシパルに対するアクセス権を付与します。

  • elasticache.application-autoscaling.amazonaws.com

Application Auto Scaling でのスケーラブルターゲットとしての ElastiCache リソースの登録

Application Auto Scaling では、ElastiCache レプリケーショングループ、クラスター、またはノードのスケーリングポリシーまたはスケジュールされたアクションを作成する前に、スケーラブルターゲットが必要です。スケーラブルターゲットとは、Application Auto Scaling がスケールアウトおよびスケールインできるリソースです。スケーラブルターゲットは、リソース ID、スケーラブルディメンション、および名前空間の組み合わせによって一意に識別されます。

ElastiCache コンソールを使用して自動スケーリングを設定すると、ElastiCache がユーザーに代わってスケーラブルターゲットを自動的に登録します。

CLI またはいずれかの AWS SDKs AWS を使用して自動スケーリングを設定する場合は、次のオプションを使用できます。

  • AWS CLI:

    ElastiCache レプリケーショングループに対して登録-スケーラブル-ターゲットコマンドを呼び出します。以下の例は、最小容量を 1、最大容量を 5 として、mycluster1 という名前のレプリケーショングループの希望ノードグループ数を登録します。

    aws application-autoscaling register-scalable-target \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:NodeGroups \ --resource-id replication-group/mycluster1 \ --min-capacity 1 \ --max-capacity 5

    成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

    次の例では、 という名前のレプリケーショングループのノードグループあたりの必要なレプリカ数を登録します。最小容量は 1mycluster2、最大容量は 5 です。

    aws application-autoscaling register-scalable-target \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:Replicas \ --resource-id replication-group/mycluster2 \ --min-capacity 1 \ --max-capacity 5

    成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/234abcd56ab78cd901ef1234567890ab1234" }

    次の の例では、 というクラスターに必要なノード数を登録します。最小容量は 20mynode1、最大容量は 50 です。

    aws application-autoscaling register-scalable-target \ --service-namespace elasticache \ --scalable-dimension elasticache:cache-cluster:Nodes \ --resource-id cache-cluster/mynode1 \ --min-capacity 20 \ --max-capacity 50

    成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/01234abcd56ab78cd901ef1234567890ab12" }
  • AWS SDK:

    RegisterScalableTargetオペレーションを呼び出し、ResourceIdScalableDimensionServiceNamespaceMinCapacity、および MaxCapacity をパラメータとして指定します。

詳細については、Amazon ElastiCache ユーザーガイド」のAuto Scaling Valkey および Redis OSS クラスター」および「Memcached のクラスターのスケーリング」を参照してください。