チュートリアル
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を使用します。
この手順で使用するのは通常のSSHです。Tailscaleクライアントは手元の端末をVPCへ接続します。VM側ではSSHサーバーが起動し、選択したユーザー名と鍵またはパスワードでサインインできる必要があります。
作成するもの
| リソース | 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とサブネットを作成する
- ServicesからmNi VPCを開きます。
- VPCsでCreate VPCを選択します。
- Nameに
remote-access-vpc、Display nameにRemote access VPCを入力します。 - Reviewで内容を確認し、Create VPCを選択します。
- 一覧で
remote-access-vpcがReadyになるまで待ちます。 - SubnetsでCreate Subnetを選択します。
- VPCで
remote-access-vpcを選択します。 - Nameに
private-server-subnet、Display nameにPrivate server subnet、CIDRに10.44.1.0/24を入力します。 - Reviewで内容を確認し、Create Subnetを選択します。
- 一覧で
private-server-subnetがReadyになるまで待ちます。
2. NAT Gatewayを作成する
- NAT GatewaysでCreate NAT Gatewayを選択します。
- VPCで
remote-access-vpcを選択します。 - Nameに
remote-access-egress、Display nameにRemote access egressを入力します。 - External Networkで、クラウド管理者から案内されたネットワークを選択します。
- Reviewで内容を確認し、Create NAT Gatewayを選択します。
- 一覧で
remote-access-egressがReadyになるまで待ちます。
3. サブネットへ外向き接続を設定する
- Subnetsで
private-server-subnetを選択します。 - 詳細画面のInternet accessを選択します。
- Outbound onlyを選択します。
- NAT Gatewayで
remote-access-egressを選択し、Applyを選択します。 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
このチュートリアルでは、VPN ConnectorにExternal IPを割り当てず、NAT Gateway経由の外向き接続を使用します。Direct internetは選択しません。
4. SSH接続先のVMを作成する
- ServicesからmNi VMを開きます。
- Virtual MachinesでCreate Virtual Machineを選択します。
- SSHサーバーを利用できるOfficialイメージを選択し、Nextを選択します。
- VM SpecのNameに
remote-access-server、Display nameにRemote access serverを入力します。 - Networkで
remote-access-vpcとprivate-server-subnetを選択します。 - SSH公開鍵を登録する場合は、AdvancedのCloud-initへ設定を入力します。
- Reviewで内容を確認し、Create Virtual Machineを選択します。
- 一覧で
remote-access-serverがRunningになるまで待ちます。 - VMの詳細画面に表示されるIP Addressを控えます。SSHでは、このプライベートIPアドレスを使用します。

5. VPNを作成する
- ServicesからmNi VPNを開きます。
- VPNsでCreate VPNを選択します。
- Exposed networksのVPCで
remote-access-vpcを選択します。 - Entire VPCを選択します。
- Connector Subnetで
private-server-subnetを選択します。 - External IPは選択しません。このチュートリアルでは、VPN Connectorの外向き通信にNAT Gatewayを使用します。
- VPN detailsのNameに
operations-vpn、Display nameにOperations VPNを入力します。 - Reviewで内容を確認し、Create VPNを選択します。
VPNの詳細画面で、状態がReadyになり、VPN addressにConnectedと表示されるまで待ちます。
6. 手元の端末をVPNへ接続する
- VPNの詳細画面にあるQuick connectのコピーボタンを選択します。
- 接続する端末でターミナルを開き、コピーしたコマンドを実行します。
- 次のコマンドで接続状態を確認します。
tailscale status
tailscale statusに接続中の端末とmNi VPNの接続先が表示されたら、次へ進みます。
Quick connectに含まれるAuthentication keyは認証情報です。画面共有、ログ、シェルスクリプト、リポジトリへ保存しないでください。
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詳細画面の値へ置き換えます。
接続できない場合は、次の順に確認します。
tailscale statusでmNi VPNへの接続が継続していること。- VPNのExposed networksに、VMを配置したサブネットが含まれていること。
- VMがRunningで、SSHサーバーが起動していること。
- SSHユーザー名、秘密鍵、またはパスワードが選択したイメージと一致していること。
接続を終了する
SSHからログアウトした後、手元の端末で次のコマンドを実行します。
tailscale down
チュートリアルで作成したリソースを削除する
この構成を今後使用しない場合は、次の順に削除します。引き続き使用する場合、この操作は不要です。
削除したリソースは元に戻せません。VM内に必要なファイルがある場合は、先に別のストレージへコピーしてください。削除確認画面では、対象のNameが正しいことを確認します。
- mNi VPNのVPNsで
operations-vpnを削除し、一覧から表示されなくなるまで待ちます。 - mNi VMのVirtual Machinesで
remote-access-serverを削除し、一覧から表示されなくなるまで待ちます。 - mNi VPCのSubnetsで
private-server-subnetを開き、Internet accessをVPC onlyへ戻します。サブネットが再びReadyになるまで待ちます。 - Route Tablesで
private-server-subnet-nat-routesを削除します。これはInternet accessの適用時に作成されたRoute Tableです。 - Subnetsで
private-server-subnetを削除します。 - NAT Gatewaysで
remote-access-egressを削除します。 - VPCsで
remote-access-vpcを削除します。
各リソースが一覧から表示されなくなったことを確認してから、次のリソースを削除します。