はじめに
ここでは先に作成したWazi aaSの環境を使用するためのネットワーク構成について記載していきます。
※ここで記載している内容はWazi aaSの仮想サーバーにアクセスする想定で記載していますが、ネットワーク構成についてはWazi aaS以外の仮想サーバー(x86のLinuxサーバーや、Windowsサーバーなど)でも基本的には同じです。
関連記事
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (1) 概要
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (2) 仮想サーバー作成
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (3) ネットワーク構成
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (4) Wazi aaS への接続
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (5) Stock Iamge確認
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (6) Stock Iamge基本操作/カスタマイズ
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (7) Wazi Image Builder
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (7)' Wazi Image Builder - Trouble Shootingメモ
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (8) Wazi aaS仮想サーバーの複製
Wazi aaS: クラウド上でのメインフレーム開発環境構築 - (9) TerraformによるWazi aaS仮想サーバーの管理
ネットワーク構成概要
参考: ネットワーキングについて
上の参考に上げた情報にあるように、IBM Cloud上のVPCのネットワーク構成の概念図としては以下のイメージになります。
図中の"VSI"(Virtual Server Instance)と書かれた緑色の丸いアイコンが1つの仮想サーバーなので、これがWazi aaSのインスタンスに相当します。
このVPC上のWazi aaS(VSI)を外部(例えばインターネットに接続できるPC)から使用するためにはいくつかネットワーク構成方法がありますが、ここでは、以下の2つの方法について見ていきたいと思います。
(1) Floating IP(浮動IP)を使用する方法: Wazi aaSの仮想サーバーにGlobalのIPアドレスを割り当てて、インターネット接続可能なPCからアクセスする方法
(2) VPNを使用する方法: PC上にVPNクライアントを導入/設定し、VPCとの間でVPN接続を行ってWazi aaSの仮想サーバーにアクセスする方法
(1) Floating IP(浮動IP)を使用する方法
概要
浮動IPを使用する方法をためてみます。先の全体像のイメージでいうと、以下の赤線の経路でアクセスするイメージです。
設定例
浮動IPの付与
上のガイドに従って、先に作成したWazi aaS仮想サーバーに浮動IPを割り当てます。
仮想サーバー・インスタンスの一覧から、対象のWazi aaSのサーバーを選択し、詳細画面を開きます。
仮想サーバー詳細画面の一番下にネットワーク・インターフェースの欄があります。デフォルトだとeth0というインターフェースが割り当てられていますので、その右端の編集アイコンをクリックします。
※この時点ではeth0には浮動IPが付与されていないので浮動IPの列は「-」という表記になっています。
浮動IPアドレス欄で「新規の浮動IPを予約する」を選択して保存します。
※ネットワーク・インターフェースに関連づけるセキュリティー・グループは、IBM Cloud管理者に確認し適切なセキュリティー・グループを選択してください(セキュリティー・グループについては後述)。
Global IPアドレスがアサインされ、浮動IPの欄にそのIPアドレスが表示されます(画像はIPアドレスの一部をマスキングしています)。
ネットワーク・セキュリティー
参考:
VPC のセキュリティー - セキュリティー・グループ
セキュリティー・グループ
GlobalのIPアドレスをアサインしたということは、インターネットから誰でもこのIPアドレスにアクセスできるということになります。
Wazi aaSはz/OS開発環境として利用するものであり、例えば一般ユーザー向けにECサイトのようなサービスを提供するインフラとして利用するものではありません。つまり、どこからでも誰もが利用できるようにする必要は無く、むしろ利用者を限定するようにセキュリティーを設定するのが普通です。
"セキュリティー・グループ"という機能を使用すると、インバウンド、アウトバウンドそれぞれでポートやサブネット単位でのアクセス制御を行うことができます。
仮想サーバーを作成する際にデフォルト構成でセキュリティー・グループを作成すると、恐らく以下のような設定でセキュリティー・グループが作成されると思います。
浮動IPを割り当てたネットワーク・インターフェースに関連付けられているセキュリティー・グループの詳細画面から「ルール」タブを開きます。
デフォルトでは基本的に全てのインターネットからのリクエスト(インバウンド)を拒否し、SSH用に22番ポートとICMPのリクエストを任意の送信元から受け付けるようになっています。
また、すべてのインターネットへのリクエスト(アウトバウンド)を許可する設定になっています。
インバウンドのリクエストについては送信元を絞りたいので、22番ポートの設定を変更します。例えば、ある企業の社内ネットワークにあるPC(特定のサブネット)からのリクエストのみ許可するようにしたいと思います。
インバウンド・ルールのポート22の設定をしている行の右端のアクションアイコンからプルダウンメニューの「編集」を選択します。
ソース・タイプとしてCIDRブロックを選択し、許可したいリクエスト元のサブネットをCIDR形式で指定します。
これで、SSH用のポート22番についてリクエスト元のサブネットが制限されるようになりました。
同様に、他に外部から使用するポートについても特定のCIDRやIPアドレスを指定してアクセスを許可する設定を追加していきます。
Wazi aaS上で使用される主なポート番号は以下の通りです。
- SSH: 22
- TN3270(PCOM): 992
- z/OSMF: 10443
- RSE: 8137-8139
- DEBUG: 8135, 8191-8192, 8194
参考: Configurations in z/OS stock images - Reserved configurations
※ここで設定しているのはあくまで接続元のネットワークとポート番号による接続制限です。後述のVPN接続とは違ってネットワーク上を流れる通信の暗号化や認証の仕組みなどが担保されるわけではありません。暗号化や認証については各接続で個別に考慮する必要がありますのでご注意ください。
(2) VPNを使用する方法
概要
IBM Cloud上のVPCのネットワーク構成の概念図としては以下のイメージになります。
設定
※ここでは参考になるガイド類のみ記載
参考Qiita記事:
Client VPN for VPC(Client to Site型VPN)でVPC環境に接続する
IBM Cloud:Client to Site型VPNでVPC環境に接続する (Secrets Manager)
IBM Cloud Virtual Private Cloud (VPC) 構築実践チュートリアル - パブリックゲートウェイによる外部への接続
事前準備
Secrets Manager
参考:
Secrets Manager の使用を開始する
クライアントからサイトへの認証のセットアップ
VPNサーバーの作成
参考: VPN サーバーの作成
VPN 経路の管理
参考: VPN 経路の管理
パブリック・ゲートウェイ
参考: パブリック・ゲートウェイについて