Amazon Redshift 機械学習 の管理設定 - Amazon Redshift

Amazon Redshift 機械学習 の管理設定

Amazon Redshift ML で作業する前に、クラスターの設定を完了し、Amazon Redshift ML を使用するためのアクセス許可を設定します。

Amazon Redshift ML を使用するためのクラスターの設定

Amazon Redshift ML を使用する前に、以下の前提条件を満たしてください。

Amazon Redshift の管理者として、次の 1 回限りのセットアップを行います。

  1. AWS コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、Amazon Redshift クラスターを作成します。クラスターの作成時には、必ずAWS Identity and Access Management (IAM) ポリシーをアタッチするようにしてください。

  2. Amazon SageMaker で Amazon Redshift を使用する IAM ロールを作成します。IAM ロールは、次の 2 つの方法で作成できます:

    1. Amazon Redshift機械学習 で使用するために AmazonS3FullAccessAmazonSageMakerFullAccess ポリシーで IAM ロールを作成するといった簡単な方法もあります。

    2. より制限の厳しいポリシーを持つ IAM ロールを作成します。詳細は、Amazon SageMakerでのAmazon Redshift 機械学習を使用するために必要なアクセス許可を参照してください。

  3. (オプション) Amazon SageMaker に送信されたトレーニングデータを保存し、Amazon SageMaker からトレーニングモデルを受信するために、Amazon Redshift が使用する Amazon S3 バケットと AWS KMS キーを作成します。

  4. (オプション) さまざまなユーザーグループへのアクセスを制御するために、IAM ロールと Amazon S3 バケットのさまざまな組み合わせを作成します。

  5. (オプション) Amazon Redshift クラスターで Virtual Private Cloud (VPC) ルーティングを有効にした場合は、この Amazon Redshift クラスターが置かれている VPC 用として、Amazon S3 VPC エンドポイントならびに SageMaker エンドポイントを作成します。これにより、CREATE MODEL の実行中にサービス間でトラフィックが VPC を通過できるようになります。VPC ルーティングの詳細については、Amazon Redshift の拡張 VPC ルーティングを参照してください。

    ハイパーパラメータ調整ジョブにプライベート VPC を指定するために必要なアクセス許可の詳細については、Amazon SageMakerでのAmazon Redshift 機械学習を使用するために必要なアクセス許可を参照してください。

CREATE MODEL ステートメントを使用して、さまざまなユースケースモデルの作成を開始する方法については、モデルを作成する を参照してください。

許可と所有権の管理

Amazon Redshift はテーブルや関数などの他のデータベースオブジェクトと同様に、機械学習モデルの作成と使用をバインドし、制御メカニズムにアクセスします。予測関数を実行するモデルを作成するための個別の権限があります。

次の例では、retention_analyst_grp(モデルクリエーター) とmarketing_analyst_grp(モデルユーザー)の 2 つのユーザーグループを使用して、Amazon Redshift がアクセス制御を管理する方法を示します。保持アナリストは、他のユーザーセットが取得した権限を通じて使用できる機械学習モデルを作成します。

スーパーユーザーは、次のステートメントを使用して、機械学習モデルを作成するための USER 権限または GROUP 権限を付与できます。

GRANT CREATE MODEL TO GROUP retention_analyst_grp;

この権限を持つユーザーまたはグループは、ユーザーが SCHEMA に対して通常の CREATE 権限を持っている場合、クラスター内の任意のスキーマにモデルを作成できます。機械学習モデルは、テーブル、ビュー、プロシージャ、およびユーザー定義関数と同様にスキーマ階層の一部です。

スキーマ demo_ml がすでに存在すると仮定して、次のように 2 つのユーザーグループにスキーマに対する許可を付与します。

GRANT CREATE, USAGE ON SCHEMA demo_ml TO GROUP retention_analyst_grp;
GRANT USAGE ON SCHEMA demo_ml TO GROUP marketing_analyst_grp;

EXECUTE 権限を付与することで、他のユーザーが機械学習の推論機能を使用できるようにすることができます。次の例では、EXECUTE 権限を使用して、モデルを使用する権限を marketing_analst_grp GROUP に付与します。

GRANT EXECUTE ON MODEL demo_ml.customer_churn_auto_model TO GROUP marketing_analyst_grp;

REVOKE ステートメントを CREATE MODEL および EXECUTE とともに使用して、ユーザーまたはグループからこれらの権限を取り消します。アクセス許可のコントロールコマンドの詳細については、GRANT および REVOKE を参照してください。