Amazon EMR マネージドセキュリティグループでの作業 - Amazon EMR

Amazon EMR マネージドセキュリティグループでの作業

注記

Amazon EMR では、「マスター」や「スレーブ」などの不快感を与える可能性のある、あるいは包括的でない業界用語の代わりに、包括的な用語を使用することを目指しています。より包括的なエクスペリエンスを促進し、サービスコンポーネントを理解しやすくするために、新しい用語に移行しました。

ここでは、「ノード」をインスタンスとして説明し、Amazon EMR インスタンスタイプをプライマリインスタンス、コアインスタンス、タスクインスタンスとして記述します。移行中は、Amazon EMR のセキュリティグループに関連する用語など、従来の古い用語への参照が残っている場合があります。

プライマリインスタンスと、クラスター内のコアインスタンスおよびタスクインスタンスには、異なるマネージドセキュリティグループが関連付けられています。サービスへのアクセスの追加マネージドセキュリティグループは、プライベートサブネットにクラスターを作成する場合に必要です。ネットワーク設定に関するマネージドセキュリティグループの役割の詳細については、「Amazon VPC オプション」を参照してください。

クラスターのマネージドセキュリティグループを指定する場合は、すべてのマネージドセキュリティグループに対して、デフォルトまたはカスタムの同じタイプのセキュリティグループを使用する必要があります。例えば、プライマリインスタンスにカスタムセキュリティグループを指定して、コアインスタンスとタスクインスタンスにカスタムセキュリティグループを指定しないということはできません。

デフォルトのマネージドセキュリティグループを使用する場合、クラスターの作成時にそれらを指定する必要はありません。Amazon EMR では、デフォルトが自動的に使用されます。さらに、クラスターの VPC にデフォルトがまだ存在しない場合、Amazon EMR によって作成されます。Amazon EMR は、明示的に指定した場合やまだ存在しない場合にもそれらを作成します。

クラスターの作成後にマネージドセキュリティグループでルールを編集できます。新しいクラスターを作成するときは、Amazon EMR によって指定したマネージドセキュリティグループのルールがチェックされ、以前追加された可能性があるルールに加えて、新しいクラスターに必要な不足しているインバウンドルールが作成されます。特に明記しない限り、デフォルトの Amazon EMR マネージドセキュリティグループ用の各ルールも、指定したカスタム Amazon EMR マネージドセキュリティグループに追加されます。

デフォルトのマネージドセキュリティグループは次のとおりです。

プライマリインスタンスの Amazon EMR マネージドセキュリティグループ (パブリックサブネット)

パブリックサブネット内のプライマリインスタンスのデフォルトのマネージドセキュリティグループのグループ名ElasticMapReduce-primary です。これには、以下のルールが含まれています。カスタムマネージドセキュリティグループを指定すると、Amazon EMR によってすべての同じルールがカスタムセキュリティグループに追加されます。

タイプ プロトコル ポート範囲 ソース 詳細
インバウンドルール
すべての ICMP-IPv4 すべて 該当なし プライマリインスタンスのマネージドセキュリティグループのグループ ID。言い換えると、ルールが表示される同じセキュリティグループです。

反射的なルールにより、指定されたセキュリティグループに関連付けられた任意のインスタンスからのインバウンドトラフィックが許可されます。複数のクラスターに対してデフォルトの ElasticMapReduce-primary を使用することにより、クラスターのコアノードとタスクノードは、どの ICMP、TCP、UDP ポートでも相互に通信できます。カスタムのマネージドセキュリティグループを指定して、クラスター間のアクセスを制限します。

すべての TCP TCP すべて
すべての UDP UDP すべて
すべての ICMP-IPV4 すべて 該当なし コアノードとタスクノードに指定されたマネージドセキュリティグループのグループ ID。

これらのルールでは、インスタンスが異なるクラスターにある場合でも、すべてのインバウンド ICMP トラフィックと、指定されたセキュリティグループに関連付けられたすべてのコアインスタンスとタスクインスタンスからの TCP、UDP ポート経由のトラフィックが許可されます。

すべての TCP TCP すべて
すべての UDP UDP すべて
Custom TCP 8443 さまざまな Amazon IP アドレス範囲 これらのルールにより、クラスターマネージャーはプライマリノードと通信できます。
古いコンソールで信頼できるソースにプライマリセキュリティグループへの SSH アクセス許可を付与するには

セキュリティグループを編集するには、クラスターが存在する VPC のセキュリティグループを管理する権限が必要です。詳細については、「IAM ユーザーガイド」の「IAM ユーザーのアクセス許可の変更」と、EC2 セキュリティグループを管理できるようにする「ポリシーの例」を参照してください。

  1. 新しい Amazon EMR コンソールに移動し、サイドナビゲーションから [古いコンソールに切り替え] を選択します。古いコンソールに切り替えたときの動作の詳細については、「Using the old console」を参照してください。

  2. [Clusters] を選択します。変更するクラスターの [Name] (名前) を選択します。

  3. [Security and access] (セキュリティとアクセス) の下の [Security groups for Master] (マスターのセキュリティグループ) リンクを選択します。

  4. リストから [ElasticMapReduce-master] を選択します。

  5. [Inbound rules] (インバウンドルール) タブを選択し、[Edit inbound rules] (インバウンドルールの編集) を選択します。

  6. 次の設定で、パブリックアクセスを許可するインバウンドルールを確認します。存在する場合は、[Delete] (削除) をクリックして削除します。

    • タイプ

      SSH

    • ポート

      22

    • ソース

      Custom 0.0.0.0/0

    警告

    2020 年 12 月以前は、ElasticMapReduce-master セキュリティグループには、ポート 22 ですべての送信元からのインバウンドトラフィックを許可するルールが事前に設定されていました。このルールは、プライマリノードへの最初の SSH 接続を簡素化するために作成されたものです。このインバウンドルールを削除して、信頼できる送信元のみにトラフィックを制限することを強くお勧めします。

  7. ルールのリストの下部までスクロールし、[Add Rule] (ルールの追加) を選択します。

  8. [Type (タイプ)] で、[SSH] を選択します。

    SSH を選択すると、[Protocol] (プロトコル) に [TCP] が、[Port Range] (ポート範囲) に [22] が自動的に入力されます。

  9. [source] (送信元) には、[My IP] (マイ IP) を選択して、IP アドレスを送信元アドレスとして自動的に追加します。[Custom] (カスタム) で信頼済みクライアントの IP アドレスの範囲を追加することも、他のクライアントに追加のルールを作成することもできます。多くのネットワーク環境では IP アドレスを動的に割り当てるため、将来的に信頼済みクライアントの IP アドレスを更新することが必要になる場合があります。

  10. [Save (保存)] を選択します。

  11. オプションで、[ElasticMapReduce-slave] をリストから選択し、上記の手順を繰り返して、コアノードとタスクノードへの SSH クライアントアクセスを許可します。

コアインスタンスとタスクインスタンスの Amazon EMR マネージドセキュリティグループ (パブリックサブネット)

パブリックサブネット内のコアインスタンスおよびタスクインスタンスのデフォルトのマネージドセキュリティグループのグループ名ElasticMapReduce-core です。デフォルトのマネージドセキュリティグループには次のルールがあり、カスタムマネージドセキュリティグループを指定すると、Amazon EMR により同じルールが追加されます。

タイプ プロトコル ポート範囲 ソース 詳細
インバウンドルール
すべての ICMP-IPV4 すべて 該当なし コアインスタンスとタスクインスタンスのマネージドセキュリティグループのグループ ID。言い換えると、ルールが表示される同じセキュリティグループです。

反射的なルールにより、指定されたセキュリティグループに関連付けられた任意のインスタンスからのインバウンドトラフィックが許可されます。複数のクラスターに対してデフォルトの ElasticMapReduce-core を使用することにより、クラスターのコアインスタンスとタスクインスタンスは、どの ICMP、TCP、UDP ポートでも相互に通信できます。カスタムのマネージドセキュリティグループを指定して、クラスター間のアクセスを制限します。

すべての TCP TCP すべて
すべての UDP UDP すべて
すべての ICMP-IPV4 すべて 該当なし プライマリインスタンスのマネージドセキュリティグループのグループ ID。

これらのルールでは、インスタンスが異なるクラスターにある場合でも、すべてのインバウンド ICMP トラフィックと、指定されたセキュリティグループに関連付けられたすべてのプライマリインスタンスからの TCP または UDP ポート経由のトラフィックが許可されます。

すべての TCP TCP すべて
すべての UDP UDP すべて

プライマリインスタンスの Amazon EMR マネージドセキュリティグループ (プライベートサブネット)

プライベートサブネット内のプライマリインスタンスのデフォルトのマネージドセキュリティグループのグループ名ElasticMapReduce-Primary-Private です。デフォルトのマネージドセキュリティグループには次のルールがあり、カスタムマネージドセキュリティグループを指定すると、Amazon EMR により同じルールが追加されます。

タイプ プロトコル ポート範囲 ソース 詳細
インバウンドルール
すべての ICMP-IPv4 すべて 該当なし プライマリインスタンスのマネージドセキュリティグループのグループ ID。言い換えると、ルールが表示される同じセキュリティグループです。

反射的なルールにより、指定されたセキュリティグループに関連付けられた任意のインスタンスからのインバウンドトラフィックが許可され、プライベートサブネット内からアクセス可能です。複数のクラスターに対してデフォルトの ElasticMapReduce-Primary-Private を使用することにより、クラスターのコアノードとタスクノードは、どの ICMP、TCP、UDP ポートでも相互に通信できます。カスタムのマネージドセキュリティグループを指定して、クラスター間のアクセスを制限します。

すべての TCP TCP すべて
すべての UDP UDP すべて
すべての ICMP-IPV4 すべて 該当なし コアノードとタスクノードのマネージドセキュリティグループのグループ ID。

これらのルールでは、インスタンスが異なるクラスターにある場合でも、すべてのインバウンド ICMP トラフィックと、指定されたセキュリティグループに関連付けられたすべてのコアインスタンスとタスクインスタンスからの TCP、UDP ポート経由のトラフィックが許可され、プライベートサブネット内からアクセス可能です。

すべての TCP TCP すべて
すべての UDP UDP すべて
HTTPS (8443) TCP 8443 プライベートサブネット内のサービスアクセスのマネージドセキュリティグループのグループ ID。 このルールにより、クラスターマネージャーはプライマリノードと通信できます。
アウトバウンドルール
すべてのトラフィック すべて すべて 0.0.0.0/0 インターネットへのアウトバウンドアクセスを提供する。
カスタム TCP TCP 9443 プライベートサブネット内のサービスアクセスのマネージドセキュリティグループのグループ ID。

上記の「すべてのトラフィック」のデフォルトのアウトバウンドルールを削除した場合、このルールが Amazon EMR 5.30.0 以降の最小要件になります。

注記

カスタムマネージドセキュリティグループを使用する場合、Amazon EMR はこのルールを追加しません。

カスタム TCP TCP 80 (http) または 443 (https) プライベートサブネット内のサービスアクセスのマネージドセキュリティグループのグループ ID。

上記の「すべてのトラフィック」のデフォルトのアウトバウンドルールを削除した場合、このルールが Amazon EMR 5.30.0 以降で HTTPS 経由で Amazon S3 に接続するための最小要件になります。

注記

カスタムマネージドセキュリティグループを使用する場合、Amazon EMR はこのルールを追加しません。

コアインスタンスとタスクインスタンスの Amazon EMR マネージドセキュリティグループ (プライベートサブネット)

プライベートサブネット内のコアインスタンスおよびタスクインスタンスのデフォルトのマネージドセキュリティグループのグループ名ElasticMapReduce-Core-Private です。デフォルトのマネージドセキュリティグループには次のルールがあり、カスタムマネージドセキュリティグループを指定すると、Amazon EMR により同じルールが追加されます。

タイプ プロトコル ポート範囲 ソース 詳細
インバウンドルール
すべての ICMP-IPV4 すべて 該当なし コアインスタンスとタスクインスタンスのマネージドセキュリティグループのグループ ID。言い換えると、ルールが表示される同じセキュリティグループです。

反射的なルールにより、指定されたセキュリティグループに関連付けられた任意のインスタンスからのインバウンドトラフィックが許可されます。複数のクラスターに対してデフォルトの ElasticMapReduce-core を使用することにより、クラスターのコアインスタンスとタスクインスタンスは、どの ICMP、TCP、UDP ポートでも相互に通信できます。カスタムのマネージドセキュリティグループを指定して、クラスター間のアクセスを制限します。

すべての TCP TCP すべて
すべての UDP UDP すべて
すべての ICMP-IPV4 すべて 該当なし プライマリインスタンスのマネージドセキュリティグループのグループ ID。

これらのルールでは、インスタンスが異なるクラスターにある場合でも、すべてのインバウンド ICMP トラフィックと、指定されたセキュリティグループに関連付けられたすべてのプライマリインスタンスからの TCP または UDP ポート経由のトラフィックが許可されます。

すべての TCP TCP すべて
すべての UDP UDP すべて
HTTPS (8443) TCP 8443 プライベートサブネット内のサービスアクセスのマネージドセキュリティグループのグループ ID。 このルールにより、クラスターマネージャはコアノードおよびタスクノードと通信できます。
アウトバウンドルール
すべてのトラフィック すべて すべて 0.0.0.0/0 以下の「アウトバウンドルールの編集」を参照してください。
カスタム TCP TCP 80 (http) または 443 (https) プライベートサブネット内のサービスアクセスのマネージドセキュリティグループのグループ ID。

上記の「すべてのトラフィック」のデフォルトのアウトバウンドルールを削除した場合、このルールが Amazon EMR 5.30.0 以降で HTTPS 経由で Amazon S3 に接続するための最小要件になります。

注記

カスタムマネージドセキュリティグループを使用する場合、Amazon EMR はこのルールを追加しません。

アウトバウンドルールの編集

デフォルトでは、Amazon EMR は、すべてのプロトコルとポートですべてのアウトバウンドトラフィックを許可するアウトバウンドルールを使用して、このセキュリティグループを作成します。Amazon EMR クラスターで実行できるさまざまな Amazon EMR およびカスタマーアプリケーションには、異なる送信ルールが必要になる場合があるため、すべてのアウトバウンドトラフィックの許可が選択されています。Amazon EMR は、デフォルトのセキュリティグループを作成するときに、これらの特定の設定を予測できません。セキュリティグループの送信の範囲を制限して、ユースケースとセキュリティポリシーに合ったルールだけを含めることができます。少なくとも、このセキュリティグループには次のアウトバウンドルールが必要ですが、一部のアプリケーションでは追加の送信ルールが必要になる場合があります。

タイプ プロトコル ポート範囲 送信先 詳細
すべての TCP TCP すべて pl-xxxxxxxx マネージド Amazon S3 プレフィクスリスト com.amazonaws.MyRegion.s3
すべてのトラフィック すべて すべて sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-Core-Private セキュリティグループの ID。
すべてのトラフィック すべて すべて sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-Primary-Private セキュリティグループの ID。
カスタム TCP TCP 9443 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-ServiceAccess セキュリティグループの ID。

サービスアクセスの Amazon EMR マネージドセキュリティグループ (プライベートサブネット)

プライベートサブネット内のサービスアクセスのデフォルトのマネージドセキュリティグループのグループ名ElasticMapReduce-ServiceAccess です。インバウンドルールと、プライベートサブネット内の他のマネージドセキュリティグループへの HTTPS (ポート 8443、ポート 9443) 経由のトラフィックを許可するアウトバウンドルールがあります。これらのルールにより、クラスターマネージャーはプライマリノードとも、コアノードおよびタスクノードとも通信できます。カスタムセキュリティグループを使用している場合は、同じルールが必要です。

タイプ プロトコル ポート範囲 ソース 詳細
インバウンドルール (Amazon EMR リリース 5.30.0 以降の Amazon EMR クラスターに必要)
カスタム TCP TCP 9443 プライマリインスタンスのマネージドセキュリティグループのグループ ID。

このルールにより、プライマリインスタンスのセキュリティグループとサービスアクセスセキュリティグループの間で通信が可能になります。

アウトバウンドルール (すべての Amazon EMR クラスターに必要)
カスタム TCP TCP 8443 プライマリインスタンスのマネージドセキュリティグループのグループ ID。

これらのルールにより、クラスターマネージャーはプライマリノードとも、コアノードおよびタスクノードとも通信できます。

カスタム TCP TCP 8443 コアインスタンスとタスクインスタンスのマネージドセキュリティグループのグループ ID。

これらのルールにより、クラスターマネージャーはプライマリノードとも、コアノードおよびタスクノードとも通信できます。