オートスケーリング活動またはノード障害が原因で IP アドレスが変更された場合、特定の IP アドレスを使用して E-MapReduce(EMR)クラスタにアクセスすることはできません。これは業務継続性に影響を与える可能性があります。この場合、E-MapReduce(EMR)クラスタのノードエンドポイントを使用して、EMR クラスタと同じ仮想プライベートクラウド(VPC)または異なる VPC に存在する他のサービスから EMR クラスタにアクセスできます。このトピックでは、EMR クラスタのノードエンドポイントを使用して、サービスから EMR クラスタにアクセスする方法について説明します。
前提条件
EMR クラスタが作成され、ノードのエンドポイントが取得されています。エンドポイントの例:master-1-1.<Cluster-ID>.<Region-ID>.emr.aliyuncs.com)。
EMR クラスタにアクセスするサービスがデプロイされ、ログインできる状態になっています。たとえば、Container Service for Kubernetes(ACK)クラスタまたは Elastic Compute Service(ECS)インスタンスが作成され、ログインできる状態になっています。
ネットワークとセキュリティグループルールが、関連トラフィックの通過を許可するように構成されています。ICMP プロトコルと、80 や 8088 などの宛先サービスポートを構成することをお勧めします。
シナリオ 1:サービスと対象のクラスタが同じ VPC に存在する
EMR クラスタにアクセスするサービスと EMR クラスタが同じ VPC に存在する場合、追加の構成なしで、DNS PrivateZone に基づいてクラスタのノードエンドポイントが自動的に解決されます。 DNS PrivateZone の詳細については、「Alibaba Cloud DNS PrivateZone とは」をご参照ください。以下の手順を実行して、EMR クラスタのノードエンドポイントを使用して、サービスから EMR クラスタにアクセスできます。
手順 1:マスターノードのエンドポイントを取得する
SSH モードで EMR クラスタのマスターノードにログインします。詳細については、「クラスタにログインする」をご参照ください。
hostname -f
コマンドを実行して、マスターノードのエンドポイントを取得します。
手順 2:ノードエンドポイントを使用して EMR クラスタにアクセスする
EMR クラスタにアクセスするサービスにログインします。この例では、対象の ECS インスタンスにログインする必要があります。
ping master-1-1.<Cluster-ID>.<Region-ID>.emr.aliyuncs.com
コマンドを実行して、EMR クラスタにアクセスします。上記の図の情報が返された場合、ノードエンドポイントは正常に解決され、ECS インスタンスの VPC と EMR クラスタの VPC は接続されています。
ノードエンドポイントが解決できない場合は、セキュリティグループルールで ICMP トラフィックが許可されているかどうか、または対象のサービスポートが有効になっているかどうかを確認してください。
EMR クラスタにアクセスするサービスの DNS 構成が変更されていないことを確認してください。デフォルトでは、Alibaba Cloud VPC によって提供される DNS サービスが使用されます。
シナリオ 2:サービスと対象のクラスタが異なる VPC に存在する
EMR クラスタにアクセスするサービスと EMR クラスタが異なる VPC に存在する場合は、VPC を接続し、プライベートゾーンを構成する必要があります。 DNS PrivateZone の詳細については、「Alibaba Cloud DNS PrivateZone とは」をご参照ください。以下の手順を実行して、EMR クラスタのノードエンドポイントを使用して、サービスから EMR クラスタにアクセスできます。
手順 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:サービスの VPC を、クラスタ VPC が属するプライベートゾーンに関連付ける
EMR では、サービスの VPC を、クラスタ VPC が属するプライベートゾーンに関連付けることはできません。サービスの VPC を、クラスタ VPC が属するプライベートゾーンに関連付けるには、公式サイトでチケットを送信して EMR プロダクトのアフターセールスチームに連絡する必要があります。関連付け後、EMR クラスタの解決機能はサービスの VPC に付与されます。
手順 4:ノードエンドポイントを使用して EMR クラスタにアクセスする
EMR クラスタにアクセスするサービスにログインします。この例では、対象の ECS インスタンスにログインする必要があります。
ping master-1-1.<Cluster-ID>.<Region-ID>.emr.aliyuncs.com
コマンドを実行して、EMR クラスタにアクセスします。
上記の図の情報が返された場合、ノードエンドポイントは正常に解決され、ECS インスタンスの VPC と EMR クラスタの VPC は接続されています。
ノードエンドポイントが解決できない場合は、セキュリティグループルールで ICMP トラフィックが許可されているかどうか、または対象のサービスポートが有効になっているかどうかを確認してください。
EMR クラスタにアクセスするサービスの DNS 構成が変更されていないことを確認してください。デフォルトでは、Alibaba Cloud VPC によって提供される DNS サービスが使用されます。
よくある質問
ノードエンドポイントを解決できない場合はどうすればよいですか?
Alibaba Cloud DNS サーバーの IP アドレスが使用されているかどうかを確認します。Alibaba Cloud DNS サーバーのデフォルトの IP アドレスは 100.100.2.136 と 100.100.2.138 です。Alibaba Cloud DNS サーバーのデフォルトの IP アドレスが使用されていない場合は、
/etc/resolv.conf
ファイルを変更します。Alibaba Cloud DNS PrivateZone コンソール にログインし、EMR クラスタのプライベートゾーンが、EMR クラスタにアクセスするサービスの VPC に関連付けられているかどうかを確認します。EMR クラスタのプライベートゾーンがサービスの VPC に関連付けられていない場合は、「シナリオ 2:サービスと対象のクラスタが異なる VPC に存在する」の操作を参照してエラーを修正します。
ネットワークが接続されていない場合はどうすればよいですか?
tracert または telnet を使用してネットワーク接続をテストし、セキュリティグループルールが、対象のサービスポートを介したトラフィックを許可するように構成されているかどうかを確認します。セキュリティグループの詳細については、「セキュリティグループを管理する」をご参照ください。