クラスターのスケーリングやノード障害時の IP アドレス変更によるサービス中断を防ぐため、E-MapReduce (EMR) では、ノードエンドポイントを介してサービスにアクセスできます。この方法を使用すると、同一の Virtual Private Cloud (VPC) 内、または異なる VPC からクラスターにアクセスできます。このトピックでは、EMR クラスターのノードエンドポイントアクセスを設定する方法について説明します。
前提条件
-
E-MapReduce クラスターを作成し、完全修飾ノードエンドポイント (例:
master-1-1.<Cluster-ID>.<Region-ID>.emr.aliyuncs.com) を取得済みであること。 -
Container Service for Kubernetes (ACK) クラスターや Elastic Compute Service (ECS) インスタンスなどのリクエスタをデプロイし、リクエスタにログインできること。
-
必要なトラフィックを許可するようにネットワークとセキュリティグループのルールを設定済みであること。ICMP プロトコルと、ポート 80 や 8088 などのターゲットサービスポート経由のトラフィックを許可することを推奨します。
シナリオ 1:同一 VPC からのアクセス
リクエスタと EMR クラスターが同一の VPC 内にある場合、Alibaba Cloud DNS の PrivateZone が自動的にノードエンドポイントの名前解決を行います。追加の設定は不要です。以下の手順に従って接続を検証します。
ステップ 1:マスターノードエンドポイントの取得
-
SSH 経由でクラスターに接続します。詳細については、「クラスターへのログオン」をご参照ください。
-
hostname -fコマンドを実行して、完全修飾ノードエンドポイントを取得します。[root@master-1-1(xxx) ~]# hostname -f master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com
ステップ 2:ノードエンドポイントアクセスの検証
-
リクエスタ (例:ECS インスタンス) にログインします。
-
ping master-1-1.<Cluster-ID>.<Region-ID>.emr.aliyuncs.comコマンドを実行して、ネットワーク接続を確認します。[root@xxx ~]# ping master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com PING master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com (xxx) 56(84) bytes of data. 64 bytes from master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com (xxx): icmp_seq=1 ttl=64 time=0.237 ms 64 bytes from master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com (xxx): icmp_seq=2 ttl=64 time=0.161 ms 64 bytes from master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com (xxx): icmp_seq=3 ttl=64 time=0.144 ms 64 bytes from master-1-1.xxx.cn-hangzhou.emr.aliyuncs.com (xxx): icmp_seq=4 ttl=64 time=0.173 msこのレスポンスは、ノードエンドポイントの名前解決が成功し、リクエスタの VPC と EMR クラスターの VPC 間のネットワーク接続が確立されていることを示します。
-
名前解決が失敗した場合は、セキュリティグループのルールで ICMP トラフィックまたはターゲットサービスポート経由のトラフィックが許可されているかを確認してください。
-
リクエスタの DNS 設定が変更されていないことを確認してください。デフォルトでは、Alibaba Cloud VPC が提供する DNS サービスを使用します。
シナリオ 2:異なる VPC からのアクセス
リクエスタと EMR クラスターが異なる VPC にある場合は、VPC ピアリング接続を確立し、Alibaba Cloud DNS の PrivateZone を使用して DNS 名前解決を設定する必要があります。以下のセクションでは、設定と検証の手順について説明します。
ステップ 1: VPC ピアリング接続を作成する
VPC ピアリング接続コンソール にログインします。トップナビゲーションバーで、リクエスト側 VPC が配置されているリージョン(この例では 中国(北京))を選択します。左側のナビゲーションウィンドウで、VPC ピアリング接続 をクリックします。
VPC ピアリング接続を初めて使用する場合は、CDT サービスの有効化 VPC ピアリング接続 ページでクリックし、ダイアログボックスで [OK] をクリックします。
説明アカウントを跨いでの VPC ピアリング接続を作成するには、受信側が Cloud Data Transfer(CDT)機能を有効にしていることを確認してください。
VPC ピアリング接続 ページに移動し、VPC ピアリング接続の作成 をクリックし、次のようにパラメーターを設定します。

[リージョン間] シナリオでは、ビジネスのレイテンシ要件に基づいて [リンクタイプ] を選択できます。
[ゴールド](デフォルト): レイテンシと接続品質の一般的な要件を満たします。
[プラチナ]: 証券取引やリアルタイムゲームなど、低レイテンシとより安定した接続が必要なシナリオに最適です。
説明4 つのタイプの VPC ピアリング接続を作成できます。[リージョン内同一アカウント]、[リージョン間同一アカウント]、[リージョン内クロスアカウント]、[リージョン間クロスアカウント] です。クロスアカウント
受信側アカウントが [同一アカウント] の場合、リクエスト側がリクエストを開始した後、システムは自動的に接続を確立します。受信側からの操作は必要ありません。
受信側アカウントが [クロスアカウント] の場合、VPC ピアリング接続を作成する前に、受信側はピアリングリクエストを受け入れる必要があります。受信側はリクエストを拒否し、VPC ピアリング接続プロセスを終了することができます。受信側が行う必要がある手順は次のとおりです。
受信側アカウントで VPC コンソール にログインします。左側のナビゲーションウィンドウで、VPC ピアリング接続 をクリックします。
VPC ピアリング接続 ページで、ターゲット VPC ピアリング接続を見つけます。現在、接続のステータスは [承認待ち] です。
リクエストを受け入れるかどうかを決定します。[承認]: ステータスが [承認待ち] から [更新中] に変わります。
ステータスが [有効] に変わると、接続が使用できる状態になったことを示します。
[拒否]: ステータスが [承認待ち] から [拒否済み] に変わります。
[拒否済み] の VPC ピアリング接続は使用できません。リクエスト側または受信側のどちらからでも [削除] できます。
受信側がクロスアカウント VPC ピアリング接続リクエストに対して何も操作を行わない場合、接続ステータスは 7 日後に [期限切れ] に変わります。
ステップ 2: ルートを構成する
VPC ピアリング接続が作成され、[有効] になったら、接続を有効にするために、両端でピア VPC を指すルートエントリを追加する必要があります。
VPC ピアリング接続 ページで VPC ピアリング接続を見つけ、[ルートの構成] [リクエスト側 VPC] または [受信側 VPC] 列のいずれかでクリックします。

リクエスト側と受信側の両方の VPC に対して IPv4 または IPv6 ルートエントリを構成します。以下は、IPv4 ルートエントリを構成する例です。

クロスアカウントピアリング接続の場合は、受信側アカウントで VPC コンソール にログインします。 リクエスト側 VPC の IPv4 または IPv6 CIDR ブロックを入力して、受信側 VPC のルートを追加します。
ステップ 3:EMR PrivateZone と VPC の関連付け
現在、EMR はセルフサービスでの関連付けをサポートしていません。リクエスタの VPC を EMR クラスターの PrivateZone に関連付けるには、EMR 製品サポートにチケットを起票してください。関連付けが完了すると、EMR クラスターの PrivateZone の DNS 名前解決機能がリクエスタ VPC に拡張されます。
ステップ 4:ノードエンドポイントアクセスの検証
-
リクエスタ (例:ECS インスタンス) にログインします。
-
ping master-1-1.<Cluster-ID>.<Region-ID>.emr.aliyuncs.comコマンドを実行して、ネットワーク接続を確認します。このレスポンスは、ノードエンドポイントの名前解決が成功し、リクエスタの VPC と EMR クラスターの VPC 間のネットワーク接続が確立されていることを示します。
-
名前解決が失敗した場合は、セキュリティグループのルールで ICMP トラフィックまたはターゲットサービスポート経由のトラフィックが許可されているかを確認してください。
-
リクエスタの DNS 設定が変更されていないことを確認してください。デフォルトでは、Alibaba Cloud VPC が提供する DNS サービスを使用します。
よくある質問
ノードエンドポイントの名前解決の失敗
-
リクエスタがデフォルトの Alibaba Cloud DNS サーバーを使用していることを確認します。アドレスは
100.100.2.136と100.100.2.138です。そうでない場合は、/etc/resolv.confファイルを修正します。[root@master-1-1(xxx) ~]# cat /etc/resolv.conf # NetworkManager によって生成されました nameserver 100.100.2.136 nameserver 100.100.2.138 -
Alibaba Cloud DNS PrivateZone コンソールにログインし、EMR クラスターの PrivateZone がリクエスタ VPC に正しく関連付けられていることを確認します。そうでない場合は、「シナリオ 2:異なる VPC からのアクセス」をご参照ください。
ネットワーク到達不能
traceroute または telnet を使用してネットワーク接続を確認します。セキュリティグループのルールがターゲットポートへのトラフィックを許可していることを確認します。セキュリティグループの設定の詳細については、「セキュリティグループの管理」をご参照ください。