Redshift が管理する VPC エンドポイントの操作 - Amazon Redshift

Redshift が管理する VPC エンドポイントの操作

デフォルトでは、Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループは仮想プライベートクラウド (VPC) 内にプロビジョニングされます。VPC は、パブリックアクセスを許可するか、インターネットゲートウェイ、NAT デバイス、または AWS Direct Connect 接続を設定してトラフィックをクラスターにルーティングすると、別の VPC またはサブネットからアクセスすることができます。また、Redshift 管理の VPC エンドポイント (AWS PrivateLink を使用) を設定して、クラスターまたはワークグループにアクセスすることもできます。

Redshift 管理の VPC エンドポイントは、クラスターまたはワークグループを含む VPC とクライアントツールを実行する VPC 間のプライベート接続としてセットアップすることができます。クラスターまたはワークグループが別のアカウントにある場合、アカウント所有者 (付与者) は、接続するアカウント (被付与者) へのアクセスを許可する必要があります。これにより、パブリック IP アドレスを使用したり、インターネット経由でトラフィックをルーティングしたりすることなく、データウェアハウスにアクセスできます。

Redshift 管理の VPC エンドポイントを使用してアクセスを許可する一般的な理由は次のとおりです。

  • AWS アカウント A が AWS アカウント B の VPC にクラスターまたはワークグループへのアクセスを許可する。

  • AWS アカウント A が AWS アカウント A の VPC にクラスターまたはワークグループへのアクセスを許可する。

  • AWS アカウント A が AWS アカウント A の VPC にある別のサブネットに、クラスターまたはワークグループへのアクセスを許可する。

Redshift 管理の VPC エンドポイントを設定して、別のアカウントのクラスターまたはワークグループにアクセスするためのワークフローは次のとおりです。

  1. 所有者アカウントは、別のアカウントにアクセス許可を付与し、被付与者の AWS アカウント ID と VPC 識別子 (またはすべての VPC) を指定します。

  2. 被付与者アカウントには、Redshift 管理の VPC エンドポイントを作成する権限があることが通知されます。

  3. 被付与者アカウントは、Redshift 管理の VPC エンドポイントを作成します。

  4. 被付与者アカウントは、Redshift 管理の VPC エンドポイントを使用して、所有者アカウントのクラスターまたはワークグループにアクセスできるようになります。

このプロセスは、Amazon Redshift コンソール、AWS CLI、または Amazon Redshift API を使用して実行できます。

Redshift で管理される VPC エンドポイントを使用する場合の考慮事項

注記

RedShift が管理する VPC エンドポイントを作成または変更するには、ec2:ModifyVpcEndpoint マネージドポリシー AmazonRedshiftFullAccess に指定されている他のアクセス許可に加えて、IAM ポリシーに ec2:CreateVpcEndpoint と AWS のアクセス許可が必要です。

Redshift が管理する VPC エンドポイントを使用する場合は、以下に注意してください。

  • アクセスするクラスターが RA3 ノードタイプであることを確認します。Amazon Redshift Serverless ワークグループもこれに対応しています。

  • プロビジョニングされたクラスターの場合、クラスターが再配置やマルチ AZ で有効になっていることを確認します。クラスターの再配置を有効にする要件については、「クラスターの再配置」を参照してください。マルチ AZ を有効にする方法については、「新しいクラスターを作成する際のマルチ AZ の設定」を参照してください。

  • セキュリティグループを介してアクセスするクラスターまたはワークグループが、有効なポート範囲 5431~5455 と 8191~8215 で利用できることを確認します。デフォルトは 5439 です。

  • 既存の Redshift で管理される VPC エンドポイントに関連付けられた VPC セキュリティグループを変更できます。他の設定を変更するには、現在の Redshift が管理する VPC エンドポイントを削除し、新しいエンドポイントを作成します。

  • 作成できる Redshift 管理の VPC エンドポイントの数は、VPC エンドポイントのクォータに制限されます。

  • Redshift 管理の VPC エンドポイントには、インターネットからアクセスできません。Redshift 管理の VPC エンドポイントは、エンドポイントがプロビジョニングされている VPC 内か、ルートテーブルとセキュリティグループによって許可されているエンドポイントがプロビジョニングされている VPC とピア接続されている VPC からのみアクセスできます。

  • Amazon VPC コンソールを使用して Redshift 管理の VPC エンドポイントを管理することはできません。

  • プロビジョニングされたクラスターに RedShift 管理の VPC エンドポイントを作成する場合、選択する VPC にはクラスターサブネットグループが必要です。サブネットグループを作成するには、「コンソールを使用したクラスターサブネットグループの管理」を参照してください。

  • アベイラビリティーゾーンがダウンした場合、Amazon Redshift は、別のアベイラビリティーゾーンに新しい伸縮自在なネットワークインターフェイスを作成しません。この場合は、必要に応じて、新しいエンドポイントを作成します。

クォータと命名規則の詳細については、Amazon Redshift でのクォータと制限 を参照してください。

料金については、「AWS PrivateLink の料金」を参照してください。

コンソールを使用して Redshift 管理の VPC エンドポイントを管理する

Amazon Redshift コンソールを使用して、Redshift で管理される VPC エンドポイントの使用を設定できます。

アクセス権の付与

クラスターまたはワークグループにアクセスする VPC が別の AWS アカウントにある場合は、必ず所有者 (付与者) アカウントから許可してください。

別の AWS アカウント内の VPC にクラスターまたはワークグループへのアクセスを許可するには
  1. AWS Management Console にサインインして、 https://console.aws.amazon.com/redshiftv2/で Amazon Redshift コンソールを開きます。

  2. ナビゲーションメニューで [クラスター] を選択します。Amazon Redshift Serverless の場合は、[サーバーレスダッシュボード] を選択します。

  3. アクセスを許可するクラスターのクラスター名を選択して、クラスターの詳細を表示します。クラスターの [Properties] (プロパティ) タブを選択します。

    [Granted accounts] (付与されたアカウント) セクションには、クラスターにアクセスできるアカウントと対応する VPC が表示されます。Amazon Redshift Serverless ワークグループの場合は、ワークグループを選択します。[許可を付与されたアカウント][データアクセス] タブにあります。

  4. アカウントを追加するために被付与者情報を入力するフォームを表示するには、[Grant access (アクセスの許可)] を選択します。

  5. AWS アカウント ID に、アクセスを許可するアカウントの ID を入力します。特定のアカウント内の特定の VPC またはすべての VPC へのアクセス権を付与できます。

  6. アクセスを許可するには、[Grant access] (アクセスの許可) を選択します。

Redshift で管理される VPC エンドポイントの作成

クラスターまたはワークグループを所有している場合、またはクラスターへの管理アクセス権が付与されている場合は、そのクラスターの Redshift 管理の VPC エンドポイントを作成できます。

Redshift で管理される VPC エンドポイントを作成するには
  1. AWS Management Console にサインインして、 https://console.aws.amazon.com/redshiftv2/で Amazon Redshift コンソールを開きます。

  2. ナビゲーションメニューで、[Configurations] (設定) を選択します。

    [Configurations] (設定) ページには、作成された Redshift 管理の VPC エンドポイントが表示されます。エンドポイントの詳細を表示するには、その名前を選択します。Amazon Redshift Serverless の場合、ワークグループを選択すると VPC エンドポイントは [データアクセス] タブに表示されます。

  3. [Create endpoint (エンドポイントの作成)] を選択して、追加するエンドポイントに関する情報を入力するためのフォームを表示します。

  4. [エンドポイント名]、12 桁の [AWS アカウント ID]、エンドポイントが配置されている [仮想プライベートクラウド (VPC)][サブネット][VPC セキュリティグループ] の値を入力します。

    [サブネット] のサブネットグループは、Amazon Redshift がエンドポイントをデプロイするサブネットと IP アドレスを定義します。Amazon Redshift は、エンドポイントに関連付けられたネットワークインターフェイスで使用可能な IP アドレスを持つサブネットを選択します。

    [VPC セキュリティグループ] のセキュリティグループルールは、エンドポイントに対して承認するインバウンドトラフィックのポート、プロトコル、およびソースを定義します。セキュリティグループまたは ワークロードが実行される CIDR 範囲を介して、選択したポートへのアクセスを許可します。

  5. [Create endpoint] (エンドポイントの作成) を選択して、エンドポイントを作成します。

エンドポイントの作成後、Redshift 管理の VPC エンドポイント設定の [エンドポイント] URL に表示される URL で クラスタークラスターまたはワークグループにアクセスできます。

AWS CLI を使用して Redshift 管理の VPC エンドポイントを管理する

以下の Amazon Redshift CLI オペレーションを使用して、Redshift が管理する VPC エンドポイントを操作できます。詳細については、AWS CLI コマンドリファレンスを参照してください。

Amazon Redshift API オペレーションを使用した Redshift 管理の VPC エンドポイントの管理

以下の Amazon Redshift API オペレーションを使用して、Redshift が管理する VPC エンドポイントを操作できます。詳細については、「Amazon Redshift API リファレンス」を参照してください。

AWS CloudFormation を使用して Redshift マネージド VPC エンドポイントを管理する

AWS CloudFormation を使用して Redshift マネージド VPC エンドポイントを作成するための AWS CloudFormation リソースタイプについては、AWS CloudFormation ユーザーガイドの「AWS::Redshift::EndpointAccess」を参照してください。