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

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

AWS Lambda および Application Auto Scaling

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

以下の情報を使用して、Lambda の Application Auto Scaling との統合に役立ててください。

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

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

  • AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency

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

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

  • lambda.application-autoscaling.amazonaws.com

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

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

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

  • 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

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

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

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

Application Auto Scaling を始めたばかりの場合は、以下のドキュメントで Lambda 関数のスケーリングに関するその他の有益な情報を確認できます。