mNi
Console

チュートリアル

VPN経由でVMへSSH接続する

手元の端末をmNi VPNへ接続し、VPC内のVMへプライベートIPアドレスでSSH接続します。

このチュートリアルでは、パブリックIPアドレスを持たないVMへ、mNi VPNを経由してSSH接続します。VPN ConnectorからVPNの制御サーバーへ接続するため、NAT Gatewayを使用して外向きのインターネット接続を構成します。

手元の端末 ── mNi VPN ── VPC ── Subnet ── VMのプライベートIPアドレス
                                     │
                                     └── NAT Gateway ── インターネット

開始する前に

  • mNi Cloud Consoleへサインインし、作業するテナントを選択します。
  • 接続する端末へTailscaleクライアントをインストールします。
  • 接続する端末でsshコマンドを実行できることを確認します。
  • mNi VMのOS Imageで、SSHサーバーを利用できるLinuxイメージを確認します。
  • 選択するイメージのSSHユーザー名と認証方法を確認します。公開鍵を登録する場合はCloud-initを使用します。
  • mNi VPCのNAT Gatewaysを開き、External Networkの選択肢が提供されていることを確認します。
  • 既存のサブネットと重ならないCIDRを用意します。このチュートリアルでは10.44.1.0/24を使用します。

作成するもの

リソース Name 用途
VPC remote-access-vpc VPNから接続するプライベートネットワーク
Subnet private-server-subnet VMとVPN Connectorを配置するサブネット
NAT Gateway remote-access-egress VPN Connectorから外部へ出る通信を中継
VM remote-access-server SSH接続先のVM
VPN operations-vpn 手元の端末からVPCへの接続

1. VPCとサブネットを作成する

  1. ServicesからmNi VPCを開きます。
  2. VPCsでCreate VPCを選択します。
  3. Nameにremote-access-vpc、Display nameにRemote access VPCを入力します。
  4. Reviewで内容を確認し、Create VPCを選択します。
  5. 一覧でremote-access-vpcがReadyになるまで待ちます。
  6. SubnetsでCreate Subnetを選択します。
  7. VPCでremote-access-vpcを選択します。
  8. Nameにprivate-server-subnet、Display nameにPrivate server subnet、CIDRに10.44.1.0/24を入力します。
  9. Reviewで内容を確認し、Create Subnetを選択します。
  10. 一覧でprivate-server-subnetがReadyになるまで待ちます。

2. NAT Gatewayを作成する

  1. NAT GatewaysでCreate NAT Gatewayを選択します。
  2. VPCでremote-access-vpcを選択します。
  3. Nameにremote-access-egress、Display nameにRemote access egressを入力します。
  4. External Networkで、クラウド管理者から案内されたネットワークを選択します。
  5. Reviewで内容を確認し、Create NAT Gatewayを選択します。
  6. 一覧でremote-access-egressがReadyになるまで待ちます。

3. サブネットへ外向き接続を設定する

  1. Subnetsでprivate-server-subnetを選択します。
  2. 詳細画面のInternet accessを選択します。
  3. Outbound onlyを選択します。
  4. NAT Gatewayでremote-access-egressを選択し、Applyを選択します。
  5. private-server-subnetが再びReadyになるまで待ちます。

mNi Cloudは、このサブネット用のRoute Tableと0.0.0.0/0の経路を作成します。サブネットの詳細画面で、次の表示を確認してからVPNを作成します。

  • Internet accessがOutbound only
  • Default routeが0.0.0.0/0 → remote-access-egress

4. SSH接続先のVMを作成する

  1. ServicesからmNi VMを開きます。
  2. Virtual MachinesでCreate Virtual Machineを選択します。
  3. SSHサーバーを利用できるOfficialイメージを選択し、Nextを選択します。
  4. VM SpecのNameにremote-access-server、Display nameにRemote access serverを入力します。
  5. Networkでremote-access-vpcとprivate-server-subnetを選択します。
  6. SSH公開鍵を登録する場合は、AdvancedのCloud-initへ設定を入力します。
  7. Reviewで内容を確認し、Create Virtual Machineを選択します。
  8. 一覧でremote-access-serverがRunningになるまで待ちます。
  9. VMの詳細画面に表示されるIP Addressを控えます。SSHでは、このプライベートIPアドレスを使用します。

SSH接続先となるVMの詳細画面

5. VPNを作成する

  1. ServicesからmNi VPNを開きます。
  2. VPNsでCreate VPNを選択します。
  3. Exposed networksのVPCでremote-access-vpcを選択します。
  4. Entire VPCを選択します。
  5. Connector Subnetでprivate-server-subnetを選択します。
  6. External IPは選択しません。このチュートリアルでは、VPN Connectorの外向き通信にNAT Gatewayを使用します。
  7. VPN detailsのNameにoperations-vpn、Display nameにOperations VPNを入力します。
  8. Reviewで内容を確認し、Create VPNを選択します。

VPNの詳細画面で、状態がReadyになり、VPN addressにConnectedと表示されるまで待ちます。

6. 手元の端末をVPNへ接続する

  1. VPNの詳細画面にあるQuick connectのコピーボタンを選択します。
  2. 接続する端末でターミナルを開き、コピーしたコマンドを実行します。
  3. 次のコマンドで接続状態を確認します。
tailscale status

tailscale statusに接続中の端末とmNi VPNの接続先が表示されたら、次へ進みます。

7. VMへSSH接続する

VMの詳細画面で控えたIP Addressと、選択したイメージのSSHユーザー名を使用します。

SSH鍵を使用する場合は、次のように実行します。

ssh -i ~/.ssh/mni-tutorial <username>@<vm-private-ip>

SSHエージェントや標準の鍵を使用する場合は、次のように実行します。

ssh <username>@<vm-private-ip>

VMのプロンプトが表示されたら接続は完了です。<username>と<vm-private-ip>は、使用するイメージのユーザー名とVM詳細画面の値へ置き換えます。

接続できない場合は、次の順に確認します。

  1. tailscale statusでmNi VPNへの接続が継続していること。
  2. VPNのExposed networksに、VMを配置したサブネットが含まれていること。
  3. VMがRunningで、SSHサーバーが起動していること。
  4. SSHユーザー名、秘密鍵、またはパスワードが選択したイメージと一致していること。

接続を終了する

SSHからログアウトした後、手元の端末で次のコマンドを実行します。

tailscale down

チュートリアルで作成したリソースを削除する

この構成を今後使用しない場合は、次の順に削除します。引き続き使用する場合、この操作は不要です。

  1. mNi VPNのVPNsでoperations-vpnを削除し、一覧から表示されなくなるまで待ちます。
  2. mNi VMのVirtual Machinesでremote-access-serverを削除し、一覧から表示されなくなるまで待ちます。
  3. mNi VPCのSubnetsでprivate-server-subnetを開き、Internet accessをVPC onlyへ戻します。サブネットが再びReadyになるまで待ちます。
  4. Route Tablesでprivate-server-subnet-nat-routesを削除します。これはInternet accessの適用時に作成されたRoute Tableです。
  5. Subnetsでprivate-server-subnetを削除します。
  6. NAT Gatewaysでremote-access-egressを削除します。
  7. VPCsでremote-access-vpcを削除します。

各リソースが一覧から表示されなくなったことを確認してから、次のリソースを削除します。