OCIでのVCNの構成
Oracle Cloud Infrastructure (OCI)上にOracle Cloud Native Environment (OCNE)クラスタまたはOracle Container Engine for Kubernetes (OKE)クラスタを作成する前に、OCIコンパートメントで仮想クラウド・ネットワーク(VCN)を構成する必要があります。VCNは、クラウド・リソースへのアクセスを管理するソフトウェア定義のネットワークです。
詳細は、OCIのドキュメントの「ネットワーキングの概要」を参照してください。
OCIコンソールのVCNウィザードを使用すると、必要なほとんどのネットワーク・インフラストラクチャを自動的に作成できます。追加のサブネットおよびセキュリティ・ルール(後述)を手動で追加する必要があります。
VCN内では次のものが必要です:
- サブネット(セキュリティ・ルールあり)
- ゲートウェイ
- ルート表
ノート
示されている仕様に加えて、Kubernetesに必要なポートとプロトコルを受け入れるようにVCNが構成されていることを確認してください。詳細は、Kubernetesドキュメントの「Ports and Protocols」を参照してください。サブネット
サブネットは、構成設定の編成に役立つVCN内のサブディビジョンです。サブネット内のすべてのインスタンスは、同じルート表、セキュリティ・リストおよびDHCPオプションを使用します。サブネットは、パブリックまたはプライベートのいずれかになります。OCNEおよびOKEクラスタの場合、パブリック・サブネットとプライベート・サブネットの両方が必要で、サブネットは合計で4つになります。
詳細は、OCIのドキュメントの「VCNとサブネットの概要」を参照してください。
各サブネットには、仮想ファイアウォールのルールを確立する独自のセキュリティ・ルールのセットが必要です。これらのイングレス・ルールおよびエグレス・ルールは、インスタンスの内外で許可されるトラフィックのタイプ(プロトコルおよびポート)を指定します。
詳細は、OCIのドキュメントの「セキュリティ・ルール」を参照してください。
ノート
ネットワーク・セキュリティ・グループ(NSG)またはセキュリティ・リストを使用して、VCNにセキュリティ・ルールを追加できます。可能なかぎりNSGを使用することをお薦めします。詳細は、OCIのドキュメントの「セキュリティ・リストとネットワーク・セキュリティ・グループの比較」を参照してください。サブネット1: コントロール・プレーン・エンドポイント
OCIロード・バランサを収容するコントロール・プレーン・エンドポイントのパブリック・サブネット。ロード・バランサは、Kubernetes APIサーバーのリバース・プロキシとして機能します。
このサブネットで、次のトラフィックを対象とするセキュリティ・ルールを作成します:
- エグレス: コントロール・プレーン・トラフィック
- イングレス: Kubernetes APIエンドポイントへの外部アクセス
- イングレス: ICMPパス検出
セキュリティ・ルールの例
ノート
これらの例は、参照専用として提供されています。使用する環境の必要に応じて、セキュリティ・ルールをカスタマイズします。エグレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 10.0.0.0/29 | 6443 | TCP | Kubernetes APIサーバー・アクセス用のコントロール・プレーンへのHTTPSトラフィック |
イングレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 0.0.0.0/0 | 6443 | TCP | エンドポイントOCIロード・バランサへのパブリック・アクセス |
CIDRブロック | 10.0.0.0/16 | ICMPタイプ3、コード4 | パスMTU検出 |
サブネット2: コントロール・プレーン・ノード
APIサーバーやコントロール・プレーン・ポッドなど、Kubernetesコントロール・プレーン・コンポーネントを実行するコントロール・プレーン・ノードを収容するプライベート・サブネット。
このサブネットで、次のトラフィックを対象とするセキュリティ・ルールを作成します:
- エグレス: ノード・インターネット・アクセス
- イングレス: VCN内から発生する東西トラフィック
- イングレス: APIエンドポイント上のコントロール・プレーン・エンドポイントからコントロール・プレーン・ノードへのアクセス
- イングレス: APIエンドポイント上のワーカー・ノードからコントロール・プレーン・ノードへのアクセス
- イングレス: ETCDクライアントおよびピア
- イングレス: SSHトラフィック
- イングレス: コントロール・プレーンからコントロール・プレーンへのkubelet通信
- イングレス:
- イングレス: 次に対するコントロール・プレーン・ノードおよびワーカー・ノードのCalicoルール
- BGP
- IP-in-IP
セキュリティ・ルールの例
ノート
これらの例は、参照専用として提供されています。使用する環境の必要に応じて、セキュリティ・ルールをカスタマイズします。エグレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 0.0.0.0/0 | すべて | すべて | イメージをプルするためのコントロール・プレーン・ノードのインターネットへのアクセス |
イングレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 10.0.0.8/29 | 6443 | TCP | Kubernetes APIエンドポイントからKubernetesコントロール・プレーンへの通信 |
CIDRブロック | 10.0.0.0/29 | 6443 | TCP | コントロール・プレーンからコントロール・プレーンへの(APIサーバー・ポート)通信 |
CIDRブロック | 10.0.64.0/20 | 6443 | TCP | ワーカー・ノードからKubernetesコントロール・プレーンへの(APIサーバー)通信 |
CIDRブロック | 10.0.0.0/29 | 10250 | TCP | コントロール・プレーンからコントロール・プレーン・ノードへのkubelet通信 |
CIDRブロック | 10.0.0.0/29 | 2379 | TCP | etcdクライアント通信 |
CIDRブロック | 10.0.0.0/29 | 2380 | TCP | etcdピア通信 |
CIDRブロック | 10.0.0.0/29 | 179 | TCP | Calicoネットワーキング(BGP) |
CIDRブロック | 10.0.64.0/20 | 179 | TCP | Calicoネットワーキング(BGP) |
CIDRブロック | 10.0.0.0/29 | IP-in-IP | IP-in-IPが有効なCalicoネットワーキング | |
CIDRブロック | 10.0.64.0/20 | IP-in-IP | IP-in-IPが有効なCalicoネットワーキング | |
CIDRブロック | 10.0.0.0/16 | ICMPタイプ3、コード4 | パスMTU検出 | |
CIDRブロック | 0.0.0.0/0 | 22 | TCP | ワーカー・ノードへのインバウンドSSHトラフィック |
CIDRブロック | 10.0.0.0/16 | すべて | TCP | Kubernetes APIサーバー・アクセス/DNSアクセス用の東西通信 |
サブネット3: サービス・ロード・バランサ
サービス・ロード・バランサを収容するパブリック・サブネット。
このサブネットで、次のトラフィックを対象とするセキュリティ・ルールを作成します:
- エグレス: ワーカー・ノード上のサービス・ロード・バランサからNodePort
- イングレス: ICMPパス検出
- イングレス: HTTPおよびHTTPSトラフィック
セキュリティ・ルールの例
ノート
これらの例は、参照専用として提供されています。使用する環境の必要に応じて、セキュリティ・ルールをカスタマイズします。エグレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 10.0.64.0/20 | 32000-32767 | TCP | サービス・ロード・バランサからNodePortサービスへのアクセス |
イングレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 0.0.0.0/0 | 80, 443 | TCP | サービスへの受信トラフィック |
CIDRブロック | 10.0.0.0/16 | ICMPタイプ3、コード4 | パスMTU検出 |
サブネット4: ワーカー・ノード
ワーカー・ノードを収容するプライベート・サブネット。
このサブネットで、次のトラフィックを対象とするセキュリティ・ルールを作成します:
- エグレス: ノード・インターネット・アクセス
- イングレス: VCN内から発生する東西トラフィック
- イングレス: SSHトラフィック
- イングレス: ICMPパス検出
- イングレス: ワーカー・ノード上のコントロール・プレーンからkubelet
- イングレス: ワーカー・ノードからワーカー・ノード
- イングレス: 次に対するコントロール・プレーン・ノードおよびワーカー・ノードのCalicoルール
- BGP
- IP-in-IP
- イングレス: ワーカー・ノードからデフォルトのNodePortへのイングレス
セキュリティ・ルールの例
ノート
これらの例は、参照専用として提供されています。使用する環境の必要に応じて、セキュリティ・ルールをカスタマイズします。エグレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 0.0.0.0/0 | すべて | すべて | イメージをプルするためのワーカー・ノードのインターネットへのアクセス |
イングレス・ルール
宛先タイプ | 宛先 | 宛先ポート | プロトコル | 説明 |
---|---|---|---|---|
CIDRブロック | 10.0.0.32/27 | 32000-32767 | TCP | サービス・ロード・バランサからの受信トラフィック(NodePort通信) |
CIDRブロック | 10.0.0.0/29 | 10250 | TCP | コントロール・プレーン・ノードからワーカー・ノード(kubelet通信) |
CIDRブロック | 10.0.64.0/20 | 10250 | TCP | ワーカー・ノードからワーカー・ノード(kubelet通信) |
CIDRブロック | 10.0.0.0/29 | 179 | TCP | Calicoネットワーキング(BGP) |
CIDRブロック | 10.0.64.0/20 | 179 | TCP | Calicoネットワーキング(BGP) |
CIDRブロック | 10.0.0.0/29 | IP-in-IP | IP-in-IPが有効なCalicoネットワーキング | |
CIDRブロック | 10.0.64.0/20 | IP-in-IP | IP-in-IPが有効なCalicoネットワーキング | |
CIDRブロック | 10.0.0.0/16 | ICMPタイプ3、コード4 | パスMTU検出 | |
CIDRブロック | 0.0.0.0/0 | 22 | 22 | ワーカー・ノードへのインバウンドSSHトラフィック |
CIDRブロック | 10.0.0.0/16 | すべて | TCP | Kubernetes APIサーバー・アクセス/DNSアクセス用の東西通信 |
ゲートウェイ
ゲートウェイは、VCNから他のネットワークへのアクセスを制御します。次の3つの異なるタイプのゲートウェイを構成する必要があります:
VCNのサブネットをインターネットに直接公開するには、追加の構成が必要になる場合があります。詳細は、OCIのドキュメントの「インターネットへのアクセス」を参照してください。
ルート表
ルート表は、従来のネットワーク・ルート・ルールと同様のルールを使用して、VCNからトラフィックを(インターネット、オンプレミス・ネットワーク、ピアリングされたVCNなどに)送信します。
詳細は、OCIのドキュメントの「VCNルート表」を参照してください。
OCNEおよびOKEクラスタの場合、次の2つのルート表を作成する必要があります:
- インターネット・ゲートウェイとの間のステートフル・トラフィックをルーティングするパブリック・サブネットのルート表。このルート表を両方のパブリック・サブネットに割り当てます。
- NATゲートウェイとサービス・ゲートウェイとの間のステートフル・トラフィックをルーティングするプライベート・サブネットのルート表。このルート表を両方のプライベート・サブネットに割り当てます。