内部ネットワークの共有パターン#

本構成はFJcloud-O 東日本/西日本リージョン3向けです。

要求事項#

  • 利用者側の各部門が、仮想リソースやグループ・ユーザーをプロジェクトという単位で管理したい
  • 部門間で共通利用する踏み台サーバーや共有サーバーなどは、1つのプロジェクトにまとめたい

対応するデザインパターン概要#

  • 複数のプロジェクトをネットワークRBAC(プロジェクト間でネットワークリソースを共有する機能)で接続し、1つのプロジェクトに配備された踏み台サーバーや共有サーバーなどの共通サービスを、複数のプロジェクトで利用する例を記載します。

  • これによるメリットは以下のとおりです。

    • 共通のサービスを1つのプロジェクトに集約することで、構築/運用コストやミドルウェアなどのライセンス費用を削減

構造(イメージ図)#

image

  • 本構成ではプロジェクトAの内部ネットワークA1を、プロジェクトB・Cと共有します。
  • 「ssh」や「rdp」など業務サーバーB・Cメンテナンス用ポートへのアクセスは、プロジェクトAの踏み台サーバーを経由します。
  • 内部ネットワークA0・A1・B・CのIPアドレスは、重複しないよう設計してください。
  • 本構成では、仮想サーバーを、時間課金のRed Hat Enterprise Linuxで作成しています。

実装サンプル#

1. 内部ネットワークを作成#

仮想ネットワーク・仮想ルーターを作成します。

  • 各作業プロジェクトで「内部ネットワークA0」・「内部ネットワークA1」・「内部ネットワークB」・「内部ネットワークC」を作成
  • DHCPは「有効」、DNSサーバーは「8.8.8.8」を設定
作業プロジェクト ネットワーク 仮想ネットワーク名 サブネット名 サブネット ゲートウェイIP 用途
プロジェクトA 内部ネットワークA0 nwA0 subnetA0 192.168.1.0/24 192.168.1.1 SSL-VPN接続用
プロジェクトA 内部ネットワークA1 nwA1 subnetA1 192.168.10.0/24 192.168.10.1 共有ネットワーク用
プロジェクトB 内部ネットワークB nwB subnetB 192.168.20.0/24 192.168.20.1 業務用
プロジェクトC 内部ネットワークC nwC subnetC 192.168.30.0/24 192.168.30.1 業務用
  • 各作業プロジェクトで「ルーターA0」・「ルーターA1」・「ルーターB」・「ルーターC」を作成します。作成した仮想ルーターに内部ネットワークのサブネットを接続します。
作業プロジェクト ルーター 仮想ルーター名 外部ネットワーク サブネット接続 IPアドレス 用途
プロジェクトA ルーターA0 routerA0 接続(fip-net) subnetA0 192.168.1.1 SSL-VPN接続用
プロジェクトA ルーターA1 routerA1 subnetA1 192.168.10.1 共有ネットワーク用
プロジェクトB ルーターB routerB 接続(fip-net) subnetB 192.168.20.1 業務用
プロジェクトC ルーターC routerC 接続(fip-net) subnetC 192.168.30.1 業務用

2. セキュリティグループを作成#

(1) 内部ネットワークA0(SSL-VPN接続)用#

プロジェクトA内に以下を作成します。

  • セキュリティグループ
  • セキュリティグループルール
    • 送信:「TCP」「UDP」「ICMP」をすべて許可
    • 受信:「SSL-VPNクライアントプール」からの、「SSH (22/tcp)」「RDP (3389/tcp)」を許可
    • 設定手順は初期構築ガイド セキュリティグループルールを作成 を参照
    • 以下の設定値例を参照
No. ルール 方向 オープンポート ポート 接続先 CIDR
1 ALL TCP(1-65535) 送信 CIDR 0.0.0.0/0
2 ALL UDP(1-65535) 送信 CIDR 0.0.0.0/0
3 ALL ICMP 送信 CIDR 0.0.0.0/0
4 カスタムTCPルール 受信 ポート番号 22 CIDR 192.168.246.0/24
5 カスタムTCPルール 受信 ポート番号 3389 CIDR 192.168.246.0/24

(2) 内部ネットワークA1(共有ネットワーク)用#

(A) プロジェクトAでの設定#

プロジェクトA内に以下を作成します。

  • セキュリティグループ
  • セキュリティグループルール
    • 送信:「TCP」「UDP」「ICMP」をすべて許可
    • 受信:「内部ネットワークA1」からの、「SSH (22/tcp)」「RDP (3389/tcp)」「ICMP」を許可
    • 設定手順は初期構築ガイド セキュリティグループルールを作成 を参照
    • 以下の設定値例を参照
No. ルール 方向 オープンポート ポート番号 接続先 CIDR
1 ALL TCP(1-65535) 送信 CIDR 0.0.0.0/0
2 ALL UDP(1-65535) 送信 CIDR 0.0.0.0/0
3 ALL ICMP 送信 CIDR 0.0.0.0/0
4 ALL ICMP 受信 CIDR 192.168.10.0/24
5 カスタムTCPルール 受信 ポート番号 22 CIDR 192.168.10.0/24
6 カスタムTCPルール 受信 ポート番号 3389 CIDR 192.168.10.0/24
(B) プロジェクトBでの設定#

セキュリティグループはプロジェクト間で共有されません。そのため、プロジェクトB内にSG-A1-at-pjAと同一のセキュリティグループを作成します。

  • セキュリティグループ
  • セキュリティグループルール
    • 送信:「TCP」「UDP」「ICMP」すべて許可
    • 受信:「内部ネットワークA1」からの、「SSH (22/tcp)」「RDP (3389/tcp)」「ICMP」を許可
    • 設定手順は初期構築ガイド セキュリティグループルールを作成 を参照
    • 以下の設定値例を参照
No. ルール 方向 オープンポート ポート番号 接続先 CIDR
1 ALL TCP(1-65535) 送信 CIDR 0.0.0.0/0
2 ALL UDP(1-65535) 送信 CIDR 0.0.0.0/0
3 ALL ICMP 送信 CIDR 0.0.0.0/0
4 ALL ICMP 受信 CIDR 192.168.10.0/24
5 カスタムTCPルール 受信 ポート番号 22 CIDR 192.168.10.0/24
6 カスタムTCPルール 受信 ポート番号 3389 CIDR 192.168.10.0/24
(C) プロジェクトCでの設定#

同様に、プロジェクトC内に、SG-A1-at-pjAと同一のセキュリティグループを作成します。

  • セキュリティグループ
  • セキュリティグループルール
    • 送信:「TCP」「UDP」「ICMP」をすべて許可
    • 受信:「内部ネットワークA1」からの、「SSH (22/tcp)」「RDP (3389/tcp)」「ICMP」を許可
    • 設定手順は初期構築ガイド セキュリティグループルールを作成 を参照
    • 以下の設定値例を参照
No. ルール 方向 オープンポート ポート番号 接続先 CIDR
1 ALL TCP(1-65535) 送信 CIDR 0.0.0.0/0
2 ALL UDP(1-65535) 送信 CIDR 0.0.0.0/0
3 ALL ICMP 送信 CIDR 0.0.0.0/0
4 ALL ICMP 受信 CIDR 192.168.10.0/24
5 カスタムTCPルール 受信 ポート番号 22 CIDR 192.168.10.0/24
6 カスタムTCPルール 受信 ポート番号 3389 CIDR 192.168.10.0/24

(3) 内部ネットワークB(業務)用#

プロジェクトB内に以下を作成します。

No. ルール 方向 オープンポート ポート 接続先 CIDR
1 ALL TCP(1-65535) 送信 CIDR 0.0.0.0/0
2 ALL UDP(1-65535) 送信 CIDR 0.0.0.0/0
3 ALL ICMP 送信 CIDR 0.0.0.0/0

(4) 内部ネットワークC(業務)用#

プロジェクトC内に以下を作成します。

No. ルール 方向 オープンポート ポート 接続先 CIDR
1 ALL TCP(1-65535) 送信 CIDR 0.0.0.0/0
2 ALL UDP(1-65535) 送信 CIDR 0.0.0.0/0
3 ALL ICMP 送信 CIDR 0.0.0.0/0

3. SSL-VPNを作成#

仮想サーバーへのセキュアーな接続を実現するため、プロジェクトA内にSSL-VPNを作成します。

(1) VPNサービスを作成#

  • ルーターA0にVPNサービスを設定
項目 設定値例
仮想ルーター名 routerA0
サブネット名 subnetA0
VPNサービス名 ssl-vpn-service
説明 (空欄)
管理状態 TRUE

Note

「指定した仮想ルーターにファイアウォールが設定されていません。VPNサービス作成後に設定してください。」というポップアップが現れますが、ここではOKをクリックします。

(2) SSL-VPNコネクションを作成#

項目 設定値例
SSL-VPN接続名 ssl-vpn-conn
管理状態 TRUE
証明書 FJcloud証明書(デフォルト)
グローバルIP 自動割当
クライアントIPプール 192.168.246.0/24

4. ネットワークRBACを作成#

プロジェクトAで、APIを使用してネットワークRBACを作成します。

  • 設定項目(REST API)
リクエストパラメーター名 変数例 設定値例 内容
"action" $RBAC_ACTION "access_as_shared" RBACポリシーのアクションを指定
"object_id" $OBJ_ID (仮想ネットワークID) 共有する内部ネットワークのリソースIDを指定
ここでは内部ネットワークA1のIDを指定
"object_type" $OBJ_TYPE "network" RBACポリシーを適用するオブジェクトのタイプを指定
"target_tenant" $TAR_TENANT1 (プロジェクトID) RBACポリシーを適用するプロジェクトのIDを指定
ここではプロジェクトBのIDを指定
"target_tenant" $TAR_TENANT2 (プロジェクトID) RBACポリシーを適用するプロジェクトのIDを指定
ここではプロジェクトCのIDを指定
  • 実行API
    以下のcurlコマンドを実行し、内部ネットワークA1をプロジェクトBに共有するためのRBACポリシーを作成

    curl -Ss $NETWORK/v2.0/rbac-policies -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{ "rbac_policy":{ "action":"'$RBAC_ACTION'", "object_id":"'$OBJ_ID'", "object_type":"'$OBJ_TYPE'", "target_tenant":"'$TAR_TENANT1'" } }' | jq .
    

  • 実行API
    以下のcurlコマンドを実行し、内部ネットワークA1をプロジェクトCに共有するためのRBACポリシーを作成

    curl -Ss $NETWORK/v2.0/rbac-policies -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{ "rbac_policy":{ "action":"'$RBAC_ACTION'", "object_id":"'$OBJ_ID'", "object_type":"'$OBJ_TYPE'", "target_tenant":"'$TAR_TENANT2'" } }' | jq .
    

Note

RHELの仮想環境でAPIを実行するための手順は、初期構築ガイドの API実行-コマンドライン編 を参照してください。

Note

target_tenantにワイルドカードを使用することで、複数の内部ネットワークを指定することはできません。
プロジェクトの数だけアクセスポリシーを作成してください。

5. 仮想サーバーを作成#

  • 以下の設定値例に従い、各作業プロジェクトで「踏み台サーバー」・「共有サーバー」・「業務サーバーB」・「業務サーバーC」を作成

    • サーバーグループは「設定なし」、デバイスサイズは最小ディスク容量を設定
    • キーペアは任意のキーペアを選択
    • 「踏み台サーバー」・「業務サーバーB」・「業務サーバーC」ではプロビジョニングスクリプトを設定

      • インターネット接続のため、一時的なデフォルトゲートウェイを設定
        #!/bin/bash
        /sbin/ip r d default via 192.168.10.1
        
    • 作成手順は初期構築ガイド 仮想サーバー構築 を参照

作業プロジェクト 仮想サーバー 仮想サーバー名 仮想サーバータイプ OSイメージ 選択済み仮想ネットワーク セキュリティグループ デフォルトゲートウェイとして設定される値
プロジェクトA 踏み台サーバー BastionVM C3-2 [Hourly] Red Hat Enterprise Linux 8.x 64bit (English) nwA0・nwA1 (ここでは選択不要) 192.168.1.1
プロジェクトA 共有サーバー SharedVM C3-2 [Hourly] Red Hat Enterprise Linux 8.x 64bit (English) nwA1 SG-A1-at-pjA (設定不要)
プロジェクトB 業務サーバーB BizVM-B C3-2 [Hourly] Red Hat Enterprise Linux 8.x 64bit (English) nwB・nwA1 (ここでは選択不要) 192.168.20.1
プロジェクトC 業務サーバーC BizVM-C C3-2 [Hourly] Red Hat Enterprise Linux 8.x 64bit (English) nwC・nwA1 (ここでは選択不要) 192.168.30.1
  • ポートのセキュリティグループを設定
    • IaaSポータル画面の場合:上記の各プロジェクト内で、ポートの「アクション」 → 「セキュリティグループ設定」をクリック
    • 初期設定値「default」を解除し、以下の表に従い必要なセキュリティグループを選択
    • 「仮想詳細画面」をリロードして、設定内容が反映されていることを確認
作業プロジェクト 仮想サーバー 仮想サーバー名 仮想ネットワーク セキュリティグループ 用途
プロジェクトA 踏み台サーバー BastionVM nwA0 SG-A0 内部ネットワークA0用
プロジェクトA 踏み台サーバー BastionVM nwA1 SG-A1-at-pjA 内部ネットワークA1用
プロジェクトB 業務サーバーB BizVM-B nwA1 SG-A1-at-pjB 内部ネットワークA1用
プロジェクトB 業務サーバーB BizVM-B nwB SG-B 内部ネットワークB用
プロジェクトC 業務サーバーC BizVM-C nwA1 SG-A1-at-pjC 内部ネットワークA1用
プロジェクトC 業務サーバーC BizVM-C nwC SG-C 内部ネットワークC用
  • すべてのサーバーが、「内部ネットワークA1」に接続されていることを確認

    • IaaSポータル画面の場合:各プロジェクトにログインし、仮想ネットワーク一覧 → 「nwA1」のリンク → 「ポート」を確認
    • 作成したポートがすべて存在し、状態が「ACTIVE」かつ管理状態が「Up」であることを確認する
  • 設定変更を反映させるため、すべての仮想サーバーを再起動

    • IaaSポータル画面の場合:各プロジェクトにログインし、仮想サーバ一覧 → 仮想サーバーの「アクション」 → 既存のポートの「アクション」 → 「再起動(ハード)」を選択

6. 踏み台サーバーの設定変更#

踏み台サーバーのルーティング設定を変更します。

(1)「踏み台サーバー」にログイン#

  • 作業用PCからSSL-VPN接続

  • TeraTermを使用して、踏み台サーバーにログイン

$ ssh -i ./test-keypair.pem k5user@192.168.1.11
$ sudo su -

(2)踏み台サーバーから、他のサーバーへSSHするための準備#

  • キーペアファイルを、自PCから踏み台サーバーへ転送
    • TeraTermの[ファイル]→[ssh scp...]を選択
    • from:「送信するキーペアファイル」を選択、to:踏み台サーバーの任意フォルダー(例:/home/k5user)を指定
  • キーペアファイルのアクセス権限を「600」に指定
    $ chmod 600 ./test-keypair.pem
    $ ls -l
    total 4
    -rw-------. 1 k5user k5user 1679 Sep 13  2018 test-keypair.pem
    

(3)ルーティング設定を変更#

(A)デバイスeth1をデフォルトルートから削除#

ルーティング情報を確認の上、デバイスeth1でデフォルトルートを使用しないように設定します。

  • rootユーザーに変更し、内部ネットワークA1へのポート追加後のルーティング情報を確認
    • IPアドレス192.168.1.11および192.168.10.11はデバイスeth0、eth1それぞれに割り当てられたIPアドレス
    • 以下の作業でdefault via 192.168.10.1 dev eth1 proto dhcp metric 101の行が削除されるように、デバイスeth1をデフォルトルートから削除
      $ sudo su -
      # ip route show
      default via 192.168.1.1 dev eth0 proto static metric 100
      default via 192.168.10.1 dev eth1 proto dhcp metric 101
      192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.11 metric 100
      192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.11 metric 101
      

  • デバイスeth1のconnectionに対するUUIDを確認

    # nmcli connection show
    NAME                UUID                                  TYPE      DEVICE
    System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
    Wired connection 1  a5f11d64-7961-3790-9bf4-8525e5e0e691  ethernet  eth1
    ens3                421b5593-cd40-421f-8cfd-3b23942345f6  ethernet  --
    

  • デバイスeth1のconnectionに対するUUIDを指定し、デバイスをデフォルトゲートウェイとして使用しないようする設定(ipv4.never-default)が無効になっていることを確認

    # nmcli connection show a5f11d64-7961-3790-9bf4-8525e5e0e691 | grep "ipv4.never-default"
    ipv4.never-default:                     no
    

  • デバイスeth1をデフォルトゲートウェイとして使用しないように設定

    • ipv4.never-defaultの設定パラメーターをyesに修正
      nmcli connection modify a5f11d64-7961-3790-9bf4-8525e5e0e691 ipv4.never-default yes
      
  • 設定の変更内容を確認

    # nmcli connection show a5f11d64-7961-3790-9bf4-8525e5e0e691 | grep "ipv4.never-default"
    ipv4.never-default:                     yes
    

  • 設定変更を反映

    # nmcli connection up a5f11d64-7961-3790-9bf4-8525e5e0e691
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
    

  • ルーティングを再度確認し、デバイスeth1がデフォルトルートとして使用されていないことを確認

    # ip route show
    default via 192.168.1.1 dev eth0 proto static metric 100
    192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.11 metric 100
    192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.11 metric 101
    

(B) デバイスeth0にスタティックルーティングを設定#

将来のルーティング変更(例:デフォルトルートをバックLAN側に切替)でSSL-VPN接続できなくなるリスクを回避するため、デバイスeth0にスタティックルーティングを設定します。

  • デバイスeth0のconnectionに対するUUIDを確認

    # nmcli connection show
    NAME                UUID                                  TYPE      DEVICE
    System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
    Wired connection 1  a5f11d64-7961-3790-9bf4-8525e5e0e691  ethernet  eth1
    ens3                421b5593-cd40-421f-8cfd-3b23942345f6  ethernet  --
    

  • デバイスeth0のconnectionに対するUUIDを指定し、デバイスeth0に対しスタティックルーティングを設定する

    nmcli connection modify 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 +ipv4.routes "192.168.246.0/24 192.168.1.1"
    

  • 設定の変更内容を確認

    # nmcli connection show 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 | grep "ipv4.routes"
    ipv4.routes:                            { ip = 192.168.246.0/24, nh = 192.168.1.1 }
    

  • 設定変更を反映

    # nmcli connection up 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
    

  • 再度ルーティングを確認

    #  ip route show
    default via 192.168.1.1 dev eth0 proto static metric 100
    192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.11 metric 100
    192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.11 metric 101
    192.168.246.0/24 via 192.168.1.1 dev eth0 proto static metric 100
    

7.業務サーバーBの設定変更#

業務サーバーBのルーティング設定を変更します。
手順は 6. 踏み台サーバーの設定変更 と同じです。

(1)「踏み台サーバー」から「業務サーバーB」にログイン、rootユーザへ変更#

$ ssh -i ./test-keypair.pem k5user@192.168.10.21
$ sudo su -

(2)ルーティング設定を変更#

「SSL-VPNクライアントIPプール」のスタティックルーティング追加は不要です。

  • 修正後のルーティング情報
    • IPアドレス192.168.1.21および192.168.10.60はデバイスeth1、eth0それぞれに割り当てられたIPアドレス
      # ip route show
      default via 192.168.20.1 dev eth0 proto static metric 100
      192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.21 metric 101
      192.168.20.0/24 dev eth0 proto kernel scope link src 192.168.20.60 metric 100
      

(3)サーバーを再起動し、疎通確認#

サーバーを再起動し、再度踏み台サーバー経由でsshログインできることを確認します。
上記(2)で設定したルーティング情報が反映されていることを確認します。

8.業務サーバーCの設定変更#

業務サーバーCのルーティング設定を変更します。
手順は 6. 踏み台サーバーの設定変更 と同じです。

(1)「踏み台サーバー」から「業務サーバーC」にログイン、rootユーザへ変更#

$ ssh -i ./test-keypair.pem k5user@192.168.10.31
$ sudo su -

(2)ルーティング設定を変更#

「SSL-VPNクライアントIPプール」のスタティックルーティング追加は不要です。

  • 修正後のルーティング情報
    • IPアドレス192.168.10.31および192.168.30.91はデバイスeth1、eth0それぞれに割り当てられたIPアドレス
      # ip route show
      default via 192.168.30.1 dev eth0 proto static metric 100
      192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.31 metric 101
      192.168.30.0/24 dev eth0 proto kernel scope link src 192.168.30.91 metric 100
      

(3)サーバーを再起動し、疎通確認#

サーバーを再起動し、再度踏み台サーバー経由でsshログインできることを確認します。
上記(2)で設定したルーティング情報が反映されていることを確認します。

9. 付録:テンプレートでの自動構築#

IaaSポータルでの手動構築で、特に煩雑となる以下の章に対応するテンプレートファイルを公開します。
APIでテンプレートファイルを実行することで、自動構築ができます。

  • 1 . 内部ネットワークを作成
  • 2 . セキュリティグループを作成
  • 4 . ネットワークRBACを作成

※SSL-VPNの構築はテンプレートに非対応のため、IaaSポータルでの手動構築が必要です。

テンプレートによる構築手順を以下で説明します。
なお、APIでのテンプレート実行方法は必要に応じて、「テンプレートを使用したサンプルシステムの構築」の 4. APIでのスタック作成 を参照してください。

(1) 事前準備#

以下よりテンプレートをダウンロードし、解凍してください。

テンプレートファイル

フォルダー・ファイル構成:

  • SAMPLE_TEMPLATE_prjA:プロジェクトAで実行するテンプレート用フォルダ
    ├ TEMPLATE_NETWORK_prjA.yaml
    ├ PARAMETER_NETWORK_prjA.json
    ├ TEMPLATE_SG_prjA.yaml
    └ PARAMETER_SG_prjA.json
  • SAMPLE_TEMPLATE:プロジェクトB・Cで実行するテンプレート用フォルダ
    ├ TEMPLATE_NETWORK.yaml
    ├ PARAMETER_NETWORK_prjB.json
    ├ PARAMETER_NETWORK_prjC.json
    ├ TEMPLATE_SG.yaml
    ├ PARAMETER_SG_prjB.json
    └ PARAMETER_SG_prjC.json

続いて、IaaSポータルより、各プロジェクトで以下の値を任意の場所に控えてください。

  • プロジェクトA
    • 外部ネットワーク(fip-net)の仮想ネットワークID
  • プロジェクトB
    • 外部ネットワーク(fip-net)の仮想ネットワークID
    • プロジェクトID
  • プロジェクトC
    • 外部ネットワーク(fip-net)の仮想ネットワークID
    • プロジェクトID

さらに、以下ファイルに、上記で控えた値を記入します

  • PARAMETER_NETWORK_prjA.json
    • 2行目(fip_net)の<仮想ネットワークID>を、プロジェクトAの外部ネットワーク(fip-net)の仮想ネットワークIDに置換
    • 10行目(project_id2)の<プロジェクトID>を、プロジェクトBのプロジェクトIDに置換
    • 11行目(project_id3)の<プロジェクトID>を、プロジェクトCのプロジェクトIDに置換
  • PARAMETER_NETWORK_prjB.json
    • 2行目(fip_net)の<仮想ネットワークID>を、プロジェクトBの外部ネットワーク(fip-net)の仮想ネットワークIDに置換
  • PARAMETER_NETWORK_prjC.json
    • 2行目(fip_net)の<仮想ネットワークID>を、プロジェクトCの外部ネットワーク(fip-net)の仮想ネットワークIDに置換

Note

外部ネットワーク(fip-net)の仮想ネットワークID確認方法は、「テンプレートを使用したサンプルシステムの構築」パターンの 事前準備 を参照してください。
また、プロジェクトIDの確認方法は、「テンプレートを使用したサンプルシステムの構築」パターンの (2) スタック作成スクリプトの準備 を参照してください。

(2) プロジェクトAでの作業#

以下の作業を、プロジェクトAのAPIトークンを取得し、順に実行します。

(A) セキュリティグループを作成#
  • API実行フォルダに、PARAMETER_SG_prjA.json およびTEMPLATE_SG_prjA.yamlを展開します。
  • スタック名をSG-prjAとして、curlコマンドでスタックを作成します。
(B) ネットワーク関連リソースを作成#
  • API実行フォルダに、PARAMETER_NETWORK_prjA.json およびTEMPLATE_NETWORK_prjA.yamlを展開します。
  • スタック名をNW-prjAとして、curlコマンドでスタックを作成します。

(3) プロジェクトBでの作業#

以下の作業を、プロジェクトBのAPIトークンを取得し、順に実行します。

(A) セキュリティグループを作成#
  • API実行フォルダに、PARAMETER_SG_prjB.json およびTEMPLATE_SG.yamlを展開します。
  • スタック名をSG-prjBとして、curlコマンドでスタックを作成します。
(B) ネットワーク関連リソースを作成#
  • API実行フォルダに、PARAMETER_NETWORK_prjB.json およびTEMPLATE_NETWORK.yamlを展開します。
  • スタック名をNW-prjBとして、curlコマンドでスタックを作成します。

(4) プロジェクトCでの作業#

以下の作業を、プロジェクトCのAPIトークンを取得し、順に実行します。

(A) セキュリティグループを作成#
  • API実行フォルダに、PARAMETER_SG_prjC.json およびTEMPLATE_SG.yamlを展開します。
  • スタック名をSG-prjCとして、curlコマンドでスタックを作成します。
(B) ネットワーク関連リソースを作成#
  • API実行フォルダに、PARAMETER_NETWORK_prjC.json およびTEMPLATE_NETWORK.yamlを展開します。
  • スタック名をNW-prjCとして、curlコマンドでスタックを作成します。

(5) SSL-VPNを構築#

必要に応じて、IaaSポータルからSSL-VPNを作成します。 手順は 3. SSL-VPNを作成 を参照してください。

以上で、テンプレートによる構築は終了です。
この後の手順は、5. 仮想サーバーを作成 以降を参照し、進めてください。

Note

スタック削除をする際は、失敗を避けるため、以下をご確認ください。

  • 各スタックは、作成完了直後の状態で削除してください。
      (SSL-VPNなど、あとから追加構築したリソースとの依存関係がないことを確認してください)
  • 複数のスタックを作成した場合は、作成時とは逆順でスタックを削除してください。
  • 注意事項#

    • 本パターンは2024年5月時点のFJcloud-O 東日本/西日本リージョン3で動作検証しています。
    • 実際の運用では、 セキュリティグループ活用 を参考に、適切なセキュリティグループを設定してください。