プライベートIPアドレスを使用したクラスタ・ノードへの接続

デフォルトでは、クラスタ・ノードにはプライベートIPアドレスが割り当てられるため、インターネットに公開されていません。次のトピックで説明されているいずれかの方法で、これらを使用可能にすることができます:

パブリックIPアドレスへのプライベートIPアドレスのマップ

ビッグ・データ・サービス・ノードには、デフォルトでプライベートIPアドレスが割り当てられており、パブリック・インターネットからはアクセスできません。インターネットからノードにアクセスできるようにする方法の1つは、ノードのプライベートIPアドレスをパブリックIPアドレスにマップすることです。

次の手順では、Oracle Cloud Infrastructureクラウド・シェルを使用します。これは、Oracle CloudコンソールからアクセスできるWebブラウザベースの端末です。ネットワークおよびクラスタ・ノードに関する情報を収集し、その情報をシェル内でコマンドに渡します。このタスクを実行するには、テナンシのVCN内でクラスタが実行されており、そのクラスタにリージョナルのパブリック・サブネットが含まれている必要があります。

クラスタ情報を表示するには、クラスタの詳細の取得を参照してください。

プライベートIPアドレスとパブリックIPアドレスのマッピングに必要なIAM権限

プライベートIPアドレスをパブリックIPアドレスにマップするには、適切なOracle Infrastructure Identity and Access Management (IAM権限)が必要です。

テナンシ管理者または適切な権限を持つ委任管理者は、次のガイドラインに従ってポリシーを作成する必要があります。

グループ

このポリシーは、任意のビッグ・データ・サービス・グループに権限を割り当てて、そのグループのメンバーにIPアドレスをマップする権限を付与できます。

権限

このポリシーには、次のIAM権限を持つポリシー・ステートメントを含める必要があります:
  • vnic_read
  • private_ip_read
  • public_ip_read
  • public_ip_delete
  • public_ip_create
  • public_ip_update
  • private_ip_assign_public_ip
  • private_ip_unassign_public_ip
  • public_ip_assign_private_ip
  • public_ip_unassign_private_ip

リソース

このポリシーでは、IPアドレスに使用されるサブネットを含むコンパートメントのtenancyまたは<compartment_name>を指定する必要があります。

allow group bds_net_admins to vnic_read in tenancy
allow group bds_net_admins to private_ip_read in tenancy
allow group bds_net_admins to public_ip_read in tenancy
allow group bds_net_admins to public_ip_delete in tenancy
allow group bds_net_admins to public_ip_create in tenancy 
allow group bds_net_admins to public_ip_update in tenancy 
allow group bds_net_admins to private_ip_assign_public_ip in tenancy 
allow group bds_net_admins to private_ip_unassign_public_ip in tenancy 
allow group bds_net_admins to public_ip_assign_private_ip in tenancy
allow group bds_net_admins to public_ip_unassign_private_ip in tenancy

パブリックIPアドレスへのプライベートIPアドレスのマッピング

  1. クラウド・コンソールで、ページ上部のCloud Shell「クラウド・シェル」アイコンをクリックします。接続および認証にしばらくかかる場合があります。
    1. export DISPLAY_NAME=<display-name>

      export SUBNET_OCID=<subnet-ocid>

      export PRIVATE_IP=<ip-address>

      oci network public-ip create --display-name $DISPLAY_NAME --compartment-id `oci network private-ip list --subnet-id $SUBNET_OCID --ip-address $PRIVATE_IP | jq -r '.data[] | ."compartment-id"'` --lifetime "RESERVED" --private-ip-id `oci network private-ip list --subnet-id $SUBNET_OCID --ip-address $PRIVATE_IP | jq -r '.data[] | ."id"'`

      exportステートメントは、続くoci networkコマンドで使用される変数を設定します。変数は次のとおりです:::

      • <display-name> (オプション)は、予約済パブリックIPアドレスにアタッチされるわかりやすい名前です。この名前は最初から存在しているわけではありません。このコマンドの実行時に作成されます。

        便宜上、マッピングしようとするプライベートIPアドレスが属するノードの名前(たとえば、myclusterという名前のクラスタ内の最初のユーティリティ・ノードの名前であるmyclusun0)を使用できます。

      • <subnet-ocid>は、クラスタで使用される顧客パブリック・サブネットのOCIDです(たとえば、ocid1.subnet.oc1.iad...)。

      • <ip-address>は、マップするノードに割り当てられたプライベートIPアドレスです(たとえば、192.0.2.1)。

      oci network public-ip create --compartment-id...で始まるコマンドを、前述のとおりに改行なしで入力します。

      :

      $ export DISPLAY_NAME="myclustun0"
      $ export SUBNET_OCID="ocid1.subnet.oc1.…"
      $ export PRIVATE_IP="192.0.2.1"
      $ oci network public-ip create --display-name $DISPLAY_NAME --
      compartment-id `oci network private-ip list --subnet-id $SUBNET_OCID --ip-
      address $PRIVATE_IP | jq -r '.data[] | ."compartment-id"'` --lifetime 
      "RESERVED" - private-ip-id `oci network private-ip list --subnet-id 
      $SUBNET_OCID --ip-address $PRIVATE_IP | jq -r '.data[] | ."id"'`
      戻される出力は次のとおりです:
      { "data": {
          "assigned-entity-id": "ocid1.privateip.oc1...",
          "assigned-entity-type": "PRIVATE_IP",
          "availability-domain": null,
          "compartment-id": "ocid1.compartment.oc1...",
          "defined-tags": {},
          "display-name": "publicip...",
          "freeform-tags": {},
          "id": "ocid1.publicip.oc1....",
          "ip-address": "203.0.113.1",
          "lifecycle-state": "ASSIGNED",
          "lifetime": "RESERVED",
          "private-ip-id": "ocid1.privateip....",
          "scope": "REGION",
          "time-created": "2020-04-13..."
         },
         "etag": "1234abcd" 
      }
  2. 戻された出力で、ip-addressの値を見つけます。前述の例では、203.0.113.1です。これは、ノードのプライベートIPアドレスにマップされる新しい予約済パブリックIPアドレスです。

    次に、

  3. 予約済パブリックIPアドレスをコンソールで確認するには、ナビゲーション・メニューナビゲーション・メニューをクリックします。
  4. 「ネットワーキング」で、「仮想クラウド・ネットワーク」をクリックします。
  5. 左側のナビゲーション・リストで、「ネットワーキング」の下の「IP管理」をクリックします。
    新しい予約済パブリックIPアドレスが「予約済パブリックIPアドレス」リストに表示されます。上で実行したコマンドで表示名を指定した場合は、その名前が「名前」列に表示されます。そうでない場合は、publicipnnnnnnnnnのような名前が生成されます。

パブリックIPアドレスの削除

  1. クラウド・コンソールで、ページ上部のCloud Shell「クラウド・シェル」アイコンをクリックします。接続および認証にしばらくかかる場合があります。
  2. oci network public-ip delete --public-ip-id ocid1.publicip.oc1....を実行します

    前述のように、前のコマンドによって返された出力に--public-ip-idの値が表示されます: "id": "ocid1.publicip.oc1....",

  3. (オプション)または、クラウド・コンソールのネットワーキングの「予約済パブリックIPアドレス」ページに移動して、そこで予約済パブリックIPを削除することもできます。

サービスを使用可能にするためにポートを開く

Apache AmbariまたはCloudera Managerなどのサービスをインターネットから使用できるようにするには、ノードを公開するだけでは不十分です。セキュリティ・リストにイングレス・ルールを追加することにより、サービス用のポートを開く必要もあります。セキュリティ・ルールの定義を参照してください。

要塞ホストを使用したビッグ・データ・サービスへの接続

要塞ホストを使用して、パブリック・インターネットからクラスタのプライベート・ネットワークへのアクセスを提供できます。

要塞ホストは、インターネットなどの外部ネットワークからプライベート・ネットワークにアクセスするためのパブリック・エントリ・ポイントとして機能するコンピュート・インスタンスです。プライベート・ネットワークにアクセスするためには、トラフィックが要塞ホストを通過する必要があり、そのトラフィックを処理するためのセキュリティ・メカニズムを要塞上に設定できます。詳細は、要塞を参照してください。

Oracle Cloud Infrastructure site-to-site VPNを使用したBig Data Serviceへの接続

Site-to-Site VPNは、オンプレミス・ネットワークと仮想クラウド・ネットワーク(VCN)の間にサイトツーサイトIPSec VPNを提供します。IPSecプロトコル・スイートは、パケットがソースから宛先に転送される前にIPトラフィックを暗号化し、到着時にトラフィックを復号化します。

VPNを使用したビッグ・データ・サービスへの接続の詳細は、サイト間VPNを参照してください。

Oracle Cloud Infrastructure FastConnectを使用したビッグ・データ・サービスへの接続

FastConnectを使用して、インターネットを使用せずにOracle Cloud Infrastructureのパブリック・サービスにアクセスします(たとえば、オブジェクト・ストレージやOracle CloudコンソールおよびAPIへのアクセス)。FastConnectを使用しない場合、パブリックIPアドレスを宛先とするトラフィックはインターネット上でルーティングされます。FastConnectを使用した場合、そのトラフィックはプライベートな物理接続を経由します。

Oracle Cloud Infrastructure FastConnectを使用したビッグ・データ・サービスへの接続の詳細は、FastConnectの概要を参照してください。