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

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

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

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

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

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

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 のクライアントには、意図した以上のアクセスがある場合があります。

重要

セキュリティグループのルールを編集してポートを開くときには注意が必要です。ワークロードの実行に必要なプロトコルとポートには、必ず信頼できる認証済みのクライアントからのトラフィックのみを許可するルールを追加してください。

例外のリストに追加していない任意のポートでのパブリックアクセスをルールで許可する場合は、クラスターの作成を防止するために使用する Amazon EMR のブロックパブリックアクセスを各リージョンで設定できます。2019 年 7 月以降に作成された AWS アカウントの場合、Amazon EMR のパブリックアクセスブロックはデフォルトでオンになっています。2019 年 7 月より前に作成された AWS アカウントの場合、Amazon EMR のパブリックアクセスブロックはデフォルトでオフになっています。詳細については、「Amazon EMR のパブリックアクセスブロックの使用」を参照してください。

注記

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

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