初めに
On-Pから、プライベート・サブネット内部の OCI (Oracle Cloud Infrastructure) Compute インスタンスに接続するのに、いろいろな方法があります。どの方法を使ってよいのか迷っている方々に対し、各種接続方法の比較を紹介したいと思います。
目次
1. プライベート・サブネット内のインスタンスに接続する
1-1. 踏み台サーバ
踏み台サーバを経由するのは、よく利用される接続方法です。パブリック・サブネットに、対応なポートを公開する必要があります。例えば、Windowsの場合、TCP 3389 (RDP)ポートで、Linuxの場合、TCP 22 (SSH) か 5901 (VNC)です。
下記の(パブリック・サブネットありの)各構成図に、インターネット・ゲートウェイとルート表を省略していますが、設定の際、忘れないでください。
上記の接続方法は2段階のログインとなります。踏み台サーバーはLinuxの場合、SSHポート転送の手段もあります。
次のコマンド例をご参考ください。
- 接続先は、Linux OSの場合
- 事前にターゲットVMのプライベート・キーを踏み台サーバーに保存しておく。
- Step-a)
ssh -L 22:<linux_private_ip>:22 opc@<bastion_public_ip> -i C:\Users\<username>\.ssh\id_rsa
- Step-b) 別のセッションを開き、
ssh localhost -l opc
で接続する。
- 接続先は、Windows OSの場合
- step-a)
ssh -L 3389:<windows_private_ip>:3389 opc@<bastion_public_ip> -i C:\Users\<username>\.ssh\id_rsa
- step-b) ローカル端末からRDPを開き、ホスト名に
localhost
を入力し接続する。
- step-a)
NSGの関連設定
- NSG_Bastion_Linux_VM のエグレス・ルール:
- 宛先CIDR: Private Subnet CIDR
- プロトコル:TCP
- 宛先ポート:22,3389
- NSG_Target_Linux_VM のイングレス・ルール:
- ソースCIDR:
<Bastion_Private_IP>/32
(或いは、Public Subnet CIDR) - プロトコル:TCP
- 宛先ポート:22
- ソースCIDR:
- NSG_Target_Windows_VM のイングレス・ルール:
- ソースCIDR:
<Bastion_Private_IP>/32
(或いは、Public Subnet CIDR) - プロトコル:TCP
- 宛先ポート:3389
- ソースCIDR:
1-2. リモート・デスクトップ・ゲートウェイ
踏み台サーバを経由し、Windowsインスタンスにアクセスしたい場合、リモート・デスクトップ・ゲートウェイ(RD Gateway)という選択肢もあります。
メリット:
✅ TCPポート 3389をパブリックに公開しなくてもよい、HTTPS (443ポート)を利用。
✅ RD Gatewayは、Windowsサーバの標準機能であり、インストールは簡単。
✅ SSHポート転送(OCI Bastionなど)と比べて、セッションタイムアウトの心配が要らない。
通常の踏み台サーバ、或いはOCI Bastionの方法より、RD Gatewayの設定は少し複雑です。初めての方に対して、ガイドは必要だと思います。次の記事は、ステップ・バイ・ステップのガイドを提供していますので、ご参考ください。
1-3. OCI Bastionサービス
OCI Bastionサービスの本質は、SSHトンネルです。踏み台サーバを立てず、プライベート・サブネット内部のインスタンスに手軽く接続できます。このサービスは無料で利用できます。Computeインスタンスだけではなく、DBインスタンスにも接続できます(Oracle Base DB/Autonomous DB/MySQL)。
セッション接続時間は最大3時間で、ご注意ください。
メリット:
✅ 踏み台サーバを立てるのは不要(コストを節約)。
✅ SSHトンネルで通信するので、セキュアな接続を確保できる。
✅ 設定方法は比較的にやり易い(数分間でOK)
✅ OCI Bastion自体は無料で利用できる。
接続方法の詳細は、以下の記事をご参考ください。
1-4. ネットワーク・ロード・バランサ
踏み台サーバを立てず、インターネットから接続したい場合、パブリック・サブネット内のネットワーク・ロード・バランサ(NLB)を経由するのは、選択肢のひとつです。
メリット:
✅ 踏み台サーバを立てるのは不要(コストを節約)
✅ 設定方法は簡単で、管理者の一時作業に向く(数分間で設定OK)。
✅ レイヤー4通信であり、可用性が高くて、レイテンシが低い。
✅ OCI Bastionと比べて、セッションタイムアウト(最大3時間)の心配がない。
✅ NLB自体は"Always Free"でカバーできるので、無料で使える。
接続方法の詳細は、以下の記事をご参考ください。
1-5. Cloud Shell
2022年8月、Cloud Shellのプライベート・アクセスという機能がリリースされました。Cloud Shellから、パブリック・ネットワークを経由せずにプライベート・ネットワークのリソースにアクセスできるになりました。
メリット:
✅ 踏み台サーバを立てるのは不要(コストを節約)
✅ パブリック・ネットワークを経由せずに、プライベート・アクセスで接続できる。
✅ 設定は簡単で、シリアル・コンソールで手軽く接続したい時に便利。(管理者の一時作業に向く)
接続方法の詳細は、以下の記事をご参考ください。
1-6. インスタンス・コンソール接続
コンソール接続ができたら、インスタンス起動(BOOT)時のメッセージが見えます。トラブルシューティングの時、これを使えば便利です。(例えば、インスタンスが稼働中(Running)の状態と表示されますが、なかなか接続できません。)
設定の入口:コンピュート → インスタンス → インスタンスの詳細 → コンソール接続
利用場面:
✅ 起動(BOOT)時のメッセージが見えるので、トラブルシューティングの時に使う。
1-7. サイト間 VPN か Fastconnect
プライベートIPで通信したい場合、サイト間(IPsec) VPN サービスを利用するのは、一般的です。On-PとOCI両方の設定は必要なので、疎通作業は少し複雑になります。VPNサービス自体は、無料です。
インターネットを経由せず、専用回線で接続したい場合、Fastconnect をご利用ください。別途回線費用がかかりますが、データ転送に伴う従量課金が発生しないので、大量なデータ転送に向きます。
接続先(OCI側)のCIDRブロックは、接続元(On-P側)のCIDRと重複しないようにご注意ください(サイト間VPN/Fastconnect両方に適用する)。
次の記事は、On-PとOCIの間、LibreswanでIPSec VPN接続を立てるシミュレーションです。
2. 各種接続方法の比較
接続方法 | インターネット の利用 |
踏み台 の経由 |
プロトコル | OSの制限 | 利用場面 | デメリット |
---|---|---|---|---|---|---|
踏み台サーバ | Yes | Yes | TCP (SSH,VNC,RDP) | なし | 一般的利用方法であり、セキュアかつ長時間なセッションを求める場合。 | 踏み台サーバ(VM)は必要 |
RD Gateway | Yes | Yes | HTTPS + TCP (RDP) | Windows | Windows向け、パブリックサブネットに3389ポートを公開したくない場合。 | 初期セッションを立てる時間が通常より長い |
OCI Bastion | Yes | No | TCP (SSHトンネル) | なし | 踏み台サーバを立てず、手軽く接続したい場合。 | セッションタイムアウト |
ネットワーク LB | Yes | No | TCP (SSH,VNC,RDP) | なし | インターネットを経由して、踏み台サーバ且つセッションタイムアウトを避けたい場合。 | NLBの一時停止ができない |
Cloud Shell | ※1 | No | HTTPS + TCP | シリアル・コンソール | 踏み台サーバを立てず、シリアル・コンソールで手軽く接続したい場合。 | セッションタイムアウト |
コンソール接続 | Yes | No | TCP (SSHトンネル) | なし | トラブルシューティングの時 | セッションタイムアウト |
サイト間 VPN | Yes | No | TCP (SSH,VNC,RDP) | なし | プライベートIPで通信したい場合 | 接続設定は、比較的に複雑 |
Fastconnect | No | No | 同上 | なし | 1. インターネットを経由せず、専用線で接続したい場合。 2. 大量なデータ転送に向く。 |
回線費用がかかる |
※1、On-PからOCIコンソールへ:Yes(ブラウザ経由)、Cloud Shellからインスタンスへ: No
関連機能のオフィシャル・ドキュメントを参照したい場合、表内のリンクをクリックしてください。
以上です。
関連記事
オラクル・クラウド関連の個人ブログ
リモート・デスクトップ・ゲートウェイ経由でOCI Windows VMへの接続方法
OCI Bastion経由でプライベート・サブネット内のComputeインスタンスに接続
ネットワーク・ロード・バランサ (NLB) の経由でプライベート・サブネット内の OCI VMに接続する
OCI Cloud Shell からプライベート・サブネット内のインスタンスに接続する
On-PとOCI間のIPSec VPN接続のシミュレーション (Libreswanを利用)