6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プライベート・サブネット内のOCI Computeインスタンスに接続する方法のまとめ

Last updated at Posted at 2022-12-21

本ブログは、オラクル・クラウドの個人ブログの1つです。

初めに
オンプレミスからプライベートサブネット内の OCI(Oracle Cloud Infrastructure)Computeインスタンスに接続する方法はいくつかあります。どの方法を選べばよいか迷っている方々に対し、各種接続方法の比較を紹介したいと思います。

一部の接続方法は、Computeインスタンスだけでなく、DBインスタンス(Autonomous DB / Base DB)にも適用できます。プライベートサブネット内のDBインスタンスに接続したい方は、こちらの取りまとめをご参考にしてください。

目次

1. プライベート・サブネット内のインスタンスに接続する

1-1. 踏み台サーバ

踏み台サーバーを経由するのは、最も一般的な接続方法です。方法としては、二段階のログインとSSHポート転送の2つのパターンがあります。

方法-a) 二段階のログイン

  • 踏み台サーバはWindowsの場合:
    image.png

  • 踏み台サーバはLinuxの場合:
    image.png

関連ポート一覧

接続元 接続先 宛先ポート 用途
On-P 踏み台サーバ
(Windows)
3389 Remote Desktop
On-P 踏み台サーバ(Linux) 22 SSH
On-P 踏み台サーバ(Linux) 5901 VNC (GUI ユーザー)
踏み台サーバ Windowsサーバ 3389 Remote Desktop
踏み台サーバ Linuxサーバ 22, 5901 SSH and VNC

メリット:
✅ 非常にシンプルで、初心者向けです。

デメリット:

  • 2回のログインが必要で、手間がかかる。
  • パブリックに3389などのポートを公開する必要がある。

方法-b) SSHポート転送

踏み台サーバーは Linux の場合、SSHポート転送の手段もあります。

image.png

メリット:
✅ 二段階のログインが不要になり、手間を省ける。
✅ ターゲットがLinuxの場合、秘密キーを踏み台サーバに置く必要がない。
✅ パブリックに公開するポートは22だけでOK。なお、踏み台サーバはLinuxでよいため、コストを節約できる。

Linux サーバにSSH接続する場合

  • Step-1) 踏み台サーバとターゲットVMの秘密キーをローカル端末に保存する。
    ※、ターゲットVMの秘密キーを踏み台サーバに保存しないことを推奨する。
  • Step-2) 踏み台サーバにログインして、SSHトンネルを作成する。
ssh -L 22:<linux_private_ip>:22 opc@<bastion_public_ip> -i C:\Users\<username>\.ssh\<bastion_private_key>
  • Step-3) 上記のステップが成功したら、別のセッションを開いて、次のコマンドでターゲットに接続する。
ssh localhost -l opc -i C:\Users\<username>\.ssh\<target_private_key>

Windows サーバにRDP接続する場合

  • Step-1) 踏み台サーバの秘密キーをローカル端末に保存する。
  • step-2) 踏み台サーバにログインして、SSHトンネルを作成する。
ssh -L 3389:<windows_private_ip>:3389 opc@<bastion_public_ip> -i C:\Users\<username>\.ssh\<bastion_private_key>
  • step-3) 上記のステップが成功したら、ローカル端末からRDPを開いて、ホスト名にlocalhostを入力して接続する。

※、ローカルポート番号22や3389が既に使われている場合、次のように8222や13389の番号に置き換えてください。

  • step-2) ssh -L 13389:<windows_private_ip>:3389 opc@<bastion_public_ip> -i C:\Users\<username>\.ssh\<bastion_private_key>
  • step-3) ローカル端末からRDPを開いて、ホスト名にlocalhost:13389を入力して接続する。

NSGの関連設定

インスタンス 方向 ソース・宛先CIDR プロトコル 宛先
ポート
踏み台 Ingress ソース: Client Public IP TCP 22
踏み台 Egress 宛先: Private Subnet CIDR TCP 22,3389
ターゲット
(Windows)
Ingress ソース: 踏み台のPrivate IP TCP 3389
ターゲット(Linux) Ingress ソース: 踏み台のPrivate IP TCP 22

1-2. リモート・デスクトップ・ゲートウェイ

踏み台サーバを経由し、Windowsインスタンスにアクセスしたい場合、リモート・デスクトップ・ゲートウェイ(RD Gateway)という選択肢もあります。

image.png

メリット:
✅ RD Gatewayは、Windowsサーバの標準機能である。
✅ TCPポート 3389をパブリックに公開せず、HTTPS (443ポート)を利用。
✅ SSHポート転送(OCI Bastionなど)と比べて、セッションタイムアウトの心配が要らない。

通常の踏み台サーバーやOCI Bastionの方法と比べて、RD Gatewayの設定はやや複雑です。初めての方にはガイドが必要だと思います。次の記事では、ステップ・バイ・ステップのガイドを提供していますので、ご参考にしてください。
リモート・デスクトップ・ゲートウェイ経由でOCI Windows VMへの接続方法

1-3. OCI Bastionサービス

OCI Bastionサービスの本質はSSHトンネルです。つまり、上記のSSHポート転送の方法をサービスとして提供しています。これにより、踏み台サーバを立てることなく、プライベートサブネット内のインスタンスに簡単に接続できます。このサービスは無料で利用でき、Computeインスタンスだけでなく、DBインスタンス(Oracle Base DB/Autonomous DB/MySQL)にも接続できます。

セッション存続時間は最大3時間で、ご注意ください。

image.png

メリット:
✅ 踏み台サーバを立てる必要がないため、コストを節約できる。
✅ SSHトンネルで通信するので、セキュアな接続を確保できる。
✅ 設定方法は比較的にやり易い(数分間でOK)
✅ OCI Bastion自体は無料で利用できる。

OCI Bastionを作成する際には、ターゲットのVCNとサブネットを指定する必要がありますが、Bastion自体に対し、配置場所を指定する必要はありません(誤解されることがよくあります)。

接続方法の詳細について、以下の記事をご参考ください。
OCI Bastion経由でプライベート・サブネット内のComputeインスタンスに接続

1-4. ネットワーク・ロード・バランサ

踏み台サーバを立てずにインターネットから接続したい場合、パブリックサブネット内のネットワーク・ロード・バランサ(NLB)を経由する方法も選択肢の一つです。

image.png

メリット:
✅ 踏み台サーバを立てる必要がないため、コストを節約できる。
✅ 設定方法は簡単で、管理者の一時作業に適している(数分間で設定完了)。
✅ レイヤー4通信であり、可用性が高くて、レイテンシが低い。
✅ OCI Bastionと比べて、セッション存続時間(最大3時間)の心配がない。
✅ NLB自体は"Always Free"でカバーできるので、無料で利用できる。

  • LB経由でも接続できます(設定方法少し異なるが考え方は同じです)。
  • NLB自体は停止できませんが、バックエンドをオフラインにすることは可能です。使用しないときにオフラインに切り替えることで、踏み台サーバーを一時停止するのと同じような効果が得られます。

接続方法の詳細について、次の記事をご参考ください。
ネットワーク・ロード・バランサ (NLB) の経由でプライベート・サブネット内の OCI VMに接続する

1-5. Cloud Shell

2022年8月に、Cloud Shellのプライベート・アクセス機能がリリースされました。これにより、Cloud Shellからパブリックネットワークを経由せずにプライベートネットワークのリソースにアクセスできるようになりました。

image.png

メリット:
✅ 踏み台サーバを立てる必要がないため、コストを節約できる。
✅ パブリック・ネットワークを経由せずに、プライベート・アクセスで接続できる。
✅ 設定は簡単で、シリアルコンソールを使って手軽に接続したい時に便利です。(管理者の一時作業に適している)

接続方法の詳細について、以下の記事をご参考ください。
OCI Cloud Shell からプライベート・サブネット内のインスタンスに接続する

1-6. インスタンス・コンソール接続

コンソール接続ができると、インスタンス起動時(BOOT)のメッセージが見えます。トラブルシューティングの際にはこれが便利です。(例えば、インスタンスが「稼働中(Running)」と表示されているのに、なかなか接続できない場合などです。)

利用場面:
✅ 起動(BOOT)時のメッセージが見えるので、トラブルシューティングの時に役立つ。

作成方法
「Cloud Shell接続」と「ローカル接続」の2つタイプがあります。次は「ローカル接続」の例です。

作成画面の入口:コンピュート → インスタンス → インスタンスの詳細 → コンソール接続 → ローカル接続の作成

公開キーを自動作成するか、既存のキーをアップロードします。

接続元のOS(Linux/Mac or Windows)と接続方式(シリアル or VNC)により、メニューからコマンドをコピーして、実行してください。
image.png

詳細の接続例を省略します。

1-7. サイト間 VPN と FastConnect

  • プライベートIPで通信したい場合、サイト間(IPsec) VPNサービスを利用するのが一般的です。オンプレミスとOCIの両方で設定が必要なため、疎通作業は少し複雑になります。VPNサービス自体は無料です。

  • インターネットを経由せずに専用回線で接続したい場合は、FastConnect をご利用ください。別途回線費用がかかりますが、データ転送に伴う従量課金が発生しないため、大量のデータ転送に向いています。

接続先(OCI側)のCIDRブロックは、接続元(オンプレミス側)のCIDRと重複しないようにご注意ください(サイト間VPN/FastConnect両方に適用される)。

次の記事は、On-PとOCIの間、LibreswanでIPSec VPN接続を立てるシミュレーションです。
On-PとOCI間のIPSec VPN接続のシミュレーション (Libreswanを利用)

1-8. OCI Secure Desktop サービス

このサービスの特徴は、エンドユーザに安全なデスクトップ接続を提供できることです。特に多数のエンドユーザの同時接続という利用場面に向きます。

image.png

特徴

  • パブリックに公開するポートはHTTPS(443)であり、セキュアな接続が確保できる。
  • ユーザーは、Webブラウザまたは専用の「Oracle Secure Global Desktop Client」を利用して接続する。
  • 多数のエンドユーザーの同時接続ケースに対応している。

制限事項

  • 対応しているOS: Oracle Linux 7 and 8, Windows 10 and 11

詳細について、「OCI Secure Desktops の使用体験」をご参照にしてください。

2. 各種接続方法の比較

関連機能の公式ドキュメントを参照したい場合、表内のリンクをクリックしてください。

接続方法 インターネットの利用 踏み台
の経由
OSの制限 利用場面 デメリット
踏み台経由 Yes Yes なし 一般的な利用方法であり、セキュアかつ長時間なセッションを求める場合。 踏み台サーバが必要
RD Gateway Yes Yes Windows Windows向け、パブリックに3389ポートを公開したくない場合。 ⏳初期セッションを立てる時間が約1分
OCI Bastion Yes No なし 踏み台サーバを立てず、手軽に接続したい場合。 ⏳セッション存続時間(最大3時間)
NLB Yes No なし 踏み台サーバを立てず、手軽に接続したい場合。 特にない
Cloud Shell Yes No Linux 踏み台サーバを立てず、シリアル・コンソールで手軽に接続したい場合。 ⏳セッションタイムアウト(20分)
コンソール接続 Yes No なし トラブルシューティング ⏳セッションタイムアウト
サイト間VPN Yes No なし プライベートIPで通信したい場合 🛠️接続設定は、比較的に複雑
FastConnect No No なし 1. インターネットを経由せず、専用線で接続したい場合。
2. 大量のデータ転送に向く。
💰回線費用がかかる
Secure Desktop Yes No ある 多数のエンドユーザの同時接続 1.初期設定は比較的に複雑
2.対応しているOSの種類が少ない

利用場面に応じて、適切な接続方法を選びましょう。

以上です。


関連記事
オラクル・クラウドの個人ブログ一覧
リモート・デスクトップ・ゲートウェイ経由でOCI Windows VMへの接続方法
OCI Bastion経由でプライベート・サブネット内のComputeインスタンスに接続
ネットワーク・ロード・バランサ (NLB) の経由でプライベート・サブネット内の OCI VMに接続する
OCI Cloud Shell からプライベート・サブネット内のインスタンスに接続する
On-PとOCI間のIPSec VPN接続のシミュレーション (Libreswanを利用)
プライベート・サブネット内のOracle Base DB と ADBインスタンスに接続する方法のまとめ

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?