AWS Lambda および Application Auto Scaling - Application Auto Scaling

AWS Lambda および Application Auto Scaling

ターゲット追跡スケーリングポリシーとスケジュールされたスケーリングを使用して、AWS Lambda プロビジョニングされた同時実行数をスケールできます。

Lambda と Application Auto Scaling の統合には、次の情報を参考にしてください。

Lambda functions のスケーリングを始めたばかりの場合は、以下のドキュメントで、Application Auto Scaling での Lambda の使用に関するサンプル設定と詳細を確認できます。

Lambda 向けに作成されたサービスリンクロール

The following service-linked role is automatically created in your AWS account when registering Lambda resources as scalable targets with Application Auto Scaling. This role allows Application Auto Scaling to perform supported operations within your account. For more information, see Application Auto Scaling のサービスリンクロール.

  • AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency

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

The service-linked role in the previous section can be assumed only by the service principal authorized by the trust relationships defined for the role. The service-linked role used by Application Auto Scaling grants access to the following service principal:

  • lambda.application-autoscaling.amazonaws.com

スケーラブルターゲットとしての Lambda functions の Application Auto Scaling への登録

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

AWS SDK のいずれか、または AWS CLI を使用してオートスケーリングを設定するには、以下のオプションを使用できます。

  • AWS CLI:

    Lambda 関数のために register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 0、最大容量を 100 として、my-function と呼ばれる関数の BLUE というエイリアスに対するプロビジョニングされた同時実行数を登録します。

    aws application-autoscaling register-scalable-target \ --service-namespace lambda \ --scalable-dimension lambda:function:ProvisionedConcurrency \ --resource-id function:my-function:BLUE \ --min-capacity 0 \ --max-capacity 100
  • AWS SDK:

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