はじめに
OCIのネットワークを構成するコンポーネントは様々なものがありますが、作成する順番を留意することで手戻りなくネットワークを構築することができます。
まずはVCNから作成を始めますが、その後どの順番で各コンポーネントを作成すれば効率が良いか、各コンポーネントの作成時に必要なものから考えてみます
1.サブネットを作成する際に必要なもの
- ルート表
- セキュリティリスト
- DHCPオプション
→サブネットより先にルート表、セキュリティリスト、DHCPオプションを作成する必要がある。
2. ルート表を作成する際に必要なもの
- ターゲットとなるゲートウェイ(インターネット・ゲートウェイ、サービス・ゲートウェイなど)
→ルート表より先にゲートウェイを作成する必要がある
3. セキュリティ・リストを作成する際に必要なもの
- 特になし
4.各種ゲートウェイを作成する際に必要なもの
- 特になし
5.DHCPオプションを作成する際に必要なもの
- 特になし
6. ということで
個人的にオススメな順番は以下の通りです。
- VCN
- 各種ゲートウェイ(インターネット・ゲートウェイ、サービス・ゲートウェイなど)
- ルート表
- セキュリティ・リスト
- DHCPオプション(カスタム・リゾルバを使用する場合、それ以外はVCN作成時に作成されるものを利用)
- サブネット
- ネットワーク・セキュリティ・グループ(必要に応じて)
7. ネットワーク(VCN)構成手順例
上記のような環境を例にとって、構築手順を考えてみます。
文章にすると以下のような感じです。
- VCN(仮想クラウド・ネットワーク)は1つ(VCN1:10.0.0.0/16)
- VCN内にパブリック・サブネット(Subnet1:10.0.1.0/24)、プライベート・サブネット(Subnet2:10.0.2.0/24)が1つづつある
- パブリック・サブネット(Subnet1)は、インターネット・ゲートウェイを経由してインターネットとの相互接続が可能
- プライベート・サブネット(Subnet2)、NATゲートウェイを経由してインターネットへのアクセスが可能
- パブリック・サブネット(Subnet1)、プライベート・サブネット(Subnet2)ともに、サービス・ゲートウェイを経由してリージョン内のオブジェクト・ストレージにアクセス可能
- パブリック・サブネット(Subnet1)は、すべての場所からSSHアクセス(TCP 22)が可能
- パブリック・サブネット(Subnet1)は、すべての場所にすべてのプロトコルでアクセスが可能
- プライベート・サブネット(Subnet2)は、パブリック・サブネット(Subnet1)からのみSSHアクセス(TCP 22)が可能
- プライベート・サブネット(Subnet2)は、すべての場所にすべてのプロトコルでアクセスが可能
前提として、すべてのコンポーネントを「Compartment1」に作成するとします。
1. VCNの作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」
・スコープのコンパートメント:「Compartment1」を選択
・「VCNの作成」ボタンをクリック
・名前:VCN1
・コンパートメントに作成:「Compartment1」を選択
・CIDRブロック:10.0.0.0/16
・DNS解決:チェックをオン(デフォルト)
・DNSラベル:デフォルトのまま
・「VCNの作成」をクリック
2.インターネット・ゲートウェイの作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「インターネット・ゲートウェイ」
・「インターネット・ゲートウェイの作成」ボタンをクリック
・名前:InternetGateway1
・コンパートメントに作成:「Compartment1」を選択
・「インターネット・ゲートウェイの作成」をクリック
3.サービス・ゲートウェイの作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「サービス・ゲートウェイ」
・「サービス・ゲートウェイの作成」ボタンをクリック
・名前:ServiceGateway1
・コンパートメントに作成:「Compartment1」を選択
・サービス:「OCI XXX Object Storage」を選択
・「サービス・ゲートウェイの作成」をクリック
4.NATゲートウェイの作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「NATゲートウェイ」
・「NATゲートウェイの作成」ボタンをクリック
・名前:NATGateway1
・コンパートメントに作成:「Compartment1」を選択
・「エフェメラル・パブリックIPアドレス」を選択
・「NATゲートウェイの作成」をクリック
5.パブリック・サブネット(Subnet 1)用のルート表の作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「ルート表」
・「ルート表の作成」ボタンをクリック
・名前:Route Table for Subnet1
・コンパートメントに作成:「Compartment1」を選択
「+追加のルート・ルール」をクリック
・ターゲット・タイプ:「インターネット・ゲートウェイ」を選択
・宛先CIDRブロック:0.0.0.0/0
・コンパートメント:Compartment1
・ターゲット・インターネット・ゲートウェイ:「InternetGateway1」を選択
「+追加のルート・ルール」をクリック
・ターゲット・タイプ:「サービス・ゲートウェイ」を選択
・宛先サービス:「OCI xxx Object Storage」を選択
・コンパートメント:Compartment1
・ターゲット・サービス・ゲートウェイ:「ServiceGateway1」を選択
・「ルート表の作成」ボタンをクリック
6.プライベート・サブネット(Subnet 2)用のルート表の作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「ルート表」
・「ルート表の作成」ボタンをクリック
・名前:Route Table for Subnet2
・コンパートメントに作成:「Compartment1」を選択
「+追加のルート・ルール」をクリック
・ターゲット・タイプ:「NATゲートウェイ」を選択
・宛先CIDRブロック:0.0.0.0/0
・コンパートメント:Compartment1
・ターゲット・インターネット・ゲートウェイ:「NATGateway1」を選択
「+追加のルート・ルール」をクリック
・ターゲット・タイプ:「サービス・ゲートウェイ」を選択
・宛先サービス:「OCI xxx Object Storage」を選択
・コンパートメント:Compartment1
・ターゲット・サービス・ゲートウェイ:「ServiceGateway1」を選択
・「ルート表の作成」ボタンをクリック
7.パブリック・サブネット(Subnet1)用のセキュリティ・リストの作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「セキュリティ・リスト」
・「セキュリティ・リストの作成」をクリック
・ 名前:Security List for Subnet1
・コンパートメントに作成:「Compartment1」を選択
・「+追加のイングレス・ルール」をクリック
・ステートレス:チェックをオフ(デフォルト)
・ソース・タイプ:「CIDR」を選択
・ソースCIDR:0.0.0.0/0
・IPプロトコル:「TCP」を選択
・ソース・ポート範囲:入力しない
・宛先ポート範囲:22
・「+追加のエグレス・ルール」をクリック
・ステートレス:チェックをオフ(デフォルト)
・宛先タイプ:「CIDR」を選択
・宛先CIDR:0.0.0.0/0
・IPプロトコル:「全てのプロトコル」を選択
・「セキュリティ・リストの作成」をクリック
8.プライベート・サブネット(Subnet2)用のセキュリティ・リストの作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「セキュリティ・リスト」
・「セキュリティ・リストの作成」をクリック
・ 名前:Security List for Subnet2
・コンパートメントに作成:「Compartment1」を選択
・「+追加のイングレス・ルール」をクリック
・ステートレス:チェックをオフ(デフォルト)
・ソース・タイプ:「CIDR」を選択
・ソースCIDR:10.0.1.0/24
・IPプロトコル:「TCP」を選択
・ソース・ポート範囲:入力しない
・宛先ポート範囲:22
・「+追加のエグレス・ルール」
・ステートレス:チェックをオフ(デフォルト)
・宛先タイプ:「CIDR」を選択
・宛先CIDR:0.0.0.0/0
・IPプロトコル:「全てのプロトコル」を選択
・「セキュリティ・リストの作成」をクリック
9.パブリック・サブネット(Subnet1)の作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「サブネット」
・「サブネットの作成」をクリック
・名前:Subnet1
・コンパートメントに作成:「Compartment1」を選択
・サブネット・タイプ:「リージョナル(推奨)」を選択(デフォルト)
・CIDRブロック:10.0.1.0/24
・ルート表:「Route Table for Subnet1」を選択
・サブネット・アクセス:「パブリック・サブネット」を選択
・DNS解決 このSUBNETでDNSホスト名を使用:チェックをオン(デフォルト)
・DNSラベル:デフォルトのまま(入力しない)
・DHCPオプション:「Default DHCP Option for VCN1」を選択
・セキュリティ・リスト:「Security List for Subnet1」を選択
・「サブネットの作成」をクリック
10.プライベート・サブネット(Subnet2)の作成
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「サブネット」
・「サブネットの作成」をクリック
・名前:Subnet2
・コンパートメントに作成:「Compartment1」を選択
・サブネット・タイプ:「リージョナル(推奨)」を選択(デフォルト)
・CIDRブロック:10.0.2.0/24
・ルート表:「Route Table for Subnet2」を選択
・サブネット・アクセス:「プライベート・サブネット」を選択
・DNS解決 このSUBNETでDNSホスト名を使用:チェックをオン(デフォルト)
・DNSラベル:デフォルトのまま(入力しない)
・DHCPオプション:「Default DHCP Option for VCN1」を選択
・セキュリティ・リスト:「Security List for Subnet2」を選択
・「サブネットの作成」をクリック
以上で、上記の図のようなネットワーク構成が完成しました。
おまけ.ネットワークセキュリティグループの作成
Webサーバに適用することを想定した、すべての場所からTCP 80、TCP443へのアクセスを許可するネットワーク・アクセス・グループを作成します。
「コンソールメニュー」 → 「ネットワーキング」 → 「仮想クラウド・ネットワーク」 → 「仮想クラウドネットワークの詳細」 → 「ネットワーク・セキュリティ・グループ」
・「ネットワーク・セキュリティ・グループの作成」をクリック
・名前:Network Security Group for APr
・コンパートメントに作成:「Compartment1」を選択
・「次」をクリック
・セキュリティ・ルールの追加
ルール
ステートレス:チェックをオフ(デフォルト)
方向:「イングレス」を選択(デフォルト)
ソースタイプ:「CIDR」を選択
ソース:0.0.0.0/0
IPプロトコル:「TCP」を選択
ソース・ポート範囲:デフォルトのまま(入力しない)
宛先ポート範囲:80
説明:Security Rule for HTTP(TCP 80)
「+別のルール」をクリック
ルール
ステートレス:チェックをオフ(デフォルト)
方向:「イングレス」を選択(デフォルト)
ソースタイプ:「CIDR」を選択
ソース:0.0.0.0/0
IPプロトコル:「TCP」を選択
ソース・ポート範囲:デフォルトのまま(入力しない)
宛先ポート範囲:443
説明:Security Rule for HTTPS(TCP 443)
・「作成」をクリック