すべてのプロダクト
Search
ドキュメントセンター

VPN Gateway:SSL-VPN 経由で PC / Android デバイスから VPC に接続

最終更新日:Oct 10, 2026

SSL-VPN を使用すると、クライアント (Windows、Linux、Android、macOS) をクラウド上の VPC に内部ネットワーク経由で接続し、インターネット環境での安全なアクセスを実現できます。

iOS / iPadOS クライアントについては、「SSL-VPN を使用して iPhone または iPad を VPC に接続する」をご参照ください。

シナリオ

SSL-VPN は、以下のような要件がある場合に使用できます。

  • オンプレミスに静的パブリック IP アドレスがない:SSL-VPN は、クライアント側から接続を開始して確立するため、オンプレミスネットワークに静的パブリック IP アドレスは不要です。 家庭用ブロードバンド、モバイルオフィス、動的 IP アドレス環境のオフィスなどで使用できます。 クライアントデバイスがインターネットにアクセスできれば、接続を開始できます。 オンプレミスに静的パブリック IP アドレスを持つゲートウェイデバイスがすでにある場合は、IPsec-VPN を選択してサイト間接続を確立することもできます。

  • 内部ネットワーク経由でのみ ECS インスタンスにアクセスする:VPC 内の Elastic Compute Service (ECS) インスタンスは、パブリック IP アドレスに関連付ける必要はありません。 クライアントが SSL-VPN 経由で正常に接続した後、ECS インスタンスのプライベート IP アドレスを直接使用して、同じ VPC 内のリソースにアクセスできます。

  • 安全なアクセス制御:ECS インスタンスに関連付けられたセキュリティグループを設定して、SSL-VPN の[クライアント CIDR ブロック]からのトラフィックのみを許可するように設定できます。これにより、インターネット経由の直接アクセスを禁止し、SSL-VPN 経由でログインした後にのみアクセスを許可することで、リスクの高いポート (SSH 22 や RDP 3389 など) がインターネットに公開されるリスクを低減できます。

シナリオ例

目的:オンプレミスのクライアントが内部 IP アドレス経由で VPC 内の ECS インスタンスに安全にアクセスできるように、SSL-VPN ゲートウェイを作成します。

image

リソース計画は以下の通りです。

  • VPC

    • 名前:vpc-demo

    • リージョン:中国 (杭州)

    • CIDR ブロック:10.0.0.0/16

    • vSwitch:2 つ作成し、それぞれ vsw1 と vsw2 と命名

      • vsw1 はゾーン J に配置、CIDR ブロック:10.0.0.0/24

      • vsw2 はゾーン K に配置、CIDR ブロック:10.0.1.0/24

    • ECS:アドレス 10.0.0.1、オペレーティングシステム Alibaba Cloud Linux 3.2104 LTS 64-bit

  • クライアントが配置されているオンプレミスの CIDR ブロック: 172.16.0.0/16

ステップ 1:クラウド上で VPN リソースを設定

クライアントを VPC に接続する前に、まず Alibaba Cloud コンソールで VPN Gateway、SSL サーバー、SSL クライアントを作成および設定する必要があります。

1. VPN Gateway の作成

VPN Gateway は、クラウド上での SSL-VPN 接続の出入り口です。

  1. コンソールの VPN Gateway ページに移動し、VPN Gateway の作成 をクリックします。

  2. [VPN Gateway] ページで設定します。

    • [インスタンス名]:vpn-demo

    • リージョン:[中国 (杭州)]。

    • Virtual Private Cloud (VPC):クライアントがアクセスする必要のある VPC を選択します。

    • [vSwitch 1]/[vSwitch 2]:それぞれ vsw1 と vsw2 を選択します。

      VPN Gateway は、基盤レイヤーでホットスタンバイアーキテクチャを使用します。 VPC が複数のゾーンをサポートするリージョンでは、クロスゾーン高可用性を確保するために、VPC には異なるゾーンに配置された少なくとも 2 つの vSwitch が含まれている必要があります。 この条件が満たされない場合は、まず vSwitch を作成してください。
    • [最大帯域幅]:10 Mbps

    • IPsec-VPN:[無効] (このオプションは、下記で SSL-VPN を有効にした後にのみ利用可能です)。

    • SSL-VPN:[はい]。

    • [SSL 接続:]: 5。

    • [サービスにリンクされたロール]:まだ作成していない場合は、Create Service-linked Role をクリックします。

    VPN Gateway の作成に関するパラメータの詳細については、「VPN Gateway インスタンスの作成と管理」をご参照ください。
  3. 購入と支払いが完了すると、VPN Gateway ページで作成された VPN Gateway を確認できます。

    新しく作成された VPN Gateway のステータスは 準備中 です。 約 1〜5 分後、ステータスが 正常 に変わると、使用を開始できます。

2. SSL サーバーの作成

SSL サーバーを使用して、クライアントがアクセスできるクラウドネットワークの範囲を定義し、クライアントの IP アドレスプールを設定します。

  1. [SSL サーバー] ページに移動し、トップメニューバーで[中国 (杭州)] リージョンに切り替え、SSLサーバーの作成 をクリックします。

  2. SSLサーバーの作成 パネルで、以下の情報に基づいて SSL サーバーを設定します。

    • [名前]:server-demo と入力します

    • [VPN Gateway]:先ほど作成した VPN Gateway を選択します。

    • [ローカルネットワーク]: VPC の CIDR ブロック 10.0.0.0/16 を入力します。

      この CIDR ブロックは、クライアントがアクセスするクラウドネットワークの範囲であり、通常は VPC の CIDR ブロックです。

    • [クライアント CIDR ブロック]: VPN Gateway がクライアントの仮想ネットワークアダプターに IP アドレスを割り当てるために使用するアドレスプールです。 [ローカルネットワーク]やクライアントがすでに使用している CIDR ブロック (例:クライアントが配置されているオンプレミスの CIDR ブロック) と重複してはなりません。重複するとルーティングの競合が発生します。 RFC 1918 で定義されているプライベートアドレス範囲 (10.0.0.0/8、172.16.0.0/12、192.168.0.0/16) から、既存のネットワークと競合しないサブネット (例: 10.200.200.0/24) を選択し、クライアントに割り当てることを推奨します。

    その他のオプションはデフォルト値のままにします。 SSL サーバーの作成に関するパラメータの詳細については、「SSL サーバーの作成と管理」をご参照ください。

3. SSL クライアントの作成と証明書のダウンロード

SSL クライアントは、クライアント証明書の管理を担当します。 接続が必要な各クライアントは、ID 認証と暗号化のために証明書をインポートする必要があります。

  1. 左側メニューで、ネットワーク間接続 - [VPN] - SSL クライアント を選択します。 トップメニューバーで、リージョンが中国 (杭州) であることを確認します。 SSL クライアント ページで、SSL クライアントの作成 をクリックします。

  2. SSL クライアントの作成 パネルで、名前に client-demo と入力し、[SSL サーバー] に server-demo を選択して、OK をクリックします。

  3. SSL クライアント ページで、作成した SSL クライアントを見つけ、その 操作 列の [証明書のダウンロード] をクリックします。

ステップ 2:クライアントの設定

クライアントのオペレーティングシステムに応じて、対応する設定方法を確認してください。

Windows クライアント

  1. お使いの Windows システムバージョンと互換性のある OpenVPN クライアントをダウンロードし、画面の指示に従ってインストールを完了させます。

  2. ダウンロードした SSL クライアント証明書を解凍し、抽出したすべてのファイルを OpenVPN の設定ディレクトリにコピーします。

    • デフォルトパス: C:\Program Files\OpenVPN\config

    • 注意: インストールパスを変更した場合は、実際のインストールディレクトリ内の config フォルダにコピーしてください。

    image

  3. メモ帳で config.ovpn ファイルを開き、末尾に disable-dco の 1 行を追加します。

    OpenVPN 2.6 で導入されたデータチャネルオフロード (DCO) 機能は、一部の Windows システム (特定のバージョンの Windows 10/11 など) で互換性の問題があります。 この設定は、一部のデバイスが接続できない問題を解決するために DCO を無効にするために使用されます。

    image

  4. デスクトップ右下のトレイにある OpenVPN アイコンを右クリックし、 [接続] をクリックして VPN 接続を確立します。

    image

  5. 状態が「Connected」と表示され、IP アドレスが割り当てられれば、接続は正常に確立されています。

    image

Linux クライアント

  1. 以下のコマンドを実行して OpenVPN クライアントをインストールし、conf ディレクトリを作成します。

    CentOS
    yum install -y openvpn
    mkdir -p /etc/openvpn/conf
    Ubuntu
    apt-get update
    apt-get install -y openvpn
    mkdir -p /etc/openvpn/conf
  2. ダウンロードした SSL クライアント証明書を解凍し、/etc/openvpn/conf/ ディレクトリにコピーします。

    [root@iZt4n******* conf]# ls -lh /etc/openvpn/conf/
    total 16K
    -rw-r--r-- 1 root root 1.3K Nov 26 01:07 ca.crt
    -rw-r--r-- 1 root root  218 Nov 26 01:21 config.ovpn
    -rw-r--r-- 1 root root 1.2K Nov 26 01:07 vsc-rj9s*******.crt
    -rw-r--r-- 1 root root 1.7K Nov 26 01:07 vsc-rj9s*******.key

  3. /etc/openvpn/conf/ ディレクトリに移動し、以下のコマンドを実行して VPN 接続を確立します。

    openvpn --config /etc/openvpn/conf/config.ovpn --daemon
  4. (オプション) 起動時に OpenVPN プロセスが自動起動するように設定します。

    1. /etc/rc.local ファイルを編集し、コマンドをファイルに追加します。

      # /etc/rc.local ファイルを編集モードで開きます。
      vi /etc/rc.local 
      # i キーを押して編集モードに入り、以下のコマンドを /etc/rc.local ファイルに追加します。
      cd /etc/openvpn/conf/
      openvpn --config /etc/openvpn/conf/config.ovpn --daemon
      # Esc キーを押し、:wq と入力してファイルを保存し、編集を終了します。
      :wq
    2. /etc/rc.local ファイルに実行権限を追加します。

      chmod +x /etc/rc.local

Android クライアント

  1. OpenVPN クライアント (Android 版) をダウンロードしてインストールします。

    このトピックでは、Android 9.0 で OpenVPN クライアント 3.0.5 がインストールされたクライアントを使用します。

  2. ダウンロードした SSL クライアント証明書を Android デバイスに転送し、証明書を解凍します。

    説明
    • Android デバイスに解凍ソフトウェアがない場合は、コンピューターで証明書を解凍し、抽出したファイルを Android クライアントに転送できます。

    • 抽出したファイルが、次の図に示すように同じフォルダにあることを確認してください。

    File save location

  3. OpenVPN クライアントを開き、config.ovpn ファイルをインポートして、VPN 接続を追加します。

    Import the config file

    番号

    説明

    ①

    OVPN Profile 接続方法を選択します。

    ②

    ストレージディレクトリで config.ovpn ファイルを見つけます。

    ③

    [IMPORT] をクリックして config.ovpn ファイルをインポートします。

    ④

    システムは config.ovpn ファイルの情報を自動的に読み取り、接続する VPN Gateway のパブリック IP アドレスを表示します。 [ADD] をクリックして VPN 接続を追加します。

  4. スイッチをタップして VPN 接続を有効にします。

    Enable OpenVPN

Mac クライアント (GUI、M シリーズチップに推奨)

  1. Tunnelblick Releases ページを開き、最新の安定版を見つけて dmg ファイルをダウンロードします。 このトピックでは、バージョン Tunnelblick 4.0.1 (build 5971) を例として使用します。 [Assets] パネルで、.dmg 形式のファイルをダウンロードします。

    image

  2. Tunnelblick ソフトウェアをインストールします。

    image

    番号

    説明

    ①

    ダウンロードした Tunnelblick インストールパッケージをダブルクリックします。

    ②

    Tunnelblick アイコンをダブルクリックします。

    ③

    [I have configuration files] を選択します。

    ④

    [OK] をクリックします。

  3. まずダウンロードした SSL クライアント証明書を解凍し、次に解凍したフォルダから config.ovpn ファイルを構成パネルにドラッグして VPN 接続を確立します。

    image

    番号

    説明

    ①

    Launchpad で Tunnelblick アイコンをクリックして、Tunnelblick ソフトウェアを開きます。

    ②

    解凍したフォルダから config.ovpn ファイルを [Configurations] パネルにドラッグします。

    ③

    [Only Me] を選択します。

    ④

    [Connect] をクリックします。

Mac クライアント (コマンドライン)

  1. ターミナルのコマンドラインウィンドウを開きます。 クライアントに Homebrew がまだインストールされていない場合は、次のコマンドを実行して Homebrew をインストールします。

    説明

    Homebrew のインストールスクリプトには sudo コマンドが含まれているため、インストール中に管理者パスワードの入力を求められます。 「Press RETURN/ENTER to continue...」と表示されたら、Enter キーを押して続行してください。

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  2. 次のコマンドを実行して OpenVPN クライアントをインストールします。

    brew install openvpn

  3. ダウンロードした SSL クライアント証明書を解凍し、設定ディレクトリにコピーします。

    1. /opt/homebrew/etc/openvpn ディレクトリをバックアップします。

      cp -r  /opt/homebrew/etc/openvpn /opt/homebrew/etc/openvpn_bak
    2. 次のコマンドを実行して、現在の OpenVPN 設定ファイルを削除します。

      rm /opt/homebrew/etc/openvpn/*
    3. 次のコマンドを実行して、ダウンロードした SSL クライアント証明書を設定ディレクトリにコピーします。

      cp /path/to/certs.zip /opt/homebrew/etc/openvpn/
      説明

      /path/to/certs.zip は、SSL クライアントの作成手順でダウンロードした SSL クライアント証明書のパスであり、通常は現在のユーザーのダウンロードディレクトリにあります (例: /Users/example/Downloads/certs.zip)。

  4. 次のコマンドを実行して、証明書を解凍します。

    cd /opt/homebrew/etc/openvpn/
    unzip /opt/homebrew/etc/openvpn/certs.zip
  5. 実行方法を選択します。

    フォアグラウンドで実行

    次のコマンドを実行してクライアントプロセスを開始し、VPN 接続を確立できます。

    sudo /opt/homebrew/opt/openvpn/sbin/openvpn --config /opt/homebrew/etc/openvpn/config.ovpn

    このコマンドを実行すると、フォアグラウンドで実行され続けます。 切断する必要がある場合は、Ctrl+C を入力してコマンドを終了します。

    バックグラウンドで実行

    次のコマンドを実行して、VPN クライアントプロセスをサービスとしてバックグラウンドで実行し、起動時に自動的に開始するようにします。

    cp config.ovpn openvpn.conf
    sudo brew services start openvpn

    停止する必要がある場合は、次のコマンドを実行します。

    sudo brew services stop  openvpn

ステップ 3:接続性のテスト

  1. セキュリティグループルールの設定

    クライアントが VPC 内のリソースにアクセスできるようにするには、ECS インスタンスに関連付けられたセキュリティグループに インバウンドルールを追加 して、[クライアント CIDR ブロック] (10.200.200.0/24) からのトラフィックを許可してください。

    • 接続性テストの場合: ping コマンドが正常に機能するように、ICMP プロトコルを許可します。

    • ビジネスアクセスの場合: TCP 22 (SSH)、TCP 3389 (RDP)、TCP 80 / 443 (Web サービス) など、ビジネスで必要な特定のポートを許可します。

  2. Ping テスト

    クライアントデバイスで、ping コマンドを使用して ECS インスタンスにアクセスします。

    ping 10.0.0.1

    ping が成功した場合、クライアントは内部ネットワーク経由で ECS インスタンスに接続されています。

    C:\Users\Administrator>ping 10.0.0.1
    
    Pinging 10.0.0.1 with 32 bytes of data:
    Reply from 10.0.0.1: bytes=32 time=8ms TTL=63
    Reply from 10.0.0.1: bytes=32 time=8ms TTL=63
    Reply from 10.0.0.1: bytes=32 time=8ms TTL=63
    Reply from 10.0.0.1: bytes=32 time=8ms TTL=63
    
    Ping statistics for 10.0.0.1:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 8ms, Maximum = 8ms, Average = 8ms

  3. サービスポートのテスト

    ビジネスアクセスをさらに確認するには、ECS インスタンスで実行されているサービスへのアクセスを試してください。

    # ECS インスタンスで実行 (Alibaba Cloud Linux 3 の例)
    yum install -y nginx
    systemctl start nginx.service

    ECS インスタンスに関連付けられたセキュリティグループが、クライアント CIDR ブロックからの TCP ポート 80 のトラフィックを許可していることを確認した後、クライアントブラウザで http://10.0.0.1 にアクセスします。

    Nginx のウェルカムページが表示されれば、ビジネスアクセスは正常に機能しています。

    image

よくある質問

ユーザー名とパスワードによる認証方式を使用する方法

二要素認証を有効にすることで、クライアントは証明書認証とユーザー名・パスワード認証の両方にパスした後にのみ、SSL-VPN 接続を確立できるようになります。

接続時にクライアントは VPN Gateway アドレスを入力する必要がありますか?

接続時に VPN Gateway アドレスを手動で入力する必要はありません。 コンソールからダウンロードした config.ovpn 設定ファイルには、すでに VPN Gateway のパブリック IP アドレスが含まれています。 OpenVPN クライアントにインポートすると、追加の入力なしで自動的に認識されます。

オンプレミスに別の OpenVPN クライアントがすでにインストールされています。同時に使用できますか?

はい、同時に使用できますが、設定ファイルの競合を避ける必要があります。 複数の OpenVPN クライアントが同じ config ディレクトリを共有している場合、インポートされた証明書と config.ovpn が互いに上書きされたり、誤ってロードされたりして、OpenVPN の競合や接続異常が発生する可能性があります。

次のように分離することを推奨します。

  • Alibaba Cloud SSL-VPN で使用する OpenVPN クライアントを、既存のクライアントとは異なるパスにインストールします (たとえば、既存のクライアントが C:\Program Files\OpenVPN にある場合、新しいクライアントを別のディレクトリにインストールします)。

  • 2 つのクライアントの config フォルダが互いに独立していることを確認します。 Alibaba Cloud SSL-VPN の証明書ファイルは、現在のインストールディレクトリの config フォルダにのみ解凍してコピーします。

  • 接続する際は、対応するインストールディレクトリのクライアントから接続を開始し、同じクライアントに複数の設定ファイルを混在させないようにします。

Linux または Mac クライアントで VPN 接続を切断する方法

  1. コマンドラインを開き、次のコマンドを実行して OpenVPN プロセスを検索し、プロセス ID を記録します。

    ps aux | grep openvpn
  2. 次のコマンドを実行して、OpenVPN プロセスを終了します。

    kill -9 <プロセス ID>

SSL-VPN 経由で接続した後、SSH で ECS インスタンスにログインするために踏み台ホストを購入する必要がありますか?

いいえ。SSL-VPN 接続が正常に機能し、ECS インスタンスに関連付けられた セキュリティグループ が [クライアント CIDR ブロック] からの TCP ポート 22 のトラフィックを許可していれば、追加の踏み台ホストを購入することなく、ECS インスタンスのプライベート IP アドレスを介して SSH ツールを直接使用してSSHでログインできます。

企業でセッション監査、詳細な権限制御、または O&M 操作のための複数ユーザーの共同ログオンの要件がある場合は、踏み台ホストを SSL-VPN と一緒に使用できます。 ただし、踏み台ホストは、SSL-VPN 接続を確立したり、内部ネットワーク経由で ECS インスタンスにログインしたりするための前提条件ではありません。

正常に接続できませんか?

SSL-VPN クライアントが正常に接続されると、ルートエントリの追加やネットワーク接続の追加設定を 行うことなく、同じ VPC 内の ECS インスタンスとの内部ネットワーク相互接続が自動的に確立されます。 したがって、接続は確立されているがアクセスに失敗する場合、問題は通常 VPN リンク自体ではなく、ターゲットの ECS 側のアクセス制御にあります。

症状

考えられる原因とトラブルシューティング手順

接続できない (例: クライアントログに AUTH_FAILED または TLS Handshake failed というメッセージが出力される)

1. ネットワークの問題: クライアントデバイスがインターネットに正常にアクセスできること、およびローカルネットワークのファイアウォールまたはセキュリティソフトウェアが、OpenVPN クライアントが VPN Gateway のパブリック IP アドレスとポート (デフォルトでは TCP / 1194) にアクセスするのをブロックしていないことを確認します。

2. 証明書の問題: インポートした config.ovpn および関連する証明書ファイルが完全であり、変更されていないことを確認します。 コンソールから証明書を再度ダウンロードしてインポートしてみてください。

正常に接続されたが、ping が VPC 内の ECS インスタンスに到達できない

1. セキュリティグループルール (最初に確認する項目): Ping が失敗した場合、まず ECS コンソールにログインし、インスタンスのセキュリティグループが、SSL サーバーで設定された[クライアント CIDR ブロック] (例:10.200.200.0/24) からの ICMP プロトコルとサービスポートのトラフィックを許可するインバウンドルールを追加しているかどうかを確認してください。 [送信元アドレス] は、VPN Gateway のパブリック IP アドレスやクライアントが属するローカル物理ネットワークセグメントではなく、SSL サーバーで設定されたクライアント CIDR ブロックである必要があることに注意してください。

2. ECS 内部ファイアウォール: ECS オペレーティングシステム内のファイアウォール (firewalld や iptables など) が ICMP リクエストをブロックしていないかどうかを確認します。

正常に接続され、ping も機能するが、ECS インスタンス上のサービス (Web サイトや SSH など) にアクセスできない

1. セキュリティグループルール: ECS セキュリティグループを確認し、対応するサービスポート (TCP 80 や TCP 22 など) がお使いのクライアント CIDR ブロックに対して許可されていることを確認します。

2. サービスリスニングステータス: ECS インスタンスにログインし、ポートが正常にリッスンしていることを確認します (例: Linux システムで netstat -nltp を使用)

3. ECS 自身のファイアウォールがポートを許可している: ECS インスタンスにログインし、ECS オペレーティングシステム自体のファイアウォールがポートを許可していることを確認してください

VPN に接続した後、ローカルネットワーク (プリンターなど) にアクセスできない、またはインターネットにアクセスできない

ルーティングの競合: SSL サーバーで設定した[クライアント CIDR ブロック]が、現在のローカルネットワークの CIDR ブロックと競合している可能性があります。 ステップ 1 に戻り、SSL サーバーのクライアント CIDR ブロックを、あまり一般的でない CIDR ブロック (例:10.240.240.0/24) に変更してから、証明書を再度ダウンロードしてクライアントを設定します。

ECS インスタンスがクライアントに能動的に ping できない

これは正常な動作です。 セキュリティ上の理由から、クライアントのオペレーティングシステムのファイアウォールは、外部ソース (VPN ピアを含む) からの外部からの接続要求をデフォルトでブロックします。 これは想定内の動作であり、クライアントのクラウドリソースへのアクセスには影響しません。 クラウドリソースからクライアントへのアクセス要求がある場合は、クライアントのファイアウォールで ICMP プロトコルを許可してください。

その他の質問については、「SSL-VPN 接続に関する FAQ」をご参照ください。