Amazon EMR クラスターのネットワークアクセスを設定する - Amazon SageMaker AI

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

Amazon EMR クラスターのネットワークアクセスを設定する

Studio でのデータ準備タスクに Amazon EMR または EMR Serverless の使用を開始する前に、Studio と Amazon EMR 間の通信を許可するようにユーザーまたは管理者がネットワークを設定していることを確認します。この通信が有効になったら、以下を選択できます。

注記

EMR Serverless を使用する場合、最もシンプルなセットアップは、仮想プライベートクラウド (VPC) オプションのデフォルト設定を変更せずに Studio UI でアプリケーションを作成する方法です。このアプローチでは、SageMaker ドメインの VPC 内にアプリケーションを作成できるため、追加のネットワーク設定は不要になります。このオプションを選択した場合は、以下のネットワーク設定セクションをスキップできます。

ネットワークの手順は、Studio と Amazon EMR がプライベート Amazon Virtual Private Cloud (VPC) 内にデプロイされているか、インターネット経由で通信しているかによって異なります。

デフォルトでは、Studio または Studio Classic はインターネットアクセスのある AWS マネージド VPC で実行されます。インターネット接続を使用する場合、Studio と Studio Classic はインターネット経由で Amazon S3 バケットなどの AWS リソースにアクセスします。ただし、データコンテナやジョブコンテナへのアクセスを制御するセキュリティ要件がある場合は、データやコンテナにインターネット経由でアクセスできないように、Studio または Studio Classic と Amazon EMR を設定することをお勧めします。リソースへのアクセスを制御したり、パブリックインターネットアクセスなしで Studio または Studio Classic を実行したりするには、Amazon SageMaker AI ドメインにオンボードするときにVPC onlyネットワークアクセスタイプを指定できます。このシナリオでは、Studio と Studio Classic の両方がプライベート VPC エンドポイントを介して他の AWS サービスとの接続を確立します。VPC only モードで Studio または Studio Classic を設定する方法については、「Connect SageMaker Studio or Studio Classic notebooks in a VPC to external resources」を参照してください。

最初の 2 つのセクションでは、パブリックインターネットアクセスなしで Studio または Studio Classicと VPC 内の Amazon EMR 間の通信を確保する方法について説明します。最後のセクションでは、インターネット接続を使用して Studio または Studio Classic と Amazon EMR 間の通信を確保する方法について説明します。インターネットにアクセスせずに Studio または Studio Classic と Amazon EMR を接続する前に、Amazon Simple Storage Service (データストレージ)、Amazon CloudWatch (ログ記録とモニタリング)、Amazon SageMaker Runtime (きめ細かいロールベースのアクセスコントロール (RBAC)) のエンドポイントを確立する必要があります。

Studio または Studio Classic と Amazon EMR を接続するには:

Studio と Amazon EMR が別の VPC 内に配置されている場合

Studio または Studio Classic と Amazon EMR が別の VPC にデプロイされている場合に、両者間の通信を許可するには:

  1. まず VPC ピアリング接続を使用して VPC を接続します。

  2. Studio または Studio Classic のサブネットと Amazon EMR サブネット間の双方向ネットワークトラフィックを許可するように、各 VPC のルーティングテーブルを更新します。

  3. インバウンドおよびアウトバウンドのトラフィックを許可するようにセキュリティグループを設定します。

Studio または Studio Classic と Amazon EMR を接続する手順は、リソースが 1 つの AWS アカウント (単一アカウントのユースケース) にデプロイされているか、複数の AWS アカウント (クロスアカウントのユースケース) にデプロイされているかにかかわらず同じです。

  1. VPC ピアリング

    2 つの VPC (Studio または Studio Classic と Amazon EMR) 間のネットワーキングを確立するために、VPC ピアリング接続を作成します。

    1. Studio または Studio Classic アカウントの VPC ダッシュボードで、[ピアリング接続][ピアリング接続の作成] の順にクリックします。

    2. Studio または Studio Classic の VPC を Amazon EMR の VPC とピアリングするためのリクエストを作成します。別の AWS アカウントでピア接続をリクエストする場合は、「ピアリングする別の VPC を選択する」で別のアカウントを選択します。

      クロスアカウントピアリングの場合、管理者が Amazon EMR アカウントからのリクエストを許可する必要があります。

      プライベートサブネットをピアリングする場合、VPC ピアリング接続レベルでプライベート IP DNS 解決を有効にする必要があります。

  2. ルーティングテーブル

    Studio または Studio Classic サブネットと Amazon EMR サブネット間のネットワークトラフィックを双方向に送信します。

    ピアリング接続を確立すると、管理者は、(クロスアカウントアクセスの各アカウントで) プライベートサブネットのルートテーブルにルートを追加して、Studio または Studio Classic と Amazon EMR のサブネット間のトラフィックをルーティングできます。VPC ダッシュボードの各 VPC の [ルートテーブル] セクションに移動すると、これらのルートを定義できます。

    次の Studio VPC サブネットのルートテーブルの図は、ピアリング接続を介して Studio アカウントから Amazon EMR VPC IP 範囲 (ここでは 2.0.1.0/24) へのアウトバウンドルートの例について説明しています。

    ピアリング接続を介した Studio アカウントから Amazon EMR VPC IP 範囲 (ここでは 2.0.1.0/24) へのアウトバウンドルートを示す Studio VPC サブネットのルートテーブル

    Amazon EMR VPC サブネットのルートテーブルの以下の図は、ピアリング接続を経由して Amazon EMR VPC から Studio VPC IP 範囲 (ここでは 10.0.20.0/24) への戻りルートの例を示しています。

    ピアリング接続を介して Amazon EMR アカウントから Studio VPC IP 範囲 (ここでは 10.0.20.0/24) への戻りルートを示す、Amazon EMR VPC サブネットのルートテーブル
  3. セキュリティグループ

    最後に、Studio または Studio Classic ドメインのセキュリティグループはアウトバウンドトラフィックを許可し、Amazon EMR プライマリノードのセキュリティグループは Studio または Studio Classic インスタンスのセキュリティグループからの Apache LivyHive、または Presto の TCP ポート (それぞれ 8998100008889) でのインバウンドトラフィックを許可する必要があります。Apache Livy は、REST インターフェイスを介して Amazon EMR とのインタラクションができるようにするサービスです。

次の図は、JupyterLab ノートブックまたは Studio Classic ノートブックが Service Catalog の AWS CloudFormation テンプレートから Amazon EMR クラスターをプロビジョニングし、同じ AWS アカウント内の Amazon EMR クラスターに接続できるようにする Amazon VPC 設定の例を示しています。この図は、VPCs がインターネットにアクセスできない場合に Amazon S3 や Amazon CloudWatch などのさまざまな AWS サービスに直接接続するために必要なエンドポイントの追加図を示しています。あるいは、NAT ゲートウェイを使用して、複数の VPC のプライベートサブネット内のインスタンスが、インターネットにアクセスするときにインターネットゲートウェイから提供される単一のパブリック IP アドレスを共有できるようにする必要があります。

Studio ノートブックまたは Studio Classic ノートブックが Service Catalog の AWS CloudFormation テンプレートから Amazon EMR クラスターをプロビジョニングし、同じ AWS アカウント内の Amazon EMR クラスターに接続できるようにするシンプルな Amazon VPC 設定の例を示すアーキテクチャ図。この図は、VPCs がインターネットにアクセスできない場合に Amazon S3 や Amazon CloudWatch などのさまざまな AWS サービスに直接接続するために必要なエンドポイントの追加図を示しています。あるいは、NAT ゲートウェイを使用して、複数の VPC のプライベートサブネット内のインスタンスが、インターネットにアクセスするときにインターネットゲートウェイから提供される単一のパブリック IP アドレスを共有できるようにする必要があります。

Studio とAmazon EMR が同じ VPC 内に配置されている場合

Studio または Studio Classic と Amazon EMR が別のサブネットに配置されている場合は、各プライベートサブネットのルートテーブルにルートを追加して、Studio または Studio Classic と Amazon EMR サブネット間のトラフィックをルーティングします。VPC ダッシュボードの各 VPC の [ルートテーブル] セクションに移動すると、これらのルートを定義できます。Studio または Studio Classic と Amazon EMR を同じ VPC と同じサブネットにデプロイした場合、Studio と Amazon EMR 間のトラフィックをルーティングする必要はありません。

ルーティングテーブルの更新の必要性を問わず、Studio または Studio Classic ドメインのセキュリティグループはアウトバウンドトラフィックを許可し、Amazon EMR プライマリノードのセキュリティグループは Studio または Studio Classic インスタンスのセキュリティグループからの Apache LivyHive、または Presto の TCP ポート (それぞれ 8998100008889) でのインバウンドトラフィックを許可する必要があります。Apache Livy は、REST インターフェイスを介して Amazon EMR とのインタラクションができるようにするサービスです。

Studio と Amazon EMR がパブリックインターネットを介して通信する

Studio と Studio Classic はデフォルトで、SageMaker ドメインに関連付けられた VPC 内のインターネットゲートウェイを介したインターネットとの通信を許可するネットワークインターフェイスを提供します。パブリックインターネット経由で Amazon EMR に接続する場合、Amazon EMR は、インターネットゲートウェイからの Apache LivyHivePresto の TCP ポート (それぞれ 8998100008889) でインバウンドトラフィックを受け入れる必要があります。Apache Livy は、REST インターフェイスを介して Amazon EMR とのインタラクションができるようにするサービスです。

インバウンドトラフィックを許可するポートでは、セキュリティ脆弱性が生じる可能性があることに注意してください。カスタムセキュリティグループを注意深く確認して、脆弱性を最小限に抑えます。詳細については、「Control network traffic with security groups」を参照してください。

または、Amazon EMR での Kerberos を有効にし、プライベートサブネットにクラスターを設定し、、Network Load Balancer (NLB) を使用してクラスターにアクセスし、セキュリティグループを介してアクセス制御されている特定のポートのみを公開する方法の詳細なウォークスルーについては、「ブログとホワイトペーパー」を参照してください。

注記

パブリックインターネット経由で Apache Livy エンドポイントに接続する場合、TLS を使用して Studio または Studio Classic と Amazon EMR クラスター間の通信を保護することをお勧めします。

Apache Livy で HTTPS を設定する方法については、「Enabling HTTPS with Apache Livy」を参照してください。転送時の暗号化を有効にして Amazon EMR クラスターを設定する方法については、「Providing certificates for encrypting data in transit with Amazon EMR encryption」を参照してください。さらに、「HTTPS 経由で Amazon EMR クラスターに接続する」で指定されているとおり、証明書キーにアクセスするように Studio または Studio Classic を設定する必要があります。