Amazon EMR
管理ガイド

セキュリティグループを使用してネットワークトラフィックを制御する

セキュリティグループは、クラスター内の EC2 インスタンスの仮想ファイアウォールとして機能し、インバウンドトラフィックとアウトバウンドトラフィックをコントロールします。各セキュリティグループには、インバウンドトラフィックをコントロールする一連のルールと、アウトバウンドトラフィックをコントロールする別個の一連のルールがあります。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「Linux インスタンスの Amazon EC2 セキュリティグループ」を参照してください。

Amazon EMR では 2 つのクラスのセキュリティグループ (Amazon EMR マネージドセキュリティグループ追加のセキュリティグループ) を使用します。

すべてのクラスターにはマネージドセキュリティグループが関連付けられています。デフォルトのマネージドセキュリティグループを使用するか、カスタムのマネージドセキュリティグループを指定できます。どちらの場合でも、クラスターがクラスターインスタンスと AWS サービス間で通信するために必要なルールが Amazon EMR によってマネージドセキュリティグループに自動的に追加されます。

追加セキュリティグループはオプションです。マネージドセキュリティグループに加えて、それらを指定して、クラスターインスタンスへのアクセスを調整できます。追加セキュリティグループには、定義したルールのみが含まれます。Amazon EMR は変更しません。

Amazon EMR がマネージドセキュリティグループで作成するルールでは、クラスターは内部コンポーネント間で通信できます。ユーザーおよびアプリケーションがクラスター外からクラスターにアクセスできるようにするには、マネージドセキュリティグループでルールを編集するか、追加のルールを持つ追加のセキュリティグループを作成するか、または両方を実行できます。

重要

マネージドセキュリティグループでルールを編集すると、意図しない結果になることがあります。クラスターが正しく動作するために必要なトラフィックを意図せずにブロックする可能性があり、ノードに到達できないためエラーが発生します。実装の前にセキュリティグループ設定を注意深く計画してテストしてください。

警告

パブリックサブネット内のマスターインスタンス用のデフォルトの EMR マネージドセキュリティグループである ElasticMapReduce-master は、すべてのソース (IPv4 0.0.0.0/0) からポート 22 へのインバウンドトラフィックを許可するルールを使用して事前設定されています。これは、マスターノードへの最初の SSH クライアント接続を簡素化するためです。このインバウンドルールを編集して、信頼できるソースからのみにトラフィックを制限するか、アクセスを制限するカスタムセキュリティグループを指定することを強くお勧めします。詳細については、「Amazon EMR マネージドセキュリティグループの使用」を参照してください。

クラスターを作成するときは、セキュリティグループのみを指定できます。クラスターの実行中は、クラスターまたはクラスターインスタンスに追加できませんが、既存のセキュリティグループからルールを編集、追加および削除できます。ルールを保存するとすぐに有効になります。

デフォルトでは、セキュリティグループは制限されています。トラフィックを許可するルールが追加されていない限り、トラフィックは拒否されます。同じトラフィックと同じソースに適用されるルールが複数ある場合、最も許容度の大きいルールが適用されます。たとえば、IP アドレス 192.0.2.12/32 からの SSH を許可するルールと、IP アドレス範囲 192.0.2.0/24 からのすべての TCP トラフィックへのアクセスを許可する別のルールがある場合、192.0.2.12 を含む範囲からのすべての TCP トラフィックを許可するルールが優先されます。この場合、192.0.2.12 のクライアントには、意図した以上のアクセスがある場合があります。

セキュリティグループのルールを編集するときには注意が必要です。必要なプロトコルとポートには、必ず信頼済みクライアントからのトラフィックのみを許可するルールを追加してください。パブリックアクセス、つまり IPv4 0.0.0.0/0 または IPv6 ::/0 として指定されたソースからのトラフィックを許可するインバウンドルールはお勧めしません。ルールの例外のリストに追加していない任意のポートでパブリックアクセスを許可する場合は、使用する各リージョンでクラスターの作成を禁止するように、Amazon EMR のパブリックアクセスブロックを設定できます。SSH のポート 22 は、デフォルトで例外のリストにあります。2019 年 7 月以降に作成された AWS アカウントの場合、Amazon EMR のパブリックアクセスブロックはデフォルトでオンになっています。2019 年 7 月より前に作成された AWS アカウントの場合、Amazon EMR のパブリックアクセスブロックはデフォルトでオフになっています。詳細については、「Amazon EMR のパブリックアクセスブロックの使用」を参照してください。