Amazon SageMaker と Application Auto Scaling - Application Auto Scaling

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

Amazon SageMaker と Application Auto Scaling

ターゲット追跡スケーリングポリシー、ステップスケーリングポリシー、およびスケジュールされたスケーリングを使用して、 SageMaker エンドポイントバリアント、サーバーレスエンドポイントのプロビジョニングされた同時実行数、推論コンポーネントをスケーリングできます。

以下の情報は、Application Auto Scaling SageMaker との統合に役立ちます。

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

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

  • AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint

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

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

  • sagemaker.application-autoscaling.amazonaws.com

スケーラブルターゲットとしての SageMaker エンドポイントバリアントの Application Auto Scaling への登録

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

SageMaker コンソールを使用して自動スケーリングを設定すると、 はスケーラブルターゲット SageMaker を自動的に登録します。

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

  • AWS CLI:

    製品バリアントに対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 1 個のインスタンス、最大容量を 8 個のインスタンスとして、my-endpoint エンドポイントで実行される my-variant と呼ばれる製品バリアントに対するインスタンスの希望数を登録します。

    aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredInstanceCount \ --resource-id endpoint/my-endpoint/variant/my-variant \ --min-capacity 1 \ --max-capacity 8

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

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

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

Application Auto Scaling によってサーバーレスエンドポイントのプロビジョニングされた同時実行数をスケーラブルターゲットとして登録

Application Auto Scaling では、サーバーレスエンドポイントのプロビジョニングされた同時実行数のスケーリングポリシーまたはスケジュールされたアクションを作成する前に、スケーラブルターゲットも必要です。

SageMaker コンソールを使用して自動スケーリングを設定すると、 はスケーラブルターゲット SageMaker を自動的に登録します。

それ以外の場合は、次のいずれかの方法を使用して、スケーラブルターゲットを登録します。

  • AWS CLI:

    製品バリアントに対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 1、最大容量を 10 として、my-endpoint エンドポイントで実行される my-variant と呼ばれる製品バリアントに対するプロビジョニングされた同時実行数を登録します。

    aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/my-endpoint/variant/my-variant \ --min-capacity 1 \ --max-capacity 10

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

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

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

スケーラブルターゲットとしての推論コンポーネントの Application Auto Scaling への登録

Application Auto Scaling では、推論コンポーネントのスケーリングポリシーまたはスケジュールされたアクションを作成する前に、スケーラブルターゲットが必要になります。

  • AWS CLI:

    推論コンポーネントに対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 0 個のコピー、最大容量を 3 個のコピーとして、my-inference-component という名前の推論コンポーネントの希望コピー数を登録します。

    aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:inference-component:DesiredCopyCount \ --resource-id inference-component/my-inference-component \ --min-capacity 0 \ --max-capacity 3

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

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

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

Application Auto Scaling を始めたばかりの場合は、「Amazon SageMaker デベロッパーガイド」の「 SageMaker リソースのスケーリングに関するその他の有用な情報」を参照してください。

注記

2023 年に、 SageMaker はリアルタイム推論エンドポイント上に構築された新しい推論機能を導入しました。 SageMaker エンドポイントのインスタンスタイプと初期インスタンス数を定義するエンドポイント設定を使用してエンドポイントを作成します。次に、推論コンポーネントを作成します。推論コンポーネントは、モデルをエンドポイントにデプロイするために使用できる SageMaker ホスティングオブジェクトです。推論コンポーネントのスケーリングについては、 AWS ブログの「Amazon は、基盤モデルのデプロイコストとレイテンシーの削減に役立つ新しい推論機能 SageMaker を追加」および「Amazon の最新機能を使用して、モデルデプロイコストを平均 50% 削減 SageMakerする」を参照してください。