Amazon EMR のパブリックアクセスブロックの使用
Amazon EMR のブロックパブリックアクセス (BPA) は、クラスターのセキュリティ設定でポートのパブリック IP アドレスからのインバウンドトラフィックが許可されている場合に、ユーザーがパブリックサブネットでクラスターを起動するのを防止します。
重要
ブロックパブリックアクセスはデフォルトで有効になっています。アカウントの保護を強化するには、これを有効のままにしておくことが推奨されます。
ブロックパブリックアクセスについて
ブロックパブリックアクセスのアカウントレベル設定を使用して、Amazon EMR クラスターへのパブリックネットワークアクセスを一元管理することができます。
AWS アカウントのユーザーがクラスターを起動すると、Amazon EMR はクラスターのセキュリティグループのポートルールをチェックし、インバウンドトラフィックルールと比較します。セキュリティグループに、パブリック IP アドレス IPv4 0.0.0.0/0 または IPv6 ::/0 に対してポートを開くインバウンドルールがあり、それらのポートがアカウントで適切に指定されていない場合、Amazon EMR はユーザーにクラスターの作成を許可しません。
ユーザーがパブリックサブネットで実行中のクラスターのセキュリティグループルールを変更して、アカウントの BPA 設定に違反するパブリックアクセスルールを設定した場合、Amazon EMR は新しいルールを取り消します (それを行うアクセス許可がある場合)。Amazon EMR にルールを取り消すアクセス許可がない場合は、AWS Health ダッシュボードで違反を説明するイベントを作成します。Amazon EMR にルール取り消しのアクセス許可を付与するには、「セキュリティグループのルールを取り消すために Amazon EMR を設定する」を参照してください。
ご使用の AWS アカウントのすべての AWS リージョンにあるすべてのクラスターに対して、ブロックパブリックアクセスはデフォルトで有効になっています。BPA はクラスターのライフサイクル全体に適用されますが、プライベートサブネットで作成したクラスターには適用されません。BPA ルールには例外を設定できます。ポート 22 はデフォルトでは例外です。例外の設定の詳細については、「パブリックアクセスブロックの設定」を参照してください。
パブリックアクセスブロックの設定
アカウントのセキュリティグループとパブリックアクセスブロック設定は、いつでも更新できます。
ブロックパブリックアクセス (BPA) 設定の有効/無効は、AWS Management Console、AWS Command Line Interface (AWS CLI)、および Amazon EMR API を使用して切り替えることができます。設定はリージョンごとにアカウント全体に適用されます。クラスターセキュリティを維持するために、BPA を使用することが推奨されます。
セキュリティグループのルールを取り消すために Amazon EMR を設定する
Amazon EMR には、セキュリティグループのルールを取り消し、ブロックパブリックアクセス設定に準拠するためのアクセス許可が必要です。Amazon EMR に必要なアクセス許可を付与するには、次のいずれかの方法を使用できます。
-
(推奨)
AmazonEMRServicePolicy_v2
管理ポリシーをサービスロールにアタッチします。詳細については、「Amazon EMR のサービスロール (EMR ロール)」を参照してください。 -
セキュリティグループに対する
ec2:RevokeSecurityGroupIngress
アクションを許可する新しいインラインポリシーを作成します。ロールアクセス許可ポリシーの変更方法の詳細については、「IAM ユーザーガイド」の IAM コンソール、AWS API、および AWS CLI を使用したロールアクセス許可ポリシーの変更を参照してください。
ブロックパブリックアクセス違反の解決
ブロックパブリックアクセス違反が発生した場合は、以下のいずれかのアクションを使用して軽減することができます。
-
クラスター上のウェブインターフェイスにアクセスする場合は、「Amazon EMR クラスターでホストされているウェブインターフェイスを表示する」で説明されているオプションのいずれかを使用して SSH (ポート 22) 経由でインターフェイスにアクセスします。
-
パブリック IP アドレスからではなく、特定の IP アドレスからクラスターへのトラフィックを許可するには、セキュリティグループルールを追加します。詳細については、「Amazon EC2 入門ガイド」の「セキュリティグループへのルールの追加」を参照してください。
-
(非推奨) Amazon EMR BPA 例外を設定して、目的のポートまたはポート範囲を含めることができます。BPA 例外を指定すると、保護されていないポートにリスクが生じます。例外を指定する予定がある場合は、不要になった例外は即時に削除してください。詳細については、「パブリックアクセスブロックの設定」を参照してください。
セキュリティグループのルールに関連付けられたクラスターを特定する
特定のセキュリティグループルールに関連付けられているすべてのクラスターを特定したり、特定のクラスターのセキュリティグループルールを確認したりする必要がある場合があります。
-
セキュリティグループがわかっている場合は、そのセキュリティグループのネットワークインターフェイスを見つければ、関連付けられているクラスターを特定できます。詳細については、「AWS re:Post」で「How can I find the resources associated with an Amazon EC2 security group?
」を参照してください。これらのネットワークインターフェイスにアタッチされている Amazon EC2 インスタンスには、そのインスタンスが属するクラスターの ID がタグ付けされます。 -
既知のクラスターのセキュリティグループを確認するには、「Amazon EMR クラスターステータスと詳細の表示」のステップを実行します。クラスターのセキュリティグループは、コンソールの [ネットワークとセキュリティ] パネル、または AWS CLI の
Ec2InstanceAttributes
フィールドで確認できます。