

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

# クラスター起動時の Amazon VPC オプション
<a name="emr-clusters-in-a-vpc"></a>



VPC 内で Amazon EMR クラスターを起動するときは、パブリックサブネット、プライベートサブネット、または共有サブネット内で起動できます。クラスターに選択するサブネットタイプに応じて、構成に多少の顕著な相違があります。

## パブリックサブネット
<a name="emr-vpc-public-subnet"></a>

パブリックサブネットの EMR クラスターでは、接続されているインターネットゲートウェイが必要です。これは、Amazon EMR クラスターが AWS サービスと Amazon EMR にアクセスする必要があるためです。Simple Storage Service (Amazon S3) などのサービスが、VPC エンドポイントを作成する機能を提供している場合、インターネットゲートウェイを通してパブリックエンドポイントにアクセスする代わりに、エンドポイントを使用してこれらのサービスにアクセスできます。また、Amazon EMR はネットワークアドレス変換 (NAT) デバイスを通じてパブリックサブネットのクラスターと通信することはできません。この目的にはインターネットゲートウェイが必要ですが、より複雑なシナリオでは、他のトラフィックに対して NAT インスタンスまたはゲートウェイを引き続き使用できます。

クラスター内のインスタンスはいずれも、VPC エンドポイントまたはインターネットゲートウェイを通じて Simple Storage Service (Amazon S3) に接続します。現在 VPC エンドポイントをサポートしていない他の AWS サービスは、インターネットゲートウェイのみを使用します。

インターネットゲートウェイに接続しない追加の AWS リソースがある場合は、VPC 内に作成したプライベートサブネットでそれらのコンポーネントを起動できます。

パブリックサブネットで実行中のクラスターは 2 つのセキュリティグループを使用します。1 つはプライマリノード用、もう 1 つはコアノードとタスクノード用です。詳細については、「[Amazon EMR クラスターのセキュリティグループを使用してネットワークトラフィックを制御する](emr-security-groups.md)」を参照してください。

次の図は、パブリックサブネットを使用して Amazon EMR クラスターが VPC でどのように実行されるかを示しています。クラスターは、インターネットゲートウェイを介して Amazon S3 バケットなどの他の AWS リソースに接続できます。

![\[VPC 上のクラスター\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/vpc_default_v3a.png)


次の図は、VPC のクラスターが Oracle データベースなど、ご自身のネットワーク上のリソースにアクセスできるように VPC をセットアップする方法を示します。

![\[ローカル VPN 上のリソースにアクセスできるように VPC とクラスターを設定する\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/vpc_withVPN_v3a.png)


## プライベートサブネット
<a name="emr-vpc-private-subnet"></a>

プライベートサブネットを使用すると、サブネットにインターネットゲートウェイをアタッチしなくても AWS リソースを起動できます。プライベートサブネットでのクラスターの起動をサポートするのは、Amazon EMR リリースバージョン 4.2.0 以降のみです。

**注記**  
プライベートサブネットに Amazon EMR クラスターを設定するときは、[Amazon S3 の VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html)も設定することをお勧めします。EMR クラスターが Amazon S3 の VPC エンドポイントのないプライベートサブネットに存在する場合、EMR クラスターと S3 間のトラフィックは VPC 内にとどまらないため、S3 トラフィックに関連する追加の NAT ゲートウェイ料金が発生します。

プライベートサブネットとパブリックサブネットは、次の点で異なります。
+ VPC エンドポイントを提供しない AWS サービスにアクセスするには、NAT インスタンスまたはインターネットゲートウェイを使用する必要があります。
+ 少なくとも、Amazon EMR サービスログバケットと Simple Storage Service (Amazon S3) の Amazon Linux リポジトリへのルートを提供する必要があります。詳細については、「[Amazon S3 にアクセスするプライベートサブネットのサンプルポリシー](private-subnet-iampolicy.md)」を参照してください。
+ EMRFS 機能を使用する場合、Simple Storage Service (Amazon S3) VPC エンドポイントとプライベートサブネットから DynamoDB へのルートが必要です。
+ デバッグが機能するのは、プライベートサブネットからパブリック Amazon SQS エンドポイントへのルートを提供する場合のみです。
+ パブリックサブネットで NAT インスタンスまたはゲートウェイを使用したプライベートサブネット設定の作成がサポートされるのは、 AWS マネジメントコンソールを使用する場合のみです。Amazon EMR クラスターの NAT インスタンスと Simple Storage Service (Amazon S3) VPC エンドポイントを追加および設定する最も簡単な方法は、Amazon EMR コンソールの **[VPC Subnets List]** (VPC サブネットリスト) ページを使用することです。NAT ゲートウェイを作成するには、「*Amazon VPC ユーザーガイド*」の「[NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)」を参照してください。
+ 既存の Amazon EMR クラスターがあるサブネットを、パブリックからプライベートに、またはその逆に変更することはできません。プライベートサブネット内で Amazon EMR クラスターを見つけるため、クラスターはそのプライベートサブネットで起動する必要があります。

Amazon EMR はプライベートサブネットでクラスターの異なるデフォルトセキュリティグループ (ElasticMapReduce-Master-Private、ElasticMapReduce-Slave-Private、および ElasticMapReduce-ServiceAccess) を作成および使用します。詳細については、「[Amazon EMR クラスターのセキュリティグループを使用してネットワークトラフィックを制御する](emr-security-groups.md)」を参照してください。

クラスターの NACL の完全なリストについては、Amazon EMR コンソールの **[クラスターの詳細]** ページで **[プライマリのセキュリティグループ]** と **[コアおよびタスクのセキュリティグループ]** を選択します。

次の図は、プライベートサブネット内で Amazon EMR クラスターが設定される方法を示しています。サブネット外の唯一の通信は、Amazon EMR に対するものです。

![\[プライベートサブネットで Amazon EMR クラスターを起動する\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/vpc_with_private_subnet_v3a.png)


次の図は、パブリックサブネットにある NAT インスタンスに接続されているプライベートサブネット内の Amazon EMR クラスターの設定例を示しています。

![\[NAT を持つプライベートサブネット\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/vpc_private_subnet_nat_v3a.png)


## 共有サブネット
<a name="emr-vpc-shared-subnet"></a>

VPC 共有を使用すると、お客様は同じ AWS Organization 内の他の AWS アカウントとサブネットを共有できます。次の注意点に注意しながら、Amazon EMR クラスターをパブリック共有サブネットとプライベート共有サブネットの両方で起動できます。

Amazon EMR クラスターをサブネットで起動するには、サブネットの所有者とサブネットを共有している必要があります。ただし、共有サブネットは後で共有解除することができます。詳細については、「[共有 VPC の使用](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)」を参照してください。クラスターを共有サブネットで起動した後に、共有サブネットが共有解除された場合は、サブネットの共有解除時に、Amazon EMR クラスターの状態に基づいて、特定の動作が発生します。
+ クラスターが正常に起動する*前に*サブネットが共有解除された場合 - 参加者がクラスターを起動しようとしている最中に、所有者が Amazon VPC またはサブネットの共有を停止した場合は、クラスターの起動に失敗するか、リクエストされたすべてのインスタンスがプロビジョニングされないままに、クラスターが部分的に初期化されることがあります。
+ クラスターが正常に起動した*後に*サブネットが共有解除された場合 - 所有者が参加者とのサブネットまたは Amazon VPC の共有を停止した場合、参加者のクラスターは、新しいインスタンスの追加や、異常なインスタンスを交換するためにサイズ変更できなくなります。

Amazon EMR クラスターを起動すると、複数のセキュリティグループが作成されます。共有サブネットでは、サブネットの参加者がこれらのセキュリティグループを制御します。サブネットの所有者は、これらのセキュリティグループを表示できますが、これらのグループに対してアクションを実行することはできません。サブネットの所有者がセキュリティグループの削除または変更を希望する場合は、セキュリティグループを作成した参加者がそのアクションを実行する必要があります。

## IAM で VPC のアクセス許可を制御する
<a name="emr-iam-on-vpc"></a>

デフォルトでは、すべての ユーザーはそのアカウントのすべてのサブネットを表示でき、どのサブネットでもクラスターを起動できます。

VPC でクラスターを起動するときは、Amazon EC2 Classic で起動したクラスターと同様に、 AWS Identity and Access Management (IAM) を使用してクラスターへのアクセスを制御し、 ポリシーを使用してアクションを制限できます。IAM の詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/)」を参照してください。

また、IAM を使用すると、サブネットを作成および管理できるユーザーを制御することもできます。例えば、サブネットを管理するための IAM ロールを 1 つ作成し、クラスターを起動することはできても Amazon VPC の設定を変更できないロールを 2 つ目として作成できます。Amazon EC2 および Amazon VPC でのポリシーとアクションの管理の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 の IAM ポリシー](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)」を参照してください。