Oracle Cloud Infrastructureドキュメント

SSHを使用したワーカー・ノードへの接続

クラスタ内にノード・プールを作成するときにパブリックSSHキーを指定した場合、パブリック・キーはクラスタ内のすべてのワーカー・ノードにインストールされます。 UNIXおよびUNIXライクなプラットフォーム(SolarisおよびLinuxを含む)では、sshユーティリティ(SSHクライアント)を使用してSSHを介してワーカー・ノードに接続し、管理タスクを実行できます。

次の手順では、ワーカー・ノードへの接続に使用するUNIXマシンを想定しています:

  • sshユーティリティがインストールされているか。
  • クラスタの作成時に指定されたSSH公開キーとペアになっているSSH秘密キー・ファイルにアクセスできます。

SSHを使用したワーカー・ノードへの接続方法は、クラスタ内のノード・プールを定義するときにワーカー・ノードにパブリック・サブネットまたはプライベート・サブネットのどちらを指定したかによって異なります。

SSHを使用したパブリック・サブネットのワーカー・ノードへの接続

SSHを使用してパブリック・サブネット内のワーカー・ノードに接続する前に、SSHアクセスを許可するサブネット・セキュリティ・リストにイングレス・ルールを定義する必要があります。 イングレス・ルールでは、次のように、ソース0.0.0.0/0および任意のソース・ポートからのワーカー・ノード上のポート22へのアクセスを許可する必要があります:

タイプ ソースCIDR IPプロトコル ソース・ポート範囲 Dest. ポート範囲 タイプとコード 許可: および説明:
ステートフル 0.0.0.0/0 TCP すべて 22 該当なし

以下が可能です: ポートのTCPトラフィック : 22 SSHリモート・ログイン・プロトコル

説明: SSHアクセスを有効にします。

SSHユーティリティを使用して、UNIXマシンからSSHを介してパブリック・サブネット内のワーカー・ノードに接続するには:

  1. 接続するワーカー・ノードのIPアドレスを検索します。 アドレス定義には、次のように、いくつかの方法があります。

    • kubectlを使用します。 まだ行っていない場合は、cluster kubeconfig構成ファイルをダウンロードし、そのファイルを指すようにKUBECONFIG環境変数を設定します。 「クラスタ・アクセスを有効にするためのkubeconfigファイルのダウンロード」を参照してください。 次に、ターミナル・ウィンドウで、kubectl get nodesと入力して、クラスタ内のノード・プール内のワーカー・ノードのパブリックIPアドレスを確認します。
    • コンソールを使用します。 コンソールで、「クラスタ・リスト」ページを表示し、ワーカー・ノードが属するクラスタを選択します。 「ノード・プール」をクリックすると、クラスタ内のすべてのノード・プールにあるワーカー・ノードのパブリックIPアドレスが表示されます。
    • REST APIの使用。 ListNodePools操作を使用して、ノード・プール内のワーカー・ノードのパブリックIPアドレスを確認します。
  2. 端末ウィンドウで、ssh opc@<node_ip_address>と入力してワーカー・ノードに接続します.<node_ip_address>は、先にノートしたワーカー・ノードのIPアドレスです。 たとえば、ssh opc@192.0.2.254と入力します。

    SSH秘密キーがファイルまたはsshユーティリティが期待するパスに格納されていない場合(たとえば、sshユーティリティで秘密キーが~/.ssh/id_rsa)に格納されると予想される場合は、秘密キーのファイル名とロケーションを明示的に指定する必要があります次の2つの方法のいずれかで:

    • -iオプションを使用して、秘密キーのファイル名とロケーションを指定します。 たとえば、ssh -i ~/.ssh/my_keys/my_host_key_filename opc@192.0.2.254
    • 秘密キーのファイル名とロケーションをSSH構成ファイル、クライアント構成ファイル(~/.ssh/config) (存在する場合)、またはシステム全体のクライアント構成ファイル(/etc/ssh/ssh_config)に追加します。 たとえば、次のように追加することができます:

      Host 192.0.2.254 IdentityFile ~/.ssh/my_keys/my_host_key_filename

    sshユーティリティの構成ファイルの詳細については、man ssh_configと入力してください。

    秘密キー・ファイルのアクセス許可では、read/write/executeアクセスを許可する必要がありますが、他のユーザーがファイルにアクセスできないようにする必要があります。 たとえば、適切な権限を設定するには、chmod 600 ~/.ssh/my_keys/my_host_key_filenameと入力します。 権限が正しく設定されておらず、秘密キー・ファイルが他のユーザーからアクセス可能な場合、sshユーティリティは秘密キー・ファイルを単に無視します。

SSHを使用したプライベート・サブネットのワーカー・ノードへの接続

プライベート・サブネット内のワーカー・ノードには、プライベートIPアドレスのみがあります(パブリックIPアドレスはありません)。 これにアクセスできるのは、VCN内の他のリソースのみです。 Oracleでは、ベース・ホストを使用して外部アクセス(SSHなど)をプライベート・サブネット内のワーカー・ノードに制御することをお薦めします。 ベース・ホストはパブリック・サブネットに含まれ、パブリックIPアドレスを持ち、インターネットからアクセスできます。 基準ホストの詳細は、ホワイトペーパーの「Bastionホスト: 仮想クラウド・ネットワークの保護されたアクセス」を参照してください。