ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Infrastructureでのリソースごとのルーティングの構成
イントロダクション
リソースごとのルーティングとは、特定のVNICまたはその仮想ネットワーク・インタフェース・カード(VNIC)に関連付けられた個々のIPアドレスでルーティング・ルールを直接定義する機能を指します。これにより、サブネットレベルのルート表のみに依存するのではなく、要件が異なる場合に備えて、単一のサブネット内の各リソースに合せた拡張ルーティング制御が提供されます。これにより、組織は、ソースに基づいて適切な宛先リソースにデータをルーティングすることで、ネットワーク・トラフィックを最適化し、パフォーマンスを向上させることができます。
Oracle Cloud Infrastructure(OCI)ユーザーは、リソースごとのルーティングを使用して、個々のリソースに適用されるルーティング・ポリシーを構成し、トラフィックがアプリケーション・アーキテクチャを最適にサポートする方法で転送されるようにすることができます。ネットワーク制御を強化し、複雑なクラウド環境の管理を容易にします。このルーティング方法は、トラフィックを特定のリソースにルーティングする方法を定義することで、トラフィック・フローを改善するのに役立ちます。
目的
このチュートリアルでは、OCI内のリソースごとのルーティングに関する包括的な理解を提供します。
-
リソースごとのルーティングの概念を理解する:ルーティング・ポリシーを特定のOCIリソースに適用して、トラフィック管理とパフォーマンスの最適化を改善する方法について学習します。
-
ルーティング・ルールの設定: OCIでリソースごとのルーティング・ルールを作成および構成する際の実践的な経験を得て、ネットワーク・トラフィックをソースVNICに基づいて異なるリソースに効果的に送信します。

前提条件
-
OCIテナンシへのアクセスと、必要なネットワーク、コンピュートおよびストレージ・サービスを管理する権限。
-
OCIネットワークのルーティングとセキュリティとその機能(Virtual Cloud Network (VCN)、ルート表、セキュリティ・リストおよび要塞サービス)の基本の理解。また、Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)の動的グループおよびポリシーに関する一部の知識が役立ちます。
-
リソースごとのルーティングに焦点を当てて、次のドキュメントを確認してOCIルーティングをしっかり理解してください。これにより、実用的な実装に進む前に貴重なコンテキストが提供されます。
ノート:各例は、他とは独立して準備されます。どんな順序でも作業できます。
例1: OCI Network Firewallを介した1つの仮想マシン(VM)のみのインターネット・トラフィックの調査
目標の例:
この例では、1つの特定のVMのアウトバウンド・インターネット・トラフィックをOCIネットワーク・ファイアウォールを介してルーティングし、NATゲートウェイに到達する前にそれを検査して保護し、同じサブネット内の2番目のVMのファイアウォールをバイパスすることに重点を置いています。リソースごとのルーティングを使用しない場合は、このシナリオを実現するために、各インスタンスを異なるサブネットに配置する必要があります。

前提条件の例:
この設計に合わせて、いくつかの必須コンポーネントを構成します。これは、基本的に、同じVCN内の別個のサブネット内のネットワーク・ファイアウォールに加えて、プライベート・サブネット内の2つのコンピュート・インスタンスです。

-
Virtual Cloudネットワーク(
MyVCN(192.168.0.0/16)など)を作成します。詳細は、VCNの作成を参照してください。 -
2つのプライベート・サブネットを作成します。詳細は、サブネットの作成を参照してください。
Application-Private-Subnet(192.168.0.0/24): このチュートリアルでは、デフォルト・ルート表およびデフォルト・セキュリティ・リストをサブネットに割り当てます。Firewall-Private-Subnet(192.168.1.0/24).
-
VCNにNATゲートウェイを作成します。NATゲートウェイにより、パブリックIPアドレスを持たないクラウド・リソースがインターネットにアクセスできるようになり、インバウンド・インターネット接続にリソースを公開することなく、アウトバウンド接続のみが提供されます。詳細は、NAT Gatewayの作成を参照してください
-
2つのコンピュート・インスタンス
Linux-VM-1およびLinux-VM-2を作成します。詳細は、タスク2: OCIコンピュート・インスタンスのプロビジョニングを参照してください。次の点を考慮してください。- 各OCIコンピュート・インスタンスの名前。
- Oracle Linuxをオペレーティングシステム(OS)として使用します。
- 両方のインスタンスを
Application-Private-Subnetに配置し、設計に従ってIPを手動で割り当てます。 - OCI Bastionプラグインを有効にします。
-
OCI Bastionサービスとセッションを作成し、プライベート・サブネット内に存在するため、インスタンスに安全にアクセスし、設定の最後にテストする必要があります。このチュートリアルで作成したコンポーネントに合わせて、ターゲット・ネットワークやインスタンスなどの違いを考慮してください。詳細は、タスク6.1: 要塞およびテストを使用したFE-VMコンピュート・インスタンスへのアクセスを参照してください。
-
次のようなファイアウォール・ソリューションをプロビジョニングできます。
- OCIファイアウォール(チュートリアルではこれを使用しています)。
- サード・パーティのファイアウォール・インスタンス(FortiGate、Palo Altoなど)。もう1つのよい例は、pfSenseファイアウォールです。インストールするには、タスク3: pfSenseファイアウォールのインストールおよび構成を参照してください。
- Linuxベースのファイアウォール・インスタンス。
タスク1: Linux-VM-2からインターネットへのトラフィックを検査するためのOCIネットワーク・ファイアウォールの準備
- 「デフォルト・セキュリティ・リスト」では、すべてのトラフィックがファイアウォールを通過して徹底的に評価できるようにし、アイデンティティ・サービスによる許可、拒否、監視など、OCIセキュリティ・ルールではなくファイアウォールでトラフィックを完全に制御できるようにします。
- MyVCNのデフォルト・ルート表:空で、使用されていません。
- ファイアウォール・サブネット・ルート表では、すべてのトラフィックをNATゲートウェイを介してインターネットに(一方向)ルーティングします。
- NATルート表を使用して、インターネットからのレスポンス・トラフィックを、ソース(
Linux-VM-2)に返送する前に検査対象のファイアウォールにルーティングします。
タスク1.1: ファイアウォール・サブネットのルーティングおよびセキュリティの設定
-
OCIコンソールにログインし、「Virtual Cloud Network Details」ページに移動します。

-
下へスクロール
- 「セキュリティ・リスト」をクリックします。
- デフォルト・セキュリティ・リストをクリックします。

- すべてのイングレス・トラフィックを許可します。
- すべてのエグレス・トラフィックを許可

- 「Virtual Cloud Network Details」ページにナビゲートします。
- 下へスクロール
- 「ルート表」をクリックします。
- 「ルート表の作成」をクリックします。

- ルート表の「名前」を入力します。
- 「+別のルート・ルール」をクリックします。

-
「ルール」に、次の情報を入力します。
- 「ターゲット・タイプ」で、「NAT Gateway」を選択します。
- 「宛先CIDRブロック」で、
0.0.0.0/0と入力します。 - 「ターゲットNAT Gateway」で、「前提条件」で作成したNATゲートウェイを選択します。
- 「作成」をクリックします。

-
Firewall Subnet Route Tableは正常に作成されました。
-
次に、ルート表をファイアウォール・サブネットに割り当てます。「Virtual Cloud Network Details」ページに移動します。
- 「サブネット」をクリックします。
- 「ファイアウォール- プライベート- サブネット」をクリックします。

-
「編集」をクリックします。

- 前に作成したルート表を使用します。
- 「変更の保存」をクリックします。

-
ルート表が正常に変更されました。

このタスクでは、サブネット・レベルのルート表を作成して割り当てました。つまり、このサブネット内にデプロイされたすべてのリソースは、定義されたルーティング・ルールによって管理されます。
タスク1.2: NAT Gatewayルート表の作成および割当て
-
続行する前に、必ずNATゲートウェイを作成してください。「Virtual Cloud Network Details」ページに移動します。
- 「ルート表」をクリックします。
- 「ルート表の作成」をクリックします。

- ルート表の「名前」を入力します。
- +Another「ルート・ルール」をクリックします。

-
「ルール」に、次の情報を入力します。
- 「ターゲット・タイプ」で、「プライベートIP」を選択します。
- 「宛先タイプ」に、ソースVMを持つApplication-Private-Subnet CIDRである
192.168.0.0/24と入力します。 - 「ターゲット選択」に、ファイアウォール
192.168.1.100のプライベートIPを入力します。 - 「作成」をクリックします。

-
NAT Route Tableは正常に作成されました。
-
ルート表をNATゲートウェイに割り当てます。「Virtual Cloud Network Details」ページに移動します。
- 「NATゲートウェイ」をクリックします。
- 右側のゲートウェイの3つのドットをクリックします。
- 「ルート表の関連付け」をクリックします。

- 「NATルート表」を選択します。
- 「ルート表の関連付け」をクリックします。

-
ルート表が正常に関連付けられました。

タスク1.3: ファイアウォール・ログの有効化およびポリシーの確認
ノート:このチュートリアルでは、OCI Network Firewallを使用しますが、同じシナリオを任意のサードパーティ・ファイアウォールでレプリケートできます。
-
「ネットワーク・ファイアウォールの詳細」ページにナビゲートします。

-
下へスクロール
- 「ログ」をクリックします。
- トラフィック・ログを有効にします(トラフィック・ログには、ファイアウォールを通過するトラフィックの詳細が表示されます)。

- 「ログ・グループ」を選択し、作成しない場合は作成します。
- 「ログ名」を入力します。
- 「ログの有効化」をクリックします

- トラフィック・ログは正常に有効化されました。
- 関連付けられたネットワーク・ファイアウォール・ポリシーをクリックします。

-
network_firewall_policy_v1ポリシーを使用しています。
-
下にスクロールして、ポリシー既存の構成を確認します。
- 「セキュリティ・ルール」をクリックします。
IPS_VM2_Internetルールの右側にある3つのドットをクリックします。- 「詳細表示」をクリックします。

-
使用されているセキュリティ・ルールの詳細を確認します。
- 使用されるプロトコルやポートに関係なく、
Linux-VM-2から任意の場所へのトラフィック。 - 侵入防止をルール・アクションとして使用して、トラフィックで悪意のあるアクティビティを監視します。アクティビティの情報を記録、レポートまたはブロックします。

- 使用されるプロトコルやポートに関係なく、
タスク2: カスタム・ルート表の作成
-
「Virtual Cloud Network Details」ページにナビゲートします。

-
下へスクロール
- 「ルート表」をクリックします。
- VCNで自動的に作成されるデフォルトのルート表があることに注意してください。この表が
Application-Private-Subnetに割り当てられ、サブネット内のすべてのVMがそれを使用します(この例では、このルート表は空です)。 - ただし、このチュートリアルでは、カスタム・ルート表を作成し、それぞれをそれぞれのVMのVNICに割り当てます。この方法では、ルーティングをより詳細に制御できるため、サブネット・ルート表への依存性が回避されます。「ルート表の作成」をクリックします。

-
2つ目の表(
Custom Route Table 1)を作成します。この表はLinux-VM-1に割り当てられ、トラフィックをファイアウォールを通過するトラフィックを検査せずにNATゲートウェイに直接ルーティングします。- ルート表の「名前」を入力します。
- +Another「ルート・ルール」をクリックします。

-
「ルール」に、次の情報を入力します。
- 「ターゲット・タイプ」で、「NAT Gateway」を選択します。
- 「宛先CIDRブロック」で、
0.0.0.0/0と入力します。 - 「ターゲットNAT Gateway」で、「前提条件」で作成したNAT Gatewayを選択します
- 「作成」をクリックします。

-
Custom Route Table 1は正常に作成されました。
-
2番目の表(
Custom Route Table 2)を作成するには、「ルート表の作成」をクリックします。
-
Custom Route Table 2は、トラフィックをNATゲートウェイに送信する前に検査されるファイアウォールにルーティングするために、Linux-VM-2に割り当てられます。- ルート表の「名前」を入力します。
- +Another「ルート・ルール」をクリックします。

-
「ルール」に、次の情報を入力します。
- 「ターゲット・タイプ」で、「プライベートIP」を選択します。
- 「宛先CIDRブロック」で、
0.0.0.0/0と入力します。 - 「ターゲット選択」に、ファイアウォール
192.168.1.100のプライベートIPを入力します。 - 「作成」をクリックします。

-
Custom Route Table 2は正常に作成されました。
タスク3: VNICへのカスタム・ルート表の割当て
-
Linux-VM-1から始めましょう。
- デフォルトでは、インスタンスのVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
Default Route Table for MyVCNです。ここでの目標は、ルート表をリソースごとのルーティングに変更することです。この場合、インスタンス(VNIC)には独自のルート表があります。 - 下へスクロール
- 「アタッチされたVNIC」をクリックします。
- プライマリVNICの右側にある3つのドットをクリックします。
- 「VNICの編集」をクリックします。

- デフォルトでは、各VNICはサブネットに関連付けられているルート表を使用します。
- 「VNICのカスタム・ルート表の選択」をクリックします。

- 「ルート表」で、「カスタム・ルート表1」を選択します。
- ここで構成を保存すると、ルーティングの決定を行うとき、デフォルトのルート表は参照されないことに注意してください。
- 「変更の保存」をクリックします。

- デフォルトでは、インスタンスのVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
-
Custom Route Table 1は、Linux-VM-1のプライマリVNICに正常に割り当てられます。
-
ここで、
Linux-VM-2に割り当てます。
- デフォルトでは、インスタンスVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
Default Route Table for MyVCNです。ここでの目標は、ここでルート表をリソースごとのルーティングに変更することです。このルーティングでは、インスタンス(VNIC)に独自のルート表があります。 - 下へスクロール
- 「アタッチされたVNIC」をクリックします。
- プライマリVNICの右側にある3つのドットをクリックします。
- 「VNICの編集」をクリックします。

- デフォルトでは、各VNICはサブネットに関連付けられているルート表を使用します。
- 「VNICのカスタム・ルート表の選択」をクリックします。

- 「ルート表」で、「カスタム・ルート表2」を選択します。
- ここで構成を保存すると、ルーティングの決定を行うとき、デフォルトのルート表は参照されないことに注意してください。
- 「変更の保存」をクリックします。

- デフォルトでは、インスタンスVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
-
Custom Route Table 2は、Linux-VM-2のプライマリVNICに正常に割り当てられます。
タスク4: テストと検証
-
テスト1: ファイアウォール検査なしでインターネットアクセスに
Linux-VM-1をテストする-
Linux-VM-1にログインします。ノート: OCI Bastionサービスはプライベート・サブネットにあるため、インスタンスへのアクセスに使用しました。従来のジャンプ・ボックス(Windows、Linux)、サイト間VPNなどのその他の方法を使用できます。
-
Ping
8.8.8.8: GoogleのDNSサーバーのパブリックIPです。設定した構成に従って、トラフィックはファイアウォールによって検査されずにNATゲートウェイを介して直接ルーティングされます。
-
「ネットワーク・ファイアウォールの詳細」ページに移動します。
- 「ログ」をクリックします。
- ログ名をクリックします。

-
前のテストでpingトラフィックをチェックするようにフィルタを設定します。
Linux-VM-1の「IPアドレス」は192.168.0.10です。- プロトコルは
ICMPです。 - 「検索」をクリックします。
- ファイアウォールを通過する
Linux-VM-1からのトラフィックは示されないことに注意してください。これは、トラフィックをNATゲートウェイに直接ルーティングするようにカスタム・ルート表を構成したため、予想される結果です。

-
-
テスト2: ファイアウォール検査によるインターネット・アクセスに対する
Linux-VM-2のテスト-
Linux-VM-2にログインします。ノート: OCI Bastionサービスはプライベート・サブネットにあるため、インスタンスへのアクセスに使用しました。従来のジャンプ・ボックス(Windows、Linux)、サイト間VPNなどのその他の方法を使用できます。
-
Ping
8.8.8.8: GoogleのDNSサーバーのパブリックIPです。設定した構成に従って、トラフィックはファイアウォールによる検査後にNATゲートウェイを経由します。
-
「ネットワーク・ファイアウォールの詳細」ページに移動します。
- 「ログ」をクリックします。
- ログ名をクリックします。

-
前のテストでpingトラフィックをチェックするようにフィルタを設定します。
Linux-VM-2の「IPアドレス」は192.168.0.20です。- プロトコルは
ICMPです。 - 「検索」をクリックします。

-
ログから、インターネットへのトラフィックがファイアウォールを通過したことを確認できます。
- 「宛先IPアドレス」は
8.8.8.8です。 - プロトコルは
ICMPです。 - 「ソースIPアドレス」は
192.168.0.20です。

- 「宛先IPアドレス」は
これは、各VMが同じサブネット内にある場合でも、リソースごとのルーティングで異なるルーティング構成を提供する方法を示しており、トラフィック・フローをきめ細かく制御し、ネットワーク管理を最適化しています。
-
例2: Oracle Services Networkのみのトラフィックからのインターネット・トラフィックの分離
目標の例:
この例では、同じサブネット内の2つのリソースを異なるルートで構成し、トラフィックをOracleサービス・ネットワークおよびインターネットに個別のゲートウェイを介して転送する方法を説明します。Linux-VM-1では、Oracleサービス・ネットワーク(特に、パブリック・インターネットを介したルーティングなしのOCI Object Storage)にのみアクセスする必要があります。Oracle Jeddahデータ・センターに制限されますが、Linux-VM-2ではアウトバウンド・インターネット・アクセスが必要です。つまり、Oracleサービス・ネットワーク内のパブリックIPアドレスを含むパブリックIPアドレスにアクセスできます。リソースごとのルーティングを使用しない場合は、このシナリオを実現するために、各インスタンスを異なるサブネットに配置する必要があります。

前提条件の例:
この設計に合わせて、いくつかの必須コンポーネントを構成します。これは、基本的にプライベート・サブネット内の2つのコンピュート・インスタンスです。

-
Virtual Cloudネットワーク(
MyVCN(192.168.0.0/16)など)を作成します。詳細は、VCNの作成を参照してください。 -
プライベート・サブネットの作成詳細は、サブネットの作成を参照してください。
Application-Private-Subnet(192.168.0.0/24).このチュートリアルでは、デフォルト・ルート表およびデフォルト・セキュリティ・リストをサブネットに割り当てます。
-
VCNにNATゲートウェイを作成します。NATゲートウェイにより、パブリックIPアドレスを持たないクラウド・リソースがインターネットにアクセスできるようになり、インバウンド・インターネット接続にリソースを公開することなく、アウトバウンド接続のみが提供されます。詳細は、NAT Gatewayの作成を参照してください。
-
VCNにサービス・ゲートウェイを作成します。サービス・ゲートウェイを使用すると、VCNは、データをパブリック・インターネットに公開することなく、特定のOracleサービスにプライベートにアクセスできます。これらの特定のサービスに到達するために、インターネット・ゲートウェイやNATゲートウェイは必要ありません。詳細は、サービス・ゲートウェイの作成を参照してください。
-
2つのコンピュート・インスタンス
Linux-VM-1およびLinux-VM-2を作成します。詳細は、タスク2: OCIコンピュート・インスタンスのプロビジョニングを参照してください。次の点を考慮してください。- 各インスタンスの名前。
- Oracle LinuxをOSとして使用します。
- 前に作成した同じサブネットに両方のインスタンスを配置し、設計に従ってIPを手動で割り当てます。
- OCI Bastionプラグインを有効にします。
-
OCI Bastionサービスとセッションを作成し、プライベート・サブネット内に存在するため、インスタンスに安全にアクセスし、設定の最後にテストする必要があります。このチュートリアルで作成したコンポーネントに合わせて、ターゲット・ネットワークやインスタンスなどの違いを考慮してください。詳細は、タスク6.1: 要塞およびテストを使用したFE-VMコンピュート・インスタンスへのアクセスを参照してください。
タスク1: カスタム・ルート表の作成
-
OCIコンソールに移動します。
- VCNに移動します。
- 下へスクロール
- 「ルート表」をクリックします。
- VCNで自動的に作成されるデフォルトのルート表があることに注意してください。この表は
Application-Private-Subnetに割り当てられ、サブネット内のすべてのVMがそれを使用します。

-
ただし、このチュートリアルでは、カスタム・ルート表を作成し、それぞれをそれぞれのVMのVNICに割り当てます。この方法では、ルーティングをより詳細に制御できるため、サブネット・ルート表への依存性が回避されます。「ルート表の作成」をクリックします。

-
サービス・ゲートウェイを介してトラフィックをルーティングするために
Linux-VM-1に割り当てられる最初の表(Custom Route Table 1)を作成し、Oracleサービス・ネットワーク(特にOCIオブジェクト・ストレージへのアクセス用)への接続を可能にします。- ルート表の「名前」を入力します。
- +Another「ルート・ルール」をクリックします。

-
「ルール」に、次の情報を入力します。
- 「ターゲット・タイプ」で、「サービス・ゲートウェイ」を選択します。
- 「宛先CIDRブロック」で、「Oracle Services NetworkのすべてのJEDサービス」を選択します。これにより、最後にテストするOCI Object Storageを含むすべてのOracleサービスへのアクセスが保証されます。また、OCI Bastionを使用してVMに接続している場合は、OCI Object Storageに制限するのではなく、前述のすべてのサービス・オプションを選択する必要があります。
- 「ターゲット・サービス・ゲートウェイ」で、「前提条件」で作成したサービス・ゲートウェイを選択します。
- 「作成」をクリックします。

-
Custom Route Table 1は正常に作成されました。
-
2番目の表(
Custom Route Table 2)を作成するには、「ルート表の作成」をクリックします。
-
Custom Route Table 2は、NATゲートウェイを介してトラフィックをルーティングするためにLinux-VM-2に割り当てられ、OCIオブジェクト・ストレージ・エンドポイントを含むインターネットへの一方向接続が可能になります。- ルート表の「名前」を入力します。
- +Another「ルート・ルール」をクリックします。

-
「ルール」に、次の情報を入力します。
- 「ターゲット・タイプ」で、「NAT Gateway」を選択します。
- 「宛先CIDRブロック」で、
0.0.0.0/0と入力します。 - 「ターゲットNAT Gateway」で、「前提条件」で作成したNATゲートウェイを選択します。
- 「作成」をクリックします。

-
Custom Route Table 2は正常に作成されました。
タスク2: VNICへのカスタムルートテーブルの割り当て
-
Linux-VM-1から始めましょう。
- デフォルトでは、インスタンスのVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
Default Route Table for MyVCNです。ここでの目標は、ルート表をリソースごとのルーティングに変更することです。この場合、インスタンス(VNIC)には独自のルート表があります。 - 下へスクロール
- 「アタッチされたVNIC」をクリックします。
- プライマリVNICの右側にある3つのドットをクリックします。
- 「VNICの編集」をクリックします。

- デフォルトでは、各VNICはサブネットに関連付けられているルート表を使用します。
- 「VNICのカスタム・ルート表の選択」をクリックします。

- 「ルート表」で、
Custom Route Table 1を選択します。 - ここで構成を保存すると、ルーティングの決定を行うとき、デフォルトのルート表は参照されないことに注意してください。
- 「変更の保存」をクリックします。

- デフォルトでは、インスタンスのVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
-
Custom Route Table 1は、Linux-VM-1のプライマリVNICに正常に割り当てられます。
-
ここで、
Linux-VM-2に割り当てます。
- デフォルトでは、インスタンスのVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
Default Route Table for MyVCNです。ここでの目標は、ルート表をリソースごとのルーティングに変更することです。この場合、インスタンス(VNIC)には独自のルート表があります。 - 下へスクロール
- 「アタッチされたVNIC」をクリックします。
- プライマリVNICの右側にある3つのドットをクリックします。
- 「VNICの編集」をクリックします。

- デフォルトでは、各VNICはサブネットに関連付けられているルート表を使用します。
- 「VNICのカスタム・ルート表の選択」をクリックします。

- 「ルート表」で、
Custom Route Table 2を選択します。 - ここで構成を保存すると、ルーティングの決定を行うとき、デフォルトのルート表は参照されないことに注意してください。
- 「変更の保存」をクリックします。

- デフォルトでは、インスタンスのVNICは、VMが存在するサブネットにアタッチされたルート表を使用します。このチュートリアルでは、
-
Custom Route Table 2は、Linux-VM-2のプライマリVNICに正常に割り当てられます。
タスク3: OCIオブジェクト・ストレージ・バケットの作成
OCIオブジェクト・ストレージ・バケットは、OCIでオブジェクト(ファイルおよびデータ)を格納および編成するために使用される論理コンテナです。
-
OCIコンソールに移動し、左上隅のハンバーガー・メニュー(≡)をクリックします。

- 「ストレージ」をクリックします。
- 「バケット」をクリックします。

-
「バケットの作成」をクリックします。

- 「バケット名」を入力します。
- 「作成」をクリックします。

-
Test-Bucketバケットが正常に作成されます。次に、バケットをクリックします。

-
バケットはまだ新しいため、空であることがわかります。

タスク4: テストと検証
タスク4.1: Oracle Services NetworkにアクセスするためのVMの準備
-
インスタンス・プリンシパルは、インスタンスからサービス・コールを実行できるOCI IAMサービスの機能です。インスタンス・プリンシパルを使用して、資格証明なしでコンピュート・インスタンスからOCIオブジェクト・ストレージにアクセスします。詳細は、Instance Principalを使用したOCI CLIのコールを参照してください。
実行ステップ:
-
動的グループ(
TestDG)を作成して、特定のコンパートメント(Linux-VM-1およびLinux-VM-2)内のすべてのインスタンスを含めます。Any {instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaacmshv5fxxxxxxxxxxxxxxxykxgy3qvetychowq'} -
OCI IAMポリシーを作成します。
Allow dynamic-group TestDG to manage object-family in compartment AnasAbdallah
ノート:前述のポリシーでは、必ず動的グループ名、コンパートメント名およびOCIDを使用してください。
-
-
インスタンス
Linux-VM-1とLinux-VM-2の両方にログインした後、次のステップを繰り返します。-
次のコマンドを実行して、Oracle Linux 8にOCI CLIをインストールします。詳細は、CLIのインストールを参照してください。
sudo dnf -y install oraclelinux-developer-release-el8 sudo dnf install python36-oci-cli -
OCI CLIガイドを初めて設定するプロセスにするには、
oci setup configコマンドを実行します。
- [Enter]を押します。
- ユーザー名OCIDを入力します。
- テナンシOCIDを入力します。
- リージョン索引を入力します。この環境はJeddahリージョン(
49)にデプロイします。 Yと入力し、[Enter]を押します- [Enter]を押します。

- [Enter]を押します。
- 公開APIキーはこのパスに保存されます。まもなく使用します。
- 新しいパスフレーズを入力します。
- パスフレーズを繰り返します。

cat /home/opc/.oci/oci_api_key_public.pemコマンドを実行して公開キーを表示します。- 公開キーをコピーします。

- OCIコンソールに移動し、プロファイルに移動します。
- 下へスクロール
- 「APIキー」をクリックします。
- 「APIキーの追加」をクリックします。

- 「公開キーの貼付け」を選択します。
- 公開鍵を貼り付けます。
- 「追加」をクリックします。

-
APIキーは正常に追加されました。

-
タスク4.2: Oracle Services Networkへのアクセスに対するLinux-VM-1のテスト
-
構成に従って、
Linux-VM-1は、インターネット・アクセスなしでOCI Object Storageにのみアクセスでき、サービス・ゲートウェイを使用します。- OCIオブジェクト・ストレージ・ネームスペースの名前を確認するには、
oci os ns getコマンドを実行します。 - 次のコマンドで使用するため、ネームスペースをノートにとります。
oci os object list --bucket-name <bucket-name> --namespace <namespace>コマンドを実行して、Test-Bucket内のオブジェクトをリストします。- バケットは空です。

ノート: OCIオブジェクト・ストレージ・ネームスペースは、テナンシ内のすべてのバケットおよびオブジェクトの最上位のコンテナとして機能します。アカウントの作成時に、各OCIテナンシには、システム生成および不変の一意のOCIオブジェクト・ストレージ・ネームスペース名が1つ割り当てられます。
object1.txtという名前のテキストファイルを作成し、そのファイルに abcを書き込みます。- ファイルのコンテンツを表示します。
- 出力として abcが表示されます。

object1.txtをTest-Bucketにアップロードするには、oci os object put -ns <namespace> -bn <bucket-name> --file <file-path>コマンドを実行します。- アップロードが完了しました。

- OCIオブジェクト・ストレージ・ネームスペースの名前を確認するには、
-
ファイルがアップロードされているかどうかを確認するには、バケットの詳細ページに移動します。

-
下へスクロール
- 「オブジェクト」をクリックします。
object1.txtファイルがTest-Bucketに正常にアップロードされることに注意してください。ファイルの内容は、ダウンロードして確認できます。

-
テストするもう1つのことは、
Linux-VM-1からのインターネット接続です。- Ping
8.8.8.8: GoogleのDNSサーバーのパブリックIPです。設定した構成に従って、Linux-VM-1にはインターネット接続がありません。 - ご覧の通り、Pingは失敗です。

- Ping
タスク4.3: インターネット・アクセスに対するLinux-VM-2のテスト
-
構成に従って、
Linux-VM-2にはインターネット接続が必要です。これには、NATゲートウェイを介して実行されるOCI Object Storageへのアクセスが含まれます。両方のVMが同じサブネット内にありますが、リソースごとのルーティングでは、異なるネットワーク・パスを使用できます。これは、この設定の主な概念です。- OCIオブジェクト・ストレージ・ネームスペースの名前を確認するには、
oci os ns getコマンドを実行します。 - 次のコマンドで使用するため、ネームスペースをノートにとります。
oci os object list --bucket-name <bucket-name> --namespace <namespace>コマンドを実行して、Test-Bucket内のオブジェクトをリストします。- タスク4.2でアップロードしたバケットに格納されている
object1.txtファイルを確認できます。

ノート: OCIオブジェクト・ストレージ・ネームスペースは、テナンシ内のすべてのバケットおよびオブジェクトの最上位のコンテナとして機能します。アカウントの作成時に、各OCIテナンシには、システム生成および不変の一意のOCIオブジェクト・ストレージ・ネームスペース名が1つ割り当てられます。
object2.txtという名前のテキストファイルを作成し、そのファイルに defを書き込みます。- ファイルのコンテンツを表示します。
- 出力として defが表示されます。

object2.txtをTest-Bucketにアップロードするには、oci os object put -ns <namespace> -bn <bucket-name> --file <file-path>コマンドを実行します。- アップロードが完了しました。

- OCIオブジェクト・ストレージ・ネームスペースの名前を確認するには、
-
ファイルがアップロードされているかどうかを確認するには、バケットの詳細に移動します。

-
下へスクロール
- 「オブジェクト」をクリックします。
object2.txtファイルがTest-Bucketに正常にアップロードされることに注意してください。ファイルの内容は、ダウンロードして確認できます。

-
テストするもう1つのことは、
Linux-VM-2からのインターネット接続です。- Ping
8.8.8.8: GoogleのDNSサーバーのパブリックIPです。設定した構成に従って、Linux-VM-2にもインターネット接続が必要です。 - Pingが成功した。

- Ping
まとめ
このチュートリアルでは、2つの詳細な技術例を使用して、OCIでのリソースごとのルーティングによって、カスタム・ルート表を同じサブネット内の個々のVNICに直接適用できるようにすることで、ネットワーク・トラフィックを正確に制御する方法を示します。また、リソースごとのルーティングと従来のサブネット・レベルのルート表の主な違いを強調し、この機能が最新のクラウド・ネットワーク設計にもたらす柔軟性と効率性を強調しました。
承認
- 著者 - Anas Abdallah (クラウド・ネットワーキング・スペシャリスト)、Sachin Sharma (クラウド・ネットワーキング・スペシャリスト)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Configure Per-resource Routing in Oracle Cloud Infrastructure
G31570-02
Copyright ©2025, Oracle and/or its affiliates.