ニフクラ ブログ

ニフクラ/FJ Cloud-Vやクラウドの技術について、エンジニアが語るブログです。

ニフクラDevOps with GitLabをプライベートLAN構成で構築する方法_リモートアクセスVPNゲートウェイ(SSL-VPN接続)編

こんにちは、CRE部 技術支援チームです。

ニフクラDevOps with GitLabをプライベートLAN構成で構築する方法_拠点間VPNゲートウェイ(L2TPv3/IPsec接続)編の続きです。

今回はリモートアクセスVPNゲートウェイを使ってニフクラDevOps with GitLabをプライベートLAN構成で構築します。

前提条件

本ブログ記事は、以下の知識がある方を想定しています。

  • ニフクラの基本的なコントロールパネルの操作、サービスの利用に関する知識

  • ニフクラの基本的な操作ができる(サーバー作成、ネットワーク構築)

検証概要

以下のリモートアクセスVPNゲートウェイ(SSL-VPN接続)構成で検証を実施します。
※利用者側環境は「疑似利用者側環境」としてニフクラ上に構築します。

①. east-1をDevOps with GitLabがあるニフクラ環境、west-1を利用者環境として環境を構築します。

②. west-1の接続用Windows検証サーバーからリモートアクセスVPNゲートウェイ(SSL-VPN接続)経由でニフクラ環境にアクセスします。

➂. west-1の接続用Windows検証サーバーのブラウザでGitLab画面を表示します。

作成するニフクラリソース

利用したリソースは以下の通りです。

リソース 数量
DevOps with GitLabサーバー 1
DevOpsパラメーターグループ 1
DevOpsファイアウォール 1
プライベートLAN 2
ファイアウォール 2
リモートアクセスVPNゲートウェイ 1
ルーター 1
DHCPオプション 1
NATテーブル 1
接続用Windows検証サーバー 1

環境設定

利用者側環境リソース作成

今回は以下の内容で「疑似利用者側環境」を構築しました。
利用者側環境の作成手順は省略します。

  • 外部からルーターのDNAT経由で接続用Windows検証サーバーに接続して検証を実施します。

ニフクラ側環境リソース作成

プライベートLAN作成

ニフクラ側環境のプライベートLANを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(プライベートLANの新規作成)

プライベートLAN名 CIDR 用途
NifcSslVpnLAN 192.168.10.0/24 ニフクラ側環境のプライベートLAN

リモートアクセスVPNゲートウェイ

SSL-VPN接続を確立するリモートアクセスVPNゲートウェイを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(リモートアクセスVPNGW:作成)

項目 設定値
リモートアクセスVPNゲートウェイ名 NifcSslVpnGw
プライベート側ネットワーク NifcSslVpnLAN
IPアドレス 192.168.10.254
ネットワークプールのCIDR 192.168.20.0/24
トンネルモード 分割トンネル
暗号スイート AES256-SHA

DevOpsパラメーターグループ作成

DevOpsパラメーターグループを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(ファイアウォールグループの新規作成)

パラメーターグループ名
devops-sslvpn

DevOpsファイアウォール作成

DevOpsファイアウォールを作成します。

  • プライベートネットワークからのアクセスのみ許可します。グローバルIPへの許可は設定しません。

  • SSL-VPN接続では利用者側の通信IPは
    リモートアクセスVPNゲートウェイ(192.168.10.254)のIPとして認識するので192.168.10.254のみアクセス許可を設定します。

作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(ファイアウォールグループの新規作成)

ファイアウォール名 プロトコル ポート 接続元 用途
devops-sslvpnfw TCP 443 192.168.10.254 リモートアクセスVPNゲートウェイからの通信を許可

DevOps with GitLabサーバー作成

DevOps with GitLabサーバーを作成します。
作成方法は以下ヘルプサイト、ユーザガイドを参照ください。
クラウドヘルプ(DevOpsサーバーの作成)
ユーザガイド(DevOps with GitLab:クイックスタート)

サーバー名 ファイアウォール パラメーターグループ プライベートIPアドレス グローバルIPアドレス
devops-sslvpn devops-sslvpnfw devops-sslvpn 192.168.10.2/24 自動割り当て

DevOps with GitLabサーバーの作成が完了するとGitLab URLが発行されます。
発行されたGitLab URLは作成されたGitLabへアクセスするためのURLとなります。

CA証明書の作成、 CA証明書のアップロード

利用者側環境の接続用Windows検証サーバーでCA証明書を作成して、作成後にCA証明書をニフクラ側環境で利用できるようにコントロールパネルでアップロードを実施します。

  1. 接続用Windows検証サーバーでCA証明書の作成、CA証明書のインポートを実施します。詳細は別ブログを参照してください。

  2. 作業端末でニフクラのコントロールパネルに接続用Windows検証サーバーで作成したCA証明書をアップロードします。詳細は別ブログを参照してください。

リモートアクセスVPNGWの設定

CA証明書を設定

リモートアクセスVPNゲートウェイでCA証明書とSSL-VPN接続用ユーザーの作成を実施します。

  1. ニフクラ側環境のリモートアクセスVPNゲートウェイを選択します。

  2. 「CA証明書を設定する」を選択します。

  3. 設定画面でアップロードしたCA証明書を選択して「設定する」をクリックします。

SSL-VPN接続用ユーザーの作成

  1. ニフクラ側環境のリモートアクセスVPNゲートウェイを選択します。

  2. 「リモートアクセスVPNゲートウェイの操作」-「ユーザー作成」を選択します。

  3. 必要項目を入力し「作成する」をクリックします。詳細は別ブログを参照してください。

SSL-VPNクライアントソフトインストール

SSL-VPNクライアントソフトをダウンロード

ニフクラ側環境のリモートアクセスVPNゲートウェイからSSL-VPNクライアントソフトをダウンロードします。
詳細は別ブログを参照してください。

SSL-VPNクライアントソフトをインストール

ダウンロードしたSSL-VPNクライアントソフトを利用者側環境の接続用Windows検証サーバーにインストールします。
詳細は別ブログを参照してください。

リモートアクセスVPNゲートウェイ(SSL-VPN接続)完了

SSL-VPNクライアントソフトインストール後に利用者側環境の接続用Windows検証サーバーからニフクラ側環境にSSL-VPN接続用ユーザーでログインします。ニフクラ側環境と利用者側環境のリモートアクセスVPNゲートウェイ(SSL-VPN接続)が完了です。

接続用Windows検証サーバーのhostsファイル編集

利用者側環境の接続用Windows検証サーバーにログインします。

プライベートLANを経由してDevOpsサーバーにアクセスするために 以下のディレクトリにあるhostsファイルを編集します。

C:\Windows\System32\drivers\etc\

hostsファイルにDevOpsサーバーのプラベートIP発行されたGitLab URLを追加します。

 192.168.10.2    xxxxxxx.jp-east-1.gitlab.devops.nifcloud.com

以上で環境設定は完了です。

検証実施

利用者側環境の接続用Windows検証サーバーにログインします。

ブラウザを起動してDevOpsサーバーのGitLab URLを入力するとGitLabのログイン画面が表示されます。

以下の経路でDevOpsサーバーにアクセスしていることが確認できました。
検証は完了です。

まとめ

2回にわたってニフクラDevOps with GitLabをセキュアなプライベートLAN構成で構築する方法を紹介しました。
コントロールパネル操作で比較的容易に構築できることが理解いただけたと思います。 また、VPN以外でも物理ポート(接続レイヤー:L2)を利用してプライベートLAN構成が構築可能です。
ニフクラクラウドデザインパターンの以下ページを参照してください。

本記事がシステム構成検討の際の助けになれば幸いです。 ここまで読んでいただきありがとうございました。

注意事項

  • 本記事に記載されている会社名、製品名等の固有名詞は各社の商号、登録商標または商標です。

  • 本記事は、2023年3月時点の情報です。