この記事は、ニフクラブログで2023-03-27に公開された記事を移転したものです。
こんにちは、CRE部 技術支援チームです。
ニフクラDevOps with GitLabはDevOpsに必要な環境を簡単に構築できるサービスです。
インターネット接続でDevOpsサーバー作成後すぐにDevOps環境を利用できます。
しかし、セキュリティの観点からグローバルネットワーク経由でDevOps環境にアクセスしたくない場合があります。
そのためセキュアにDevOps環境にアクセスする構成検証を紹介します。
構成検証として以下のニフクラクラウドデザインパターンの2パターンが考えられます。
今回は拠点間VPNゲートウェイを使ってニフクラDevOps with GitLabをプライベートLAN構成で構築します。
前提条件
本ブログ記事は、以下の知識がある方を想定しています。
ニフクラの基本的なコントロールパネルの操作、サービスの利用に関する知識
ニフクラの基本的な操作ができる(サーバー作成、ネットワーク構築)
検証概要
以下の拠点間VPNゲートウェイ(L2TPv3/IPsec接続)構成で検証を実施します。
※利用者側環境は「疑似利用者側環境」としてニフクラ上に構築します。
①. east-1をDevOps with GitLabがあるニフクラ環境、west-1を利用者側環境として環境を構築します。
②. west-1の接続用Windows検証サーバーから拠点間VPNゲートウェイ(L2TPv3/IPsec接続)経由でニフクラ環境にアクセスします。
➂. west-1の接続用Windows検証サーバーのブラウザでGitLab画面を表示します。
※DevOpsサーバーでは別途ルーティングの設定はできないため、IPSec VTIなどルーティングの設定が必須となる構成は実装できません。
作成するニフクラリソース
利用したリソースは以下の通りです。
リソース | 数量 |
---|---|
DevOps with GitLabサーバー | 1 |
DevOpsパラメーターグループ | 1 |
DevOpsファイアウォール | 1 |
プライベートLAN | 2 |
ファイアウォール | 3 |
拠点間VPNゲートウェイ | 2 |
ルーター | 1 |
DHCPオプション | 1 |
NATテーブル | 1 |
接続用Windows検証サーバー | 1 |
拠点間VPNGW:VPNコネクション(L2TPv3/IPsec) | 2 |
拠点間VPNGW:カスタマーGW | 2 |
環境設定
利用者側環境リソース作成
今回は以下の内容で「疑似利用者側環境」を構築しました。
利用者側環境の作成手順は省略します。
ニフクラ側環境とL2延伸が構築できるように、利用者側環境のルーター、ゲートウェイ等の対向拠点機器の配置、VPN設定等を実施します。
外部からルーターのDNAT経由で接続用Windows検証サーバーに接続して検証を実施します。
ニフクラ側環境リソース作成
ファイアウォール作成
ニフクラ側環境で使用するファイアウォールを作成します。
プライベートLAN内の通信と利用者側環境の対向拠点機器設定(ESP、UDP)を許可します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(ファイアウォールグループの新規作成)
ファイアウォール名 | プロトコル | ポート | 接続元 | 用途 |
---|---|---|---|---|
NifcVpnGwFw | ANY | - | 192.168.1.0/24 | プライベートLAN内の通信をALL許可 |
ESP | - | 利用者側環境の対向拠点機器グローバルIP | VPNトンネル(L2TPv3/IPsec)接続時の対向拠点許可 | |
UDP | 4500 | |||
UDP | 500 |
プライベートLAN作成
ニフクラ環境側のプライベートLANを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(プライベートLANの新規作成)
プライベートLAN名 | CIDR | 用途 |
---|---|---|
NifcVpnLAN | 192.168.1.0/24 | ニフクラ環境側プライベートLAN |
拠点間VPNゲートウェイ
利用者側環境とL2TPv3/IPsec接続で接続する拠点間VPNゲートウェイを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(拠点間VPNゲートウェイ:作成)
項目 | 設定値 |
---|---|
拠点間VPNゲートウェイ名 | NifcVpnGw |
ファイアウォール | NifcVpnGwFw |
プライベートLAN | NifcVpnLAN |
プライベートIPアドレス | 192.168.1.1 |
グローバルIPアドレス | 自動割り当て |
DevOpsパラメーターグループ作成
DevOpsパラメーターグループを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(ファイアウォールグループの新規作成)
パラメーターグループ名 |
---|
devops-vpn |
DevOpsファイアウォール作成
DevOpsファイアウォールを作成します。
プライベートネットワークからのアクセスのみ許可します。グローバルIPへの許可は設定しません。
L2TPv3/IPsecによるL2延伸を実施しますので、想定ユーザー環境ネットワーク帯である192.168.1.0/24をアクセス許可します
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(ファイアウォールグループの新規作成)
ファイアウォール名 | プロトコル | ポート | 接続元 | 用途 |
---|---|---|---|---|
devops-vpnfw | TCP | 443 | 192.168.1.0/24 | プライベートLAN内の通信を許可 |
DevOps with GitLabサーバー作成
DevOps with GitLabサーバーを作成します。
作成方法は以下ヘルプサイト、ユーザガイドを参照ください。
クラウドヘルプ(DevOpsサーバーの作成)
ユーザガイド(DevOps with GitLab:クイックスタート)
サーバー名 | ファイアウォール | パラメーターグループ | プライベートIPアドレス | グローバルIPアドレス |
---|---|---|---|---|
devops-vpn | devops-vpnfw | devops-vpn | 192.168.1.2/24 | 自動割り当て |
DevOps with GitLabサーバーの作成が完了するとGitLab URLが発行されます。
発行されたGitLab URLは作成されたGitLabへアクセスするためのURLとなります。
ニフクラ側環境カスタマーGW作成、VPNコネクション作成
ニフクラ側環境に利用者側環境の対向拠点機器情報、VPN設定を持たせるためにカスタマーゲートウェイを作成します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(拠点間VPNGW:カスタマーゲートウェイ作成)
カスタマーゲートウェイ名 | 対向機器IPアドレス | 接続方式 | 対向機器LAN側IPアドレス |
---|---|---|---|
NifcVpnCGW | 利用者側環境の対向拠点機器グローバルIP | L2TPv3/IPsec | 空欄 |
VPNコネクションを作成します。
利用者側環境の対向拠点機器を参照しながらお客様間毎のネットワーク構成に合わせて設定します。
作成方法は以下ヘルプサイトを参照ください。
クラウドヘルプ(拠点間VPNGW:VPNコネクション作成)
- 基本設定
項目 | 設定値 |
---|---|
カスタマーゲートウェイ | NifcVpnCGW |
接続方式 | L2TPv3/Ipsec |
IKEバージョン | IKEv1 |
暗号化アルゴリズム | AES128 |
認証アルゴリズム | SHA1 |
事前共有鍵 | xxxxxx(任意) |
IKE lifetime | 28800 |
ESP lifetime | 3600 |
DH Group | デフォルト |
- トンネル設定
※トンネルIDとセッションIDの対向機器の内容は利用者側環境のネットワーク構成に合わせて設定してください。
項目 | 設定値 |
---|---|
トンネルタイプ | Unmanaged |
トンネルモード | IP |
カプセル化方式 | 1500 |
MTUサイズ | SHA1 |
トンネルID | 拠点間VPNGW:1001 対向機器:1002 |
セッションID | 拠点間VPNGW:1001 対向機器:1002 |
ニフクラ側環境と利用者側環境の拠点間VPNゲートウェイ(L2TPv3/IPsec接続)構成は完了です。
接続用Windows検証サーバーのhostsファイル編集
利用者側環境の接続用Windows検証サーバーにログインします。
プライベートLANを経由してDevOpsサーバーにアクセスするために 以下のディレクトリにあるhostsファイルを編集します。
C:\Windows\System32\drivers\etc\
hostsファイルにDevOpsサーバーのプラベートIPと発行されたGitLab URLを追加します。
192.168.1.2 xxxxxxx.jp-east-1.gitlab.devops.nifcloud.com
以上で環境設定は完了です。
検証実施
利用者側環境の接続用Windows検証サーバーにログインします。
ブラウザを起動してDevOpsサーバーのGitLab URLを入力するとGitLabのログイン画面が表示されます。
以下の経路でDevOpsサーバーにアクセスしていることが確認できました。検証は完了です。
まとめ
今回はニフクラDevOps with GitLabの拠点間VPNゲートウェイを使ってセキュアなプライベートLAN構成を構築する方法を紹介しました。
次回はリモートアクセスVPNゲートウェイ(SSL-VPN接続)を使ったプライベートLAN構成の構築方法を紹介します。
ここまで読んでいただきありがとうございました。
注意事項
本記事に記載されている会社名、製品名等の固有名詞は各社の商号、登録商標または商標です。
本記事は、2023年3月時点の情報です。