10 エンタープライズ・デプロイメント用のOracle Cloud Infrastructureの準備

Oracle Container Engine for Kubernetesを使用してOracle Cloud Infrastructure (OCI)にIdentity and Access Managementをデプロイする場合は、デプロイメントを容易にするためにOCIを構成する必要があります。デプロイメントの実行に必要なOCIコンポーネントを作成します。

ノート:

このガイドに記載されている手順は、公開時に正しいものです。OCIインタフェースの進化する性質により、オプションにわずかな変更がある場合があります。最新のステップを取得するには、Oracle Cloud Infrastructureのドキュメントを参照してください。
この章の内容は次のとおりです。

OCIデプロイメントについて

この図は、OCIにOracle Identity and Access Managementをデプロイするために必要なすべてのOCIコンポーネントを示しています。これは、様々なネットワーク要件と、OCIコンポーネントがこれらのネットワークにどのように適合するかを示します。各サブネットはセキュリティ・リストによって保護されます。

図10-1 OKE用のOCIレイアウトの図

OKE用のOCIレイアウトの図。
OCIにOracle Identity and Access Managementをデプロイする場合、次の特性を持つOCI環境を設定する必要があります:
  • VCN: 環境への外部アクセスを提供する1つのパブリック仮想クラウド・ネットワークがあります。セキュリティ上の理由から、VCNは複数のサブネットに分割されます。
  • サブネット: ネットワーク・トラフィックが必要な領域にのみルーティングされるように、VCNは複数のサブネットに分割されます。たとえば、データベース・サブネットへのトラフィックは、インターネットから直接使用できません。トラフィックは、データベース・サブネットと対話するアプリケーション(OKE)層でのみ使用可能です。
  • セキュリティ・リスト: セキュリティ・リストは、許可されたポートおよびプロトコルに基づいて、サブネットに対するトラフィックのみを許可する追加のセキュリティ・レイヤーを提供します。
  • 要塞ノード: 要塞ノードは、ログインできるVCN内のコンピュート・インスタンスです。要塞ノードは、デプロイメント内のすべてのコンポーネントと通信できます。要塞ノードは、環境の設定と継続的な管理に使用されます。したがって、要塞ノードへのアクセスをロック・ダウンして、SSLキー・ペアを使用して登録されている企業ネットワーク上のクライアントのみがアクセスできるようにする必要があります。
  • ロード・バランサ: 2つのLBaaSサービスがOCIフレームワーク内に作成されます。パブリック・ロード・バランサは、インターネットからOracle Identity and Access Managementデプロイメントにアクセスするために使用されます。プライベート・ロード・バランサは、内部トラフィック用です。ルーティングはVCNの外部では使用できません。パブリック・ロード・バランサは、デプロイメントでインターネットに接続する唯一の部分です(要塞ノードを除く)。
  • Oracle Container Engine for Kubernetes (OKE): これは、アプリケーションがKubernetesコンテナ内にデプロイされる場所です。これは、インターネットに直接認識されません。Oracle HTTP Serverは、OKEクラスタにデプロイされません。これらのサーバーは、独立した非武装地帯(DMZ)に配置されます。
  • コンピュート・インスタンス: Oracle HTTP Serverをホストするには、少なくとも2つのコンピュート・インスタンスが必要です。これらは、ロード・バランサの下にある非武装地帯(DMZ)に配置されます。ロード・バランサは、リクエストをOHSサーバーに送信します。これにより、OKEクラスタ内に存在するアプリケーションにトラフィックが渡されます。
  • データベース: データベースは、OKEクラスタの下にある専用サブネットに存在します。
  • DNS: DNSサーバーはオプションです。これは、名前解決のために内部的に使用されます。個々のホスト・ファイルにエントリを保持することで、名前解決を実現できます。

次の各項では、この図に示されているコンポーネントを設定する手順について説明します:

SSHキー・ペアの作成

Oracle Cloudコンソールと要塞ノードを使用して、OCIを構成できます。SSL証明書によって、要塞ノード、コンピュート・インスタンス、OKEワーカー・ノードおよびデータベース・ホストへのセキュアなアクセスが提供されます。OCIの構成に使用するホストでSSL証明書を作成する必要があります。このホストは、ラップトップまたはデスクトップにすることができます。

デバイスで証明書を作成したら、それをOCIリソースと共有して、リソースへのアクセスとそれらの管理を有効にします。複数のデバイスを使用する場合は、それらのすべてのデバイスに対してSSLキーを登録する必要があります。

使用するデバイスのSSL証明書がない場合は、次のコマンドを使用して証明書を作成します:

ssh-keygen -t rsa -N "" -b 2048 -f id_rsa

このコマンドにより、ホーム・ディレクトリ内の.sshディレクトリに2つのファイルid_rsaおよびid_rsa.pubが作成されます。これらは、OCIリソースへのアクセスに使用する証明書ファイルです。

OCIコンパートメントの作成

デプロイメントを保持するために、OCIテナンシにコンテナを作成します。

コンパートメントを作成するには:
  1. Oracle Cloud Infrastructureコンソールにログインし、「アイデンティティ」を選択して、「コンパートメント」をクリックします。
  2. 「コンパートメントの作成」をクリックします。
  3. 名前説明を指定します。
  4. 「コンパートメントの作成」をクリックします。
このコンパートメント内にすべてのOCIオブジェクトを作成します。

OCIでのOKEクラスタの作成

OKEでクラスタを作成するには、ユーザー入力を最小限に抑えた、クイック・クラスタを作成する方法と、より柔軟性の高い、クラスタを手動で作成する方法の2つの方法があります。クイック・クラスタを使用してクラスタを作成する場合、クラスタ・ネットワーキングの最小構成オプションがあります。ネットワーキングは、使用するネットワーク・サブネットを指定するために重要です。

クイック・クラスタを使用したOKEクラスタの作成

OCIを準備する最初のステップは、OKEクラスタの作成です。このステップでは、仮想クラウド・ネットワーク、OKEクラスタおよびワーカー・ノードを作成します。

デフォルト設定でクイック・クラスタを作成するには:

  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. (コンテナおよびアーティファクトにある)開発者サービスを選択し、「Kubernetesクラスタ」をクリックします。
  3. 「クラスタの作成」をクリックします。
  4. 「クイック作成」を選択します。
  5. 「ワークフローの起動」をクリックします。
    「クラスタの作成」画面が表示されます。
  6. 次の詳細を入力します。
    • 名前: クラスタの名前を指定します。たとえば: IDMEDG。
    • コンパートメント - 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • ノード・タイプ - 「管理対象」を選択します。
    • Kubernetesバージョン: 使用するKubernetesのバージョンを選択します。選択したバージョンが、IDM Kubernetesデプロイメントでサポートされていることを確認してください。
    • Kubernetes APIエンドポイント: 「プライベート」を選択します。Kubernetesクラスタは、インターネットに直接公開されません。
    • Kubernetesワーカー: 「プライベート」を選択します。Kubernetesクラスタは、インターネットに直接公開されません。
    • シェイプ: Kubernetesワーカー・ノードの作成に使用するOCIシェイプを選択します。選択するシェイプは、作成するワーカー・ノードの数とそれらのノードのサイズによって異なります。
    • ノードの数: 作成するワーカー・ノードの数を選択します。
  7. 「拡張オプションの表示」をクリックします。「SSH公開キー」ボックスで、前に作成したid_rsa.pubファイルの内容をコピーします。「SSHキー・ペアの作成」を参照してください。
  8. 「次」をクリックします。
  9. サマリーを確認し、「クラスタの作成」をクリックします。

    ワークフローで次が作成されます:

    • 仮想クラウド・ネットワーク(VCN)
    • ルート表
    • セキュリティ・リスト
    • Kubernetesクラスタ
    • ノード・プール
  10. 「閉じる」をクリックします。

OKEクラスタの手動作成

OKEクラスタを手動で作成するには、この項で説明するステップを完了する必要があります。たとえば、2つのVCNをリンクしてプライマリ・デプロイメントに1つのVCNを使用し、もう1つをDR (ディザスタ・リカバリ)デプロイメントに使用する場合は、ネットワークCIDRS/IPアドレスが重複しないようにすることが不可欠です。

たとえば、プライマリ・ネットワークには10.0.0.0/16、DRネットワークには10.1.0.0/16を使用できます。

Oracle Virtual Cloud Networkの作成
Oracle Virtual Cloud Networkを作成するには:
  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. ネットワーキング仮想クラウド・ネットワークを選択します。
  3. 「VCNウィザードの起動」をクリックします。
  4. 「インターネット接続性を持つVCNの作成」を選択し、「VCNウィザードの起動」をクリックします。
  5. ウィザードに次の情報を入力します。
    • 名前: ネットワークの名前を選択します。たとえば、idm_oke_vcnです。
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • VCN CIDRブロック: ネットワークに使用する内部CIDRブロックを入力します。例: 10.0.0.0/16
    • パブリック・サブネットCIDRブロック: インターネットにエクスポートするサブネットのCIDRを入力します。例: 10.0.20.0/24
    • プライベート・サブネットCIDRブロック: プライベートに使用するサブネットのCIDRを入力します(これは、Kubernetesワーカー・ノードが存在する場所です)。例: 10.0.10.0/24
    • このVCNでDNSホスト名を使用: このオプションを選択します。
  6. 「次」をクリックします。
  7. 指定した詳細のサマリー情報を確認し、「作成」をクリックします。
  8. 完了したら、「仮想クラウド・ネットワークの表示」をクリックします。

これらのステップでは、パブリック・サブネットとプライベート・サブネットを作成します。

追加のセキュリティ・ルールの追加
OKEのデフォルト・セキュリティ・リストに追加のセキュリティ・ルールを追加するには:
  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. ネットワーキング仮想クラウド・ネットワークを選択します。
  3. 新しく作成したネットワークidm_oke_vcnを選択します。「Oracle Virtual Cloud Networkの作成」を参照してください。
  4. 「セキュリティ・リスト」をクリックします。
  5. デフォルト・セキュリティ・リストをクリックします。たとえば、プライベート・サブネットのセキュリティ・リストはidm_oke_vcnです。
  6. 「イングレス・ルールの追加」をクリックして、表10-1の説明に従ってイングレス・ルールを追加します。
  7. 「リソース・リスト」で「エグレス」をクリックします
  8. 「エグレス・ルールの追加」をクリックして、表10-1の説明に従ってエグレス・ルールを追加します。

    表10-1 イングレス・ルールとエグレス・ルールの説明

    ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル 宛先ポート範囲 タイプ コード

    イングレス

    CIDR

    10.0.10.0/24

     

    すべてのプロトコル

         

    イングレス

    CIDR

    10.0.0.0/28

     

    ICMP

     

    3

    4

    イングレス

    CIDR

    10.0.0.0/28

     

    TCP

         

    イングレス

    CIDR

    0.0.0.0.0/0

     

    TCP

    22

       

    エグレス

    CIDR

     

    10.0.10.0/24

    すべてのプロトコル

         

    エグレス

    CIDR

     

    10.0.0.0/28

    TCP

    6433

       

    エグレス

    CIDR

     

    10.0.0.0/28

    TCP

    12250

       

    エグレス

    CIDR

     

    10.0.0.0/28

    ICMP

     

    3

    4

    エグレス

    サービス

     

    Oracle Service Networkのすべてのサービス

    TCP

    443

       
APIセキュリティ・リストの作成
Kubernetesでは、Kubernetesコントロール・プレーンと通信するために追加のサブネットが必要です。この通信を有効にするには、まずセキュリティ・リストを作成する必要があります。
  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. ネットワーキング仮想クラウド・ネットワークを選択します。
  3. 新しく作成したネットワークidm_oke_vcnをクリックします。「Oracle Virtual Cloud Networkの作成」を参照してください。
  4. 「セキュリティ・リスト」をクリックし、「セキュリティ・リストの作成」を選択します。
  5. 次の情報を入力します。
    • 名前: セキュリティ・リストの名前を入力します。例: api-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  6. 「別のイングレス・ルールの追加」をクリックして、表10-2に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  7. 「別のエグレス・ルールの追加」をクリックして、表10-2に記載されているエグレス・ルールを追加します(エグレス・ルールごとに繰り返します)。

    表10-2 イングレス・ルールとエグレス・ルールの説明

    ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル 宛先ポート範囲 タイプ コード

    イングレス

    CIDR

    0.0.0.0/0

    TCP

    6443

    イングレス

    CIDR

    10.0.10.0/24

    TCP

    6443

    イングレス

    CIDR

    10.0.10.0/24

    TCP

    12250

    イングレス

    CIDR

    10.0.10.0/24

    ICMP

    3

    4

    エグレス

    CIDR

    10.0.10.0/24

    TCP

    エグレス

    CIDR

    10.0.10.0/24

    ICMP

    3

    4

    エグレス

    サービス

    サービス・ネットワークのすべてのサービス。

    TCP

    443

       
  8. 「セキュリティ・リストの作成」をクリックします。
APIサブネットの作成
Kubernetesでは、Kubernetesコントロール・プレーンと通信するために追加のサブネットが必要です。APIサブネットを作成するには:
  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. ネットワーキング仮想クラウド・ネットワークを選択します。
  3. 新しく作成したネットワークidm_vcnをクリックします。「Oracle Virtual Cloud Networkの作成」を参照してください。
  4. 「サブネット」をクリックし、「サブネットの作成」を選択します。
  5. 次の情報を入力します。
    • 名前: サブネットの名前を入力します。例: api-subnet
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • サブネット・タイプ: 「リージョナル」を選択します。
    • CIDRブロック: サブネットのCIDRを入力します。例: 10.0.0.0/28
    • ルート表: idm_vcnデフォルト・ルート表を選択します。
    • サブネット・アクセス: 「プライベート」を選択します。
    • このSUBNETでDNSホスト名を使用 - このオプションを選択します。
    • セキュリティ・リスト: 前に作成したセキュリティ・リストapi-seclistを選択します。「APIセキュリティ・リストの作成」を参照してください。
  6. 「サブネットの作成」をクリックします。
OKEクラスタの作成
ネットワークを作成したので、OKEクラスタを作成します:
  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. (「ソリューションおよびプラットフォーム」にある)「開発者サービス」を選択し、Kubernetesクラスタ(OKE)をクリックします。
  3. 「クラスタの作成」をクリックし、「カスタム作成」を選択します。
  4. 「送信」をクリックします。
  5. ウィザードに次の情報を入力します。
    • 名前: クラスタの名前を入力します。例: idm-oke
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • Kubernetesバージョン: 作成するKubernetesのバージョンを選択します。
  6. 「次」をクリックします。
  7. ネットワーク設定ページで次の情報を入力します。
    • ネットワーク・タイプ: VCNネイティブ・ポッド・ネットワーキングを選択します。
    • VCN: 前に作成したVCNを選択します。例: idm_oke_vcn「Oracle Virtual Cloud Networkの作成」を参照してください。
    • KubernetesサービスLBサブネット: VCNで自動的に作成されたパブリック・サブネットを選択します。
    • Kubernetes APIエンドポイント・サブネット: 以前に作成したAPIサブネットを選択します。例: api-subnet「APIサブネットの作成」を参照してください。
    • APIエンドポイントへのパブリックIPアドレスの割当て - このオプションは選択しないでください。
    • 「次」をクリックします。
  8. 「ノード・プール」ページで次の情報を入力します。
    • 名前: プールの名前を指定します。例: Pool1
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • ノード・タイプ: 要件に応じて管理対象または仮想を選択します。
    • Kubernetesバージョン: 作成するKubernetesのバージョンを選択します。これはクラスタのバージョンと同じである必要があります。
    • 配置構成: 異なるフォルト・ドメインにワーカー・ノードを配置する必要があります。ワーカー・ノードを配置するには、各フォルト・ゾーンの配置を作成します。たとえば、3つまたは4つのワーカー・ノードがある場合、3つの異なるフォルト・ドメインの配置を作成します。配置を作成するには、次の情報を入力します:
      • 可用性ドメイン: 「1」を選択します。
      • ワーカー・ノード・サブネット: VCNで作成されたデフォルトのプライベート・サブネットを選択します。
      • フォルト・ドメイン: いずれかを選択します。

      「行の追加」をクリックします。

      同じ情報を再度入力して、ワーカー・ノードを異なるフォルト・ドメインに分散します。

    • シェイプおよびイメージ: 作成するワーカー・ノードのシェイプおよび容量の詳細を入力します。例: VM.Standard.E3.Flex
    • OCPU: 4。
    • RAM: 64GB。
    • イメージ: Oracle Linux 8。
    • ノード数: 作成するワーカー・ノードの数。
    • ブート・ボリューム: 異なるコンテナ・イメージおよびバージョンを使用する予定がある場合は、デフォルト値を使用するか、ブート・ボリュームのサイズを増やすことができます。
  9. 「次」をクリックします。
  10. クラスタのサマリーを確認し、「クラスタの作成」をクリックします。

要塞ノードの作成

クラスタは専用サブネット内にあるため、クラスタに直接アクセスすることはできません。クラスタにアクセスするには、要塞ノードを使用します。要塞ノードは、パブリックに使用可能です。

ノート:

要塞ノードは、使用している環境への入り口です。そのため、要塞ノードへのアクセスは厳密に制御する必要があります。

要塞ノードの作成には、次のステップが含まれます:

セキュリティ・リストの作成

要塞ノードがKubernetesクラスタで使用されるサブネットと通信できるように、セキュリティ・リストを作成する必要があります。また、インターネットから要塞ノードへのアクセスを許可する必要があります。この項では、このアクセスを有効にするために実行する必要がある最小限のステップについて説明します。特定のマシン/ネットワークのみがこのノードにアクセスできるように、セキュリティ・リストを強固にする必要があります。以前に生成されたSSLキーを超えるアクセス制限に関する情報は、このドキュメントの範囲外です。

セキュリティ・リストを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. リソースのリストから「セキュリティ・リスト」を選択します。
プライベート・セキュリティ・リストの作成
プライベート・セキュリティ・リストを作成するには:
  1. 「セキュリティ・リストの作成」をクリックします。
  2. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: bastion-private-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  3. 「別のイングレス・ルールの追加」をクリックして、表10-3に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  4. 「別のエグレス・ルールの追加」をクリックして、表10-3に記載されているエグレス・ルールを追加します(エグレス・ルールごとに繰り返します)。
  5. 「セキュリティ・リストの作成」をクリックします。

表10-3 イングレス・ルールとエグレス・ルールの説明

ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル 宛先ポート範囲

イングレス

CIDR

10.0.1.0/29

 

TCP

22

イングレス

CIDR

10.0.1.0/29

 

ICMP

 

エグレス

CIDR

 

0.0.0.0/0

すべてのプロトコル

 

ノート:

10.0.1.0は、要塞ノードに使用するサブネットです。この値は、必要に応じて変更できます。
パブリック・セキュリティ・リストの作成
パブリック・セキュリティ・リストを作成するには:
  1. 「セキュリティ・リストの作成」をクリックします。
  2. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: bastion-public-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  3. 「別のイングレス・ルールの追加」をクリックして、表10-4に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  4. 「別のエグレス・ルールの追加」をクリックして、表10-4に記載されているエグレス・ルールを追加します(エグレス・ルールごとに繰り返します)。
  5. 「セキュリティ・リストの作成」をクリックします。

表10-4 イングレス・ルールとエグレス・ルールの説明

ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル 宛先ポート範囲 タイプ

イングレス

CIDR

0.0.0.0/0

TCP

22

イングレス

CIDR

10.0.1.0/29

ICMP

3

イングレス

CIDR

0.0.0.0/0

ICMP

エグレス

CIDR

0.0.0.0/0

すべてのプロトコル

ノート:

10.0.1.0は、要塞ノードに使用するサブネットです。この値は、必要に応じて変更できます。特に記載がないかぎり、値を空白のままにしておきます。
設定セキュリティ・リストの作成

Oracle Identity and Access Managementの設定中に、要塞ノードでは、ビルド・プロセスの一環として作成される一部のKubernetesサービスへのアクセスが必要です。

ビルド・プロセスの完了後、アクセスは必要ありません。管理上の理由から、この目的のために別個のセキュリティ・リストを作成します。そのため、設定が完了したら、サブネットからセキュリティ・リストを削除する必要があります。さらに設定が必要な場合は、必要に応じて追加できます。

セキュリティ・リストは、次のサブネットに追加する必要があります:
  • ノード・マネージャのプライベート・サブネット

  • db-subnet。

設定セキュリティ・リストを作成するには:

  1. 「セキュリティ・リストの作成」をクリックします。
  2. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: bastion-setup-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  3. 「別のイングレス・ルールの追加」をクリックして、表10-5に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  4. 「セキュリティ・リストの作成」をクリックします。

表10-5 イングレス・ルールの説明

ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル ソース・ポート範囲 宛先ポート範囲 コメント

イングレス

CIDR

10.0.1.0/29

 

TCP

 

30701

OAM管理サーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.1.0/29

 

TCP

 

31800

 

イングレス

CIDR

10.0.1.0/29

 

TCP

 

31920

 

ノート:

前述の宛先ポートは、インストールに指定する値によって異なります。サンプル値は、このガイド内で一貫性を保つために使用されます。

Elasticsearchをデプロイする場合は、31800および31920の宛先ポート範囲が必要です。

ルート表の作成

要塞ノードがKubernetesクラスタで使用されるサブネットと通信できるように、ルート表を作成する必要があります。また、インターネットから要塞ノードへのアクセスを有効にする必要があります。

ルート表を作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. リソースのリストから「ルート表」を選択します。
  4. 「ルート表の作成」をクリックします。
  5. 次の詳細を入力します。
    • 名前: ルート表の名前を入力します。たとえば: bastion-route-table
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  6. 「別のルート・ルールの追加」をクリックします。
  7. 次の情報を入力します。
    • ターゲット・タイプ - 「インターネット・ゲートウェイ」を選択します。
    • 宛先CIDRブロック - 0.0.0.0/0と入力します。
    • コンパートメント - 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • ターゲット・インターネット・ゲートウェイ - インターネット・ゲートウェイを選択します。たとえば: oke-igw-quick-clustername-id
  8. 「ルート表の作成」をクリックします。

要塞ノードのサブネットの作成

セキュリティ・ルールとルート表を作成したら、サブネットを作成し、それにセキュリティ・ルールとルート表を割り当てる必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. 「サブネットの作成」をクリックします。
  4. 次の詳細を入力します。
    • 名前: サブネットの名前を入力します。たとえば: bastion-subnet
    • サブネット・タイプ: 「リージョナル」を選択します。
    • CIDRブロック: 要塞ネットワークに使用するサブネットを選択します。たとえば: 10.0.1.0/29
    • ルート表: 前に作成したルート表を選択します。たとえば: bastion-route-table「ルート表の作成」を参照してください。
    • サブネット・アクセス: 「パブリック・サブネット」を選択します。
    • DNS解決: 「サブネットでDNSホスト名を使用」を選択します。
    • セキュリティ・リスト: 前に作成したパブリック・セキュリティ・リストを選択します。例: bastion-public-seclist「パブリック・セキュリティ・リストの作成」を参照してください。
  5. 「サブネットの作成」をクリックします。

Kubernetesノード・サブネットへのセキュリティ・リストの追加

要塞サブネットとKubernetesクラスタ・サブネット間の通信を有効にするには、Kubernetesノード・サブネットにプライベート・セキュリティ・リストを追加する必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. Kubernetesクラスタ・サマリー画面で、oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  3. oke-nodesubnet-quick-clustername-id-regionalのようなKubernetesノード・ネットワークをクリックします。
  4. 「セキュリティ・リストの追加」をクリックします。
  5. コンパートメントを選択します。
  6. プライベート要塞セキュリティ・リストを選択します。たとえば: bastion-private-seclist
  7. 「セキュリティ・リストの追加」をクリックします。
  8. 前述のステップを繰り返して、bastion-setup-seclistセキュリティ・リストを追加します。

要塞コンピュート・インスタンスの作成

ネットワークの詳細を定義したら、要塞ノードを作成します。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「コンピュート」を選択し、「インスタンス」をクリックします。
  3. 「インスタンスの作成」をクリックします。
  4. 次の情報を入力します。
    • 名前: 要塞ノードの名前。たとえば: idm_bastion
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • 配置: 可用性ドメインを選択します。
    • イメージ: 使用するオペレーティング・システム・イメージを選択します。例: Oracle Enterprise Linux 8.x
    • シェイプ: 使用するアーキテクチャとシェイプを選択します。例: VM.Standard.E4.Flex
    • ネットワーク: Kubernetesクラスタの作成時に作成されたVCNを選択します。「OCIでのOKEクラスタの作成」を参照してください。
    • サブネット: 前に作成した要塞サブネットを選択します。例: bastion-subnet「要塞ノードのサブネットの作成」を参照してください。
  5. 「パブリックIPアドレスの割当て」をクリックして、このインスタンスをインターネットから使用できるようにします。
  6. 「SSHキーの追加」ボックスで、「SSHキーの貼付け」を選択します。
  7. 前に作成したid_rsa.pubファイルの内容をコピーします。「SSHキー・ペアの作成」を参照してください。
  8. 「作成」をクリックします。
サマリー画面に、要塞ノードに割り当てられたパブリックIPアドレスが表示されます。このアドレスを書き留めます。ノードに接続するときにこれが必要になります。

要塞ノードへの接続

次のSSHコマンドを使用して要塞ノードに接続できます:

ssh -i id_rsa opc@BastionIPAddress

または、SSHエージェント転送を使用することで、サーバーにキーを(パスフレーズなしで)残すかわりにローカルSSHキーを使用する場合、次のコマンドを使用できます:

ssh -A opc@BastionIPAddress

要塞ノードの構成

要塞ノードを作成したら、それを構成する必要があります。要塞ノードを構成するには、次のステップを実行します:

ノート:

この項のステップを実行するには、Oracle Cloud Infrastructureコンソールから次の情報が必要です:

  • ユーザーOCID: ユーザーOCIDを取得するには、OCIコンソールでプロファイル(右上)をクリックし、「ユーザー設定」を選択してOCIDを表示します。
  • テナンシOCID: テナンシOCIDを取得するには、Oracle Cloud Infrastructureコンソールでプロファイル(右上)をクリックし、テナンシを選択してテナンシOCIDを表示します。
  • リージョン: クラスタをデプロイしたリージョン。
KubeconfigをダウンロードするためのOCI CLIの設定
OCI CLIを設定するには:
  1. 次のコマンドを使用して、最新バージョンのPythonを使用していることを確認します:
    python -V

    Pythonバージョン3.6を使用している場合は、次のコマンドを使用して最新バージョンに切り替えます:

    sudo alternatives --set python3 /usr/bin/python3.9

    バージョンを再度確認します。

    バージョンを確認しないと、kubectlコマンドの実行時に暗号化エラーが発生する可能性があります。

    Python 3.9が使用できない場合は、次のコマンドを使用してインストールします:

    sudo yum install -y python39
  2. OCI CLIをインストールします。
    bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
  3. インストール・スクリプトからのプロンプトに応答します。
  4. 後でkubeconfigをダウンロードするには、設定後にoci configファイルを設定する必要があります。次のコマンドを実行し、プロンプトに応じて詳細を入力します:
    oci setup config

    サンプル設定:

    $ oci setup config
        This command provides a walk through of creating a valid CLI config file.
      
        The following links explain where to find the information required by this
        script:
      
        User API Signing Key, OCID and Tenancy OCID:
      
            https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other
      
        Region:
      
            https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm
      
        General config documentation:
      
            https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm
     
    Enter a location for your config [/home/opc/.oci/config]:
    Enter a user OCID: ocid1.user.oc1..xxxxxxxxxxx
    Enter a tenancy OCID: ocid1.tenancy.oc1..xxxxxxxxx
    Enter a region (e.g. ap-hyderabad-1, ap-melbourne-1, ap-mumbai-1, ap-osaka-1, ap-seoul-1, ap-sydney-1, ap-tokyo-1, ca-montreal-1, ca-toronto-1, eu-amsterdam-1, eu-frankfurt-1, eu-zurich-1, me-jeddah-1, sa-saopaulo-1, uk-gov-london-1, uk-london-1, us-ashburn-1, us-gov-ashburn-1, us-gov-chicago-1, us-gov-phoenix-1, us-langley-1, us-luke-1, us-phoenix-1): us-phoenix-1
    Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: Y
    Enter a directory for your keys to be created [/home/opc/.oci]:
    Enter a name for your key [oci_api_key]:
    Public key written to: /home/opc/.oci/oci_api_key_public.pem
    Enter a passphrase for your private key (empty for no passphrase):
    Private key written to: /home/opc/.oci/oci_api_key.pem
    Fingerprint: 74:d2:f2:db:62:a9:c4:bd:9b:4f:6c:d8:31:1d:a1:d8
    Config written to /home/opc/.oci/config
      
      
        If you haven't already uploaded your API Signing public key through the
        console, follow the instructions on the page linked below in the section
        'How to upload the public key':
      
            https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2
  5. 前述のコマンドにより、$HOME/.ocioci_api_key_public.pemというキー・ファイルが作成されます。このキーをOracle Cloud Infrastructureコンソールに追加します。
    1. Oracle Cloud Infrastructureコンソールにログインします。
    2. 「プロファイル」を選択し、「ユーザー設定」をクリックします。
    3. 「ユーザー設定」画面で、「APIキー」を選択します。
    4. 「APIキーの追加」をクリックします。
    5. 「公開キーの貼付け」をクリックします。
    6. oci_api_key_public.pemファイルの内容を「公開キー」ブロックにコピーし、「追加」をクリックします。
  6. ここで、要塞ノードを設定する残りのステップを確認するために、Oracle Cloud Infrastructureコンソールを参照する必要があります。デプロイメントごとに異なります:
    1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
    2. Kubernetesクラスタ・サマリー画面で、「クラスタへのアクセス」をクリックします。残りのステップを示す画面が表示されます。これらのステップには次が含まれます:
      • kubeファイル用のディレクトリを作成します。
      • クラスタのKubeconfigファイルにアクセスします。
      • クラスタを指し示す環境変数を追加します。(この変数は、永続化のために.bashrcファイルに追加する必要もあります。)

      たとえば:

      要塞ノードでのサンプル・クラスタ・アクセス・ステップ
      $ oci -v
      $ mkdir -p $HOME/.kube
      $ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.xxxxx --file $HOME/.kube/config --region us-phoenix-1 --token-version 2.0.0
      $ export KUBECONFIG=$HOME/.kube/config
      $ echo "export KUBECONFIG=$HOME/.kube/config" > $HOME/.bashrc
  7. 要塞ノードからクラスタにアクセスするため、kubectlクライアントをインストールします。

    次のコマンドを入力して、kubectlクライアントをダウンロードします:

    $ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.8/bin/linux/amd64/kubectl
    $ sudo mv kubectl  /bin/
    $ sudo chmod +x /bin/kubectl

    ノート:

    OKEクラスタの作成時に選択したKubernetesのバージョンに適したバージョンをダウンロードします。「OCIでのOKEクラスタの作成」を参照してください。

    Kubernetesのバージョンが不明な場合:
    1. Oracle Cloud Infrastructureコンソールにログインします。
    2. (「ソリューションおよびプラットフォーム」にある)「開発者サービス」を選択し、「Kubernetesクラスタ」をクリックします。
  8. 次のコマンドを使用して、kubectlが動作することを確認します:
    kubectl get nodes
Helmのインストール

Helmは、WebLogic OperatorおよびOracle Unified Directoryで必要です。要塞ノードにHelmをインストールするには、次のコマンドを実行します:


$ curl -fsSL -o get_helm.sh
      https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
$ helm version
version.BuildInfo{Version:"v3.13.1",
GitCommit:"3547a4b5bf5edb5478ce352e18858d8a552a4110", 
GitTreeState:"clean", GoVersion:"go1.20.8"}
Gitのインストール

Gitには、Oracle Fusion MiddlewareをKubernetesにデプロイするためのサンプル・コードが含まれます。次のコマンドを使用して、GITをインストールします:

sudo yum install git -y
X11パッケージのインストール

セキュリティ上の理由から、Oracle HTTP ServerはKubernetesクラスタ内にインストールされません。Oracle HTTP Serverをインストールするには、X11パッケージをインストールしてX11転送を有効にする必要があります。次のコマンドを使用して、X11パッケージをインストールします:

sudo yum install -y libXrender libXtst xauth xterm nc
その他のパッケージのインストール
このガイドで提供される自動化スクリプトを使用している場合は、その他のパッケージもインストールする必要があります。次のコマンドを使用して、その他のパッケージをインストールします:
sudo yum install -y openldap java

自動化スクリプトの使用方法の詳細は、「Identity and Access Managementエンタープライズ・デプロイメントの自動化」を参照してください。

X11転送の有効化
X11でlocalhostを使用しないようにSSHDを構成します:
  1. 任意のエディタで/etc/ssh/sshd_configを開きます。
    sudo vi /etc/ssh/sshd_config
  2. "X11UseLocalhost yes"が含まれる行を検索します(これはコメント・アウトされています)。
  3. 行の先頭からコメントを削除します。
  4. yesnoに変更します。
  5. ファイルを保存します。
  6. 次のコマンドを使用して、SSHDを再起動します:
    sudo systemctl restart sshd
ホスト・ファイルの設定
設定時に、ロード・バランサにcurlコマンドを作成する必要があります。要塞ノードではプライベートDNSが使用されるため、ロード・バランサ・エンド・ポイントに対して返されるIPアドレスは、要塞ホストからアクセスできない内部ネットワークを経由します。この問題を回避するには、各エントリ・ポイントの要塞ホスト・ファイルに、ロード・バランサのパブリックIPアドレスを指すエントリを作成します。

ノート:

ロード・バランサを作成するまで、このステップは実行できません。「ロード・バランサの作成」を参照してください。
たとえば、ロード・バランサのパブリックIPアドレスが129.1.1.3の場合は、要塞ホスト・ファイルに次のエントリを追加します:
129.1.1.3 login.example.com prov.example.com iadadmin.example.com igdadmin.example.com

Oracle HTTP Serverのコンピュート・インスタンスの作成

Web層は、ロード・バランサとアプリケーション層の両方から分離された独自のサブネットに存在します。この項では、Web層に2つのコンピュート・インスタンスを作成し、それらを異なるフォルト・ドメインに配置して、アクセスを容易にするセキュリティ・リストおよびルート表を設定する手順について説明します。

サービス・ゲートウェイの作成

Web層にはインターネットから直接アクセスできません。ただし、必要なパッケージの追加やアップグレードの実行のためにyumにアクセスするなどの操作を実行するには、内部リソースにアクセスする必要があります。これらの内部システムへのアクセスを有効にするには、サービス・ゲートウェイを作成する必要があります(システムで自動的に作成されなかった場合)。

サービス・ゲートウェイを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「仮想クラウド・ネットワーク」をクリックします。
  3. 使用する仮想クラウド・ネットワークをクリックします。これは、Kubernetesクラスタの作成時に作成されたネットワークと同じです。「OCIでのOKEクラスタの作成」を参照してください。
  4. リソースのリストから「サービス・ゲートウェイ」を選択します。
  5. 「サービス・ゲートウェイの作成」をクリックします。
  6. 次の情報を入力します。
    • 名前: サービス・ゲートウェイの名前を指定します。
    • コンパートメント: 前に作成したコンパートメントを選択します。「OCIコンパートメントの作成」を参照してください。
    • サービス: Oracle Services Networkのすべてのサービスを選択します。
  7. 「サービス・ゲートウェイの作成」をクリックします。

セキュリティ・リストの作成

Web層ノードがKubernetesクラスタで使用されるサブネットと通信できるように、セキュリティ・リストを作成する必要があります。また、ロード・バランサからWeb層ホストへのアクセスを有効にする必要があります。この項では、このアクセスを有効にするために実行する必要がある最小限のステップについて説明します。特定のマシン/ネットワークのみがこのノードにアクセスできるように、セキュリティ・リストを強固にする必要があります。この部分は、このガイドの範囲外です。

セキュリティ・リストを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. リソースのリストから「セキュリティ・リスト」を選択します。

OHSセキュリティ・リストの作成

Oracle Identity Managementの実行中に、Web層ホストは、プロビジョニング・プロセスの一環として作成されるKubernetesサービスにリクエストをパス・スルーします。この通信を有効にするには、セキュリティ・リストを作成する必要があります。

  1. 「セキュリティ・リストの作成」をクリックします。
  2. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: ohs-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  3. 「別のイングレス・ルールの追加」をクリックして、表10-6に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  4. 「セキュリティ・リストの作成」をクリックします。

表10-6 イングレス・ルールの説明

ルール・タイプ タイプ ソースCIDR プロトコル 宛先ポート範囲 コメント

イングレス

CIDR

10.0.2.0/28

TCP

30701

OAM管理サーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30510

OAMポリシー・マネージャのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30410

OAMサーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30711

OIG管理サーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30140

OIMサーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30801

SOAサーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30901

OUDSMサーバーのKubernetesサービス・ポート

イングレス

CIDR

10.0.2.0/28

TCP

30777

Nginxイングレス・コントローラ

ノート:

この表にリストされている宛先ポートは、インストールに指定する値によって異なります。

KubernetesサブネットへのOHSセキュリティ・リストの追加

Kubernetesで使用されるサブネットにセキュリティ・リストを追加する必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. 表示されるサブネットのリストからKubernetesサブリストを選択します。サブネットの名前は、oke-nodesubnet-<ClusterName>-<id>のようになります。
  4. 「セキュリティ・リストの追加」をクリックします。
  5. 前に作成したコンパートメントとセキュリティ・リストを選択します。たとえば: ohs-seclist「OCIコンパートメントの作成」および「OHSセキュリティ・リストの作成」を参照してください。
  6. 「セキュリティ・リストの追加」をクリックします。

ルート表の作成

Web層ノードがKubernetesクラスタで使用されるサブネットと通信できるように、ルート表を作成する必要があります。

ルート表を作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. リソースのリストから「ルート表」を選択します。
  4. 「ルート表の作成」をクリックします。
  5. 次の詳細を入力します。
    • 名前: ルート表の名前を入力します。たとえば: web-route-table
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  6. 「別のルート・ルールの追加」をクリックします。
  7. 次の情報を入力します。
    • ターゲット・タイプ - 「サービス・ゲートウェイ」を選択します。
    • 宛先サービス - 「Oracle Services NetworkのすべてのXXXサービス」を選択します。
    • ターゲット・サービス・ゲートウェイ - サービス・ゲートウェイを選択します。たとえば: oke-sgw-quick-clustername-id
  8. 「ルート表の作成」をクリックします。

Webノードのサブネットの作成

セキュリティ・ルールとルート表を作成したら、サブネットを作成し、それにセキュリティ・ルールとルート表を割り当てることができます。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. 「サブネットの作成」をクリックします。
  4. 次の詳細を入力します。
    • 名前: サブネットの名前を入力します。たとえば: web-subnet
    • サブネット・タイプ: 「リージョナル」を選択します。
    • CIDRブロック: Webノード・ネットワークに使用するサブネットを選択します。たとえば: 10.0.2.0/28
    • ルート表: 前に作成したルート表を選択します。たとえば: web-route-table「ルート表の作成」を参照してください。
    • サブネット・アクセス: 「プライベート・サブネット」を選択します。
    • DNS解決: 「サブネットでDNSホスト名を使用」を選択します。
    • セキュリティ・リスト: 前に作成したパブリック・セキュリティ・リストを選択します。たとえば: web-public-seclist「パブリック・セキュリティ・リストの作成」を参照してください。
  5. 「サブネットの作成」をクリックします。

OHSコンピュート・インスタンスの作成

ネットワーキングを定義したら、Web層ノード自体を作成できます。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「コンピュート」を選択し、「インスタンス」をクリックします。
  3. 「インスタンスの作成」をクリックします。
  4. 次の情報を入力します。
    • 名前: OHSノードの名前。たとえば: webhost1
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • 配置: 可用性ドメインを選択します。
    • イメージ: Oracle Enterprise Linux 8.xを選択します。
    • シェイプ: 使用するアーキテクチャとシェイプを選択します。例: VM.Standard.E4.Flex
    • ネットワーク: Kubernetesクラスタの作成時に作成されたVCNを選択します。「OCIでのOKEクラスタの作成」を参照してください。
    • サブネット: 前に作成したweb-subnetを選択します。「Webノードのサブネットの作成」を参照してください。
  5. 「パブリックIPv4アドレスを割り当てないでください」をクリックして、このインスタンスをインターネットから直接使用できないようにします。
  6. 「SSHキーの追加」ボックスで、「SSHキーの貼付け」を選択します。
  7. 前に作成したid_rsa.pubファイルの内容をコピーします。「SSHキー・ペアの作成」を参照してください。

    ノート:

    ラップトップで作成したid_rsa keyファイルを使用してWeb層ノードに接続する場合は、そのキーをWebホストにコピーするか、SSHエージェント転送を使用する必要があります。または、Web層ノードに新しいキーを作成し、そのキーをここで使用します。
  8. 「作成」をクリックします。

サマリー画面に、Web層ノードに割り当てられたプライベートIPアドレスが表示されます。このアドレスを書き留めます。ノードに接続するときにこれが必要になります。

2番目のノードで各ステップを繰り返します。

OHSコンピュート・インスタンス・フォルト・ドメインの編集

各OHSインスタンスは、異なるフォルト・ドメインに存在する必要があります。OHSコンピュート・インスタンスの作成後に次のステップを実行します:
  1. 新しく作成したコンピュート・インスタンスをクリックします。
  2. 「その他のアクション」をクリックし、「編集」を選択します。
  3. 各OHSコンピュート・インスタンスが別のフォルト・ドメインにあることを確認し、そうでない場合は、「フォルト・ドメインの編集」をクリックして別のフォルト・ドメインを選択します。
  4. 「変更の保存」をクリックします。
    OHSコンピュート・インスタンスごとにステップを繰り返します。

OHSノードへの接続

Web層ホストに直接接続することはできません。要塞ノードを使用する必要があります。要塞ノードに接続した後で、Web層ホストに接続できます。「要塞ノードへの接続」を参照してください。

ノート:

コンピュート・インスタンスの作成時に、ホストへの接続に使用するSSHキーを指定しました。ラップトップ/デスクトップと同じキーを使用した場合は、SSHエージェント転送を使用してWebホストに接続する必要があります。または、要塞ホストで作成したSSHキーを使用することもできます。

次のSSHコマンドを使用して、要塞ノードからWebホストに接続できます:

ssh -i id_rsa opc@webhostIPAddress

または、SSHエージェント転送を使用することで、サーバーにキーを(パスフレーズなしで)残すかわりにローカルSSHキーを使用する場合、同じパス・スルー・コマンドを使用できます:

ssh -A opc@webIPAddress

OHSノードの構成

Web層ノードを作成したら、それらを構成する必要があります。ノードを構成するには、次のステップを実行します:

X11パッケージのインストール

セキュリティ上の理由から、Oracle HTTP ServerはKubernetesクラスタ内にインストールされません。Oracle HTTP Serverをインストールするには、X11パッケージをインストールしてX11転送を有効にする必要があります。

次のコマンドを使用して、X11パッケージをインストールします:

sudo yum repolist
sudo yum install -y libXrender libXtst xauth xterm nc xorg-x11*
追加パッケージのインストール

Oracle HTTP Serverでは、インストールの一部として追加のパッケージが存在する必要があります。次のコマンドを使用して、これらの追加パッケージをインストールします:

sudo yum install -y libaio-devel* compat-libstdc++-* compat-libcap* gcc-c++-* ksh* libnsl*
X11転送の有効化
X11でlocalhostを使用しないようにSSHDを構成します:
  1. 任意のエディタで/etc/ssh/sshd_configを開きます。
  2. "X11UseLocalhost yes"が含まれる行を検索します(これはコメント・アウトされています)。
  3. 行の先頭からコメントを削除します。
  4. yesnoに変更します。
  5. ファイルを保存します。
  6. 次のコマンドを使用して、SSHDを再起動します:
    sudo systemctl restart sshd
Oracle HTTP Serverで使用するためのコンピュート・インスタンスの準備

場合によっては、Oracle HTTP Serverのインストールおよびカーネル・パラメータの設定に必要な追加のLinuxパッケージをインストールする必要もあります。「エンタープライズ・デプロイメント用のKubernetesホスト・コンピュータの準備」を参照してください。

ファイアウォールの使用

コンピュート・インスタンスは、Oracle Linuxイメージを使用して作成されます。イメージには、デフォルトで有効になっている組込みのファイアウォールが付属しています。ネットワークにセキュリティ・ルールが定義されていても、Linuxサーバーは、組込みのLinuxファイアウォールが原因でこれらのリクエストを拒否します。

この特別なファイアウォールを使用するか、OCIセキュリティ・ルールに依存するかを決定できます。

ファイアウォールのポートを開く
ファイアウォールを使用する場合は、サーバーに到着するすべてのポートを許可するファイアウォール・ルールを追加する必要があります。
  1. アクセスする必要があるすべてのポートで、次のコマンドを実行します:
    sudo firewall-cmd --permanent --add-port=YOUR PORT/tcp

    たとえば:

    sudo firewall-cmd --permanent --add-port=7777/tcp
  2. すべてのポートを構成したら、ファイアウォール・サービスを再起動します。次のコマンドを使用して再起動します:
    sudo systemctl restart firewalld
  3. 次のコマンドを実行して、ファイアウォール構成を検証します:
    sudo firewall-cmd --list-ports
ファイアウォールの無効化

ファイアウォールを無効にするには、次のコマンドを実行します:

sudo systemctl stop firewalld
sudo systemctl disable firewalld
ソフトウェア所有者アカウントの作成

OPCユーザーを使用してOracleソフトウェアをインストールすることは、お薦めしません。それより、ソフトウェアを所有するカスタム・ユーザーを作成することをお薦めします。カスタム・ユーザーを作成するには、次のコマンドを実行します:

sudo adduser -u 1001 oracle
sudo groupadd -g 1002 oinstall
sudo usermod -a -G oinstall oracle 
sudo usermod -g oinstall oracle
ホスト・ファイルの準備

OCI環境内のネットワークの性質は、Oracle HTTP Serverインスタンスがパブリック・ロード・バランサにアクセスできないことを意味します。これにより、Oracle HTTP Serverが一部の仮想ホストにアクセスしようとしたときに問題が発生する可能性があります。

以降の項では、外部からユーザーのシステムへの接続用にパブリック・ロード・バランサを作成します。「パブリック・ロード・バランサの作成」を参照してください。

プライベート・サブネットからこのロード・バランサにリクエストをルーティングできるように、プライベート・ロード・バランサも作成します。「プライベート・ロード・バランサの作成」を参照してください。

Oracle HTTP Serverからのリクエストがパブリックではなくプライベート・ロード・バランサに送信されるようにするには、Webホスト上の/etc/hostsファイルに次のようなエントリを作成する必要があります:
IP ADDRESS OF PRIVATE LOAD BALANCER login.example.com
たとえば:
10.0.2.7 login.example.com
OHSをインストールするためのコンピュート・インスタンスへの接続

Oracle HTTP Serverをインストールするには、グラフィカル表示にアクセスする必要があります。このアクセスを取得するには、X11転送を使用する必要があります。

  1. デスクトップ/ラップトップから、X Windowサーバーをインストールします。たとえば: XQuartz for MacOS
  2. 次のコマンドを使用して、要塞サーバーにSSH接続します:
    ssh -AX opc@bastionserver
  3. 次のコマンドを使用して、WebサーバーにSSH接続します:
    ssh -AX oracle@webserver

OHSのインストール手順の詳細は、「Oracle HTTP Serverのインストールと構成」を参照してください。

ファイル・システムとマウント・ターゲットの作成

Kubernetes永続ボリュームおよびOracle HTTP Serverインストール用のNFSファイル・システムを作成する必要があります。

作成する必要があるファイル・システムについては、「エンタープライズ・デプロイメントの記憶域の要件」を参照してください。

エンタープライズ・デプロイメント用のファイル・システムの準備の概要

記憶域は、エンタープライズ・デプロイメントがわかりやすくなり、構成および管理が容易になるように設定することが重要です。

この章では、エンタープライズ・デプロイメント用のファイル・システムを準備するプロセスの概要について説明します。この章の情報に従って記憶域を設定することをお薦めします。この章で定義されている用語は、このガイド内のダイアグラムおよび手順で使用されます。

ファイル・システムのサマリー

作成する必要があるファイル・システムの詳細は、表4-3を参照してください。

ファイル・システムを要塞ノードにマウントする必要があるのは、初期設定時のみです。

ファイル・システムの作成

ファイル・システムを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ストレージ」を選択し、「ファイル・システム」をクリックします。
  3. 「ファイル・システムの作成」をクリックします。
  4. 「NFSのファイルシステム」を選択します。
  5. 「ファイル・システム情報」セクションの「詳細の編集」をクリックします。
  6. 次の詳細を入力します。
    • 名前: ファイル・システムの名前を指定します。たとえば: oudpv
    • コンパートメント: 前に作成したコンパートメントを選択します。「OCIコンパートメントの作成」を参照してください。
  7. 「エクスポート情報」セクションの「詳細の編集」をクリックします。
  8. 次のように入力します:
    • エクスポート・パス: これは、エクスポートするパスです。例: /exports/IAMPVS/oudpv
  9. 「マウント・ターゲット情報」セクションの「詳細の編集」をクリックします。
  10. 次の詳細を入力します。
    • マウント・ターゲット名: マウント・ターゲットの名前を指定します。例: IAMPV
    • 仮想クラウド・ネットワーク: 「VCN」を選択します。
    • サブネット:
      • 永続ボリュームの場合は、oke-nodeサブネットを選択します。
      • OHS1の場合は、Web層用に作成したサブネットを選択します。
  11. 「作成」をクリックします。

ノート:

最初の永続ボリューム(PV)に対してのみ、新しいマウント・ターゲットを作成します。後続のPVは、同じマウント・ターゲットを使用する必要があります。

マウント・ターゲット・ストレージ・レポートの設定

Oracle製品をインストールすると、インストーラによって使用可能なディスク・ストレージがチェックされます。OCIファイル・システムを使用する場合、このチェックは失敗します。ディスク領域が不足していることを示すメッセージが表示されます。このエラーを抑止するため、指定した空き領域の容量をレポートするようにOCIを構成できます。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ストレージ」を選択し、「マウント・ターゲット」をクリックします。
  3. 「NFS」タブをクリックします。
  4. 可用性ドメイン1のOHSマウント・ターゲットを選択します。
    マウント・ターゲットが表示されます。
  5. 「レポートされたサイズ(GiB)」の横にある「編集」(鉛筆のような外観)をクリックします。
  6. 任意のサイズ値を設定します。たとえば: 20。
    この値によって、ファイル・システムがOHSノードにマウントされると、20GBの空き領域がレポートされます。これにより、OHSインストーラを続行できます。
  7. 「保存」をクリックします。

PVセキュリティ・リストの作成

使用するサブネットと同じサブネットにマウント・ポイントを作成しましたが、それにアクセスするにはセキュリティ・リストを作成する必要があります。Web層エントリはすでに追加されています。ただし、さらにOHSマウント・ターゲットのセキュリティ・リストを作成する必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. Kubernetesクラスタ・サマリー画面で、oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  3. リソースのリストから「セキュリティ・リスト」を選択します。
  4. 「セキュリティ・リストの作成」をクリックします。
  5. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: pv-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  6. 「別のイングレス・ルールの追加」をクリックして、表10-7に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  7. 「別のエグレス・ルールの追加」をクリックして、表10-7に記載されているエグレス・ルールを追加します(エグレス・ルールごとに繰り返します)。
  8. 「セキュリティ・リストの作成」をクリックします。

表10-7 イングレス・ルールとエグレス・ルールの説明

ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル ソース・ポート範囲 宛先ポート範囲

イングレス

CIDR

10.0.10.0/24

TCP

111

イングレス

CIDR

10.0.10.0/24

TCP

2048-2050

イングレス

CIDR

10.0.10.0/24

UDP

111

イングレス

CIDR

10.0.10.0/24

UDP

2048

イングレス

CIDR

10.0.1.0/29

TCP

111

イングレス

CIDR

10.0.1.0/29

TCP

2048-2050

イングレス

CIDR

10.0.1.0/29

UDP

111

イングレス

CIDR

10.0.1.0/29

UDP

2048

イングレス

CIDR

10.0.2.0/28

TCP

111

イングレス

CIDR

10.0.2.0/28

TCP

2048-2050

イングレス

CIDR

10.0.2.0/28

UDP

111

イングレス

CIDR

10.0.2.0/28

UDP

2048

エグレス

CIDR

10.0.10.0/24

TCP

111

エグレス

CIDR

10.0.10.0/24

TCP

2048-2050

エグレス

CIDR

10.0.10.0/24

UDP

111

エグレス

CIDR

10.0.1.0/29

TCP

111

エグレス

CIDR

10.0.1.0/29

TCP

2048-2050

エグレス

CIDR

10.0.1.0/29

UDP

111

エグレス

CIDR

10.0.2.0/28

TCP

111

エグレス

CIDR

10.0.2.0/28

TCP

2048-2050

エグレス

CIDR

10.0.2.0/28

UDP

111

ノート:

要塞サブネットのルールが必要なのは、初期設定/構成のみです。

サブネットへのセキュリティ・リストの追加

サブネットにセキュリティ・リストを追加するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」 > 「仮想クラウド・ネットワーク」を選択し、仮想クラウド・ネットワークの名前をクリックします。
  3. oke-nodesubnetを選択します。
  4. 「セキュリティ・リストの追加」をクリックします。
  5. 前に作成したセキュリティ・リストを選択します。たとえば: pv-seclist「PVセキュリティ・リストの作成」を参照してください。
  6. 「セキュリティ・リストの追加」をクリックします。
  7. サブネットweb-subnetおよびbastion-subnetについてステップ1から6を繰り返します。

ホストへのファイル・システムのマウント

各マウント・ターゲットには異なるIPアドレスがあります。特定のファイル・システムのマウント方法を決定するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ストレージ」を選択し、「ファイル・システム」をクリックします。
  3. ファイル・システムを選択します。
  4. 「ファイル・システム」画面で、エクスポートのリストからエクスポートを選択します。
  5. 画面の上部にある「マウント・コマンド」をクリックして、マウント・コマンドの例を表示します。
  6. OHSホストの場合、次のマウント・オプションを使用して/etc/fstabにエントリを配置します:

    サンプルOHS /etc/fstabエントリ:

    
    <IP>:/exports/IAMBINARIES/webbinaries1 /u02/private/oracle/products nfs auto,rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768
    <IP>:/exports/IAMCONFIG/webconfig1  /u02/private/oracle/config nfs auto,rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768
    

    コンテナでファイル・システムを使用する前に、ファイル・システムへの書込みが可能であることを確認してください。ファイル・システムを要塞ノードにマウントして書き込みます。書込みできない場合は、chmodコマンドを使用してファイル・システムへの書込みを有効にします。

    たとえば:

    sudo mkdir -p /u02/private/oracle/products /u02/private/oracle/config
    sudo mount -a
    sudo chmod -R 777 /u02/private/oracle

    表10-8 マウントするホストとファイル・システムのサマリー

    マウント・ホスト ファイル・システム コメント

    webhost1

    webbinaries1

    /u02/private/oracle/productsとしてマウントされます。

    webhost2

    webbinaries2

    /u02/private/oracle/productsとしてマウントされます。

    webhost1

    webconfig1

    /u02/private/oracle/configとしてマウントされます。

    webhost2

    webconfig2

    /u02/private/oracle/configとしてマウントされます。

    すべてのKubernetesノード

    images

    nfs_volumes*

    コンテナ・イメージを一時的に格納するステージング・ディレクトリとして使用されます。

    /imagesとしてマウントされます。

    要塞ノード

    oudconfigpv

    /nfs_volumes/oudconfigpvとしてマウントされます。

    oudpv

    /nfs_volumes/oudpvとしてマウントされます。

    oudsmpv

    /nfs_volumes/oudsmpvとしてマウントされます。

    oigpv

    /nfs_volumes/oigpvとしてマウントされます。

    oampv

    /nfs_volumes/oampvとしてマウントされます。

    oiripv

    /nfs_volumes/oiripvとしてマウントされます。

    dingpv

    /nfs_volumes/dingpvとしてマウントされます。

    oaacredpv

    /nfs_volumes/oaacredpvとしてマウントされます。

    oaaconfigpv

    /nfs_volumes/oaaconfigpvとしてマウントされます。

    oaalogpv

    /nfs_volumes/oaalogpvとしてマウントされます。

    oaavaultpv

    /nfs_volumes/oaavaultpvとしてマウントされます。

    ノート: ファイルベースのボールトを使用する場合に必要です。

    オプションで、すべてのPVをマウントします。このオプションでは、必要に応じて構成フェーズでデプロイメントを削除できます。システムの稼働後にこれらのマウントを削除します。

    ノート:

    *これらのファイル・システムに、ブロック・ボリュームを使用することもできます。

ロード・バランサの作成

2つのOCIロード・バランサを作成する必要があります。これらのロード・バランサの1つは、パブリック・トラフィックを転送するために使用され、もう1つは内部コールバック用です。内部トラフィックに使用されるロード・バランサは、OCIコンテナの外部では使用できません。

ロード・バランサの詳細は、「ロード・バランシングの開始」を参照してください。

パブリック・ロード・バランサの作成

このロード・バランサは、インターネットからOracle HTTP Serverにトラフィックを転送し、次にそのトラフィックをKubernetesポッドに渡します。

パブリック・ロード・バランサは、SSLを介してユーザーを対象にトラフィックを送信しますが、トラフィックはOCI仮想ネットワーク内で移動した後、暗号化されずに送信されます。復号化はSSL終端によって発生します。テストのために、独自のSSL証明書を指定するか、自己署名証明書を作成する必要があります。

パブリック・ロード・バランサを作成するには、次のステップを実行します:

自己署名証明書の作成

opensslパッケージにアクセスできる任意のホストで自己署名証明書を作成できます。次に、Linuxマシンでの例を示します(この例では要塞サーバーが使用されています)。

詳細は、ドキュメントID 2617046.1を参照してください。

必要に応じて、正当な認証局から提供された証明書を使用することもできます。

自己署名証明書を作成するには:

  1. 次のコマンドを使用して、CA (認証局)の秘密キーを作成します:
    openssl genrsa -out ca.key 2048
    Generating RSA private key, 2048 bit long modulus
    ....................+++
    .....+++
    e is 65537 (0x10001)
  2. 証明書署名リクエスト(CSR)を作成します。
    openssl req -new -key ca.key -out ca.csr
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:CR
    State or Province Name (full name) []:SJO
    Locality Name (eg, city) [Default City]:
    Organization Name (eg, company) [Default Company Ltd]:mycompany
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:*.example.com
    Email Address []:
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
  3. 新しい証明書の署名に使用するCA署名証明書を作成します。
    openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
    Signature ok
    subject=/C=CR/ST=SJO/L=Default City/O=mycompany/CN=*.example.com
    Getting Private key
  4. ロード・バランサの秘密キーを作成します。
    openssl genrsa -out loadbalancer.key 2048
    Generating RSA private key, 2048 bit long modulus
    ....................+++
    .....+++
    e is 65537 (0x10001)
  5. ロード・バランサのCSRを作成します。
    openssl req -new -key loadbalancer.key -out loadbalancer.csr
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:CR
    State or Province Name (full name) []:SJO
    Locality Name (eg, city) [Default City]:
    Organization Name (eg, company) [Default Company Ltd]:mycompany
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:*.example.com
    Email Address []:
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
  6. CA証明書を使用してその証明書に署名します。
    openssl x509 -req -in loadbalancer.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out loadbalancer.crt -days 50000
    Signature ok
    subject=/C=CR/ST=SJO/L=Default City/O=mycompany/CN=*.example.com
    Getting CA Private Key
  7. 証明書がCAによって署名されていることを確認します。
    openssl x509 -in loadbalancer.crt -text
    Certificate:
    Data:
    Version: 1 (0x0)
    Serial Number:
    df:e7:c9:6a:56:e5:e4:c9
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: Issuer: C=CR, ST=SJO, L=Default City, O=mycompany, CN=*.example.com <==== here signed by my ca..
    Validity
    Not Before: Dec 3 16:34:58 2019 GMT
    Not After : Oct 25 16:34:58 2156 GMT
    Subject: =/C=CR/ST=SJO/L=Default City/O=mycompany/CN=*.example.com
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    Public-Key: (2048 bit)
    Modulus:
    00:da:62:ce:69:77:ff:45:b0:84:9f:af:53:44:97:
    13:28:91:44:cd:0b:1d:e5:a1:f6:a3:ef:f8:98:19:
    8d:c2:56:a0:e1:80:1c:e0:0e:ae:34:9a:a8:ae:52:
    d4:71:a4:da:10:8b:fd:df:73:0d:8e:98:ef:d4:7b:
    36:f1:1c:5a:d7:24:88:63:f5:b2:6b:7a:62:50:3a:
    e7:3a:3d:9a:b7:41:db:8e:f5:e8:91:46:48:cf:0c:
    54:da:7b:da:20:76:b6:eb:4b:cb:fa:36:09:f7:94:
    ea:c9:53:3f:b2:bc:66:4c:6d:7f:3f:09:cc:cd:c2:
    10:1f:39:0f:6c:1d:49:7c:db:99:d9:d9:7d:48:dd:
    09:52:50:9d:f5:44:fd:2e:48:f2:78:22:20:3c:07:
    b6:a1:4d:f8:17:82:67:a1:45:52:0a:21:78:ed:1b:
    ca:45:79:16:21:c9:e3:2f:a4:93:d4:bf:67:68:7a:
    b6:d9:8f:e1:53:35:31:a6:17:38:f2:a6:79:b5:12:
    6b:36:f2:2d:69:56:c2:d9:c0:89:d9:31:6b:06:0c:
    1e:ba:a6:30:88:32:7b:92:e4:af:11:ab:37:1a:cb:
    cf:4b:4c:7d:ff:a7:4d:f8:be:cd:98:17:63:83:06:
    cf:e7:ae:4a:d5:6e:6b:e4:0d:f3:6f:70:52:2b:8b:
    12:83
    Exponent: 65537 (0x10001)
    Signature Algorithm: sha256WithRSAEncryption
    d8:36:2e:2e:42:72:76:15:ec:a8:3a:e9:dd:2d:2e:28:42:97:
    48:4e:6f:33:ec:df:3e:a3:11:19:8b:62:d5:89:07:af:b5:ff:
    b6:de:d7:5c:8b:7a:46:37:46:da:b7:44:7f:b6:cc:c8:a9:1e:
    f9:ca:0f:76:2b:29:d2:4c:6a:af:18:9b:1a:62:42:87:e6:21:
    b7:09:15:8d:b3:1d:05:4a:4d:1b:d1:07:00:cd:69:40:92:ed:
    f9:3d:24:c9:b7:b9:00:7e:c3:f9:73:42:7f:13:34:a8:d1:e4:
    32:91:08:51:07:a5:d0:ab:42:fb:83:c4:a7:b5:94:0f:2a:56:
    8b:95:34:1b:63:5b:39:59:88:9b:9f:34:91:98:dc:8c:0a:0e:
    01:f9:b2:6e:fd:2e:95:28:4c:76:dd:fe:a0:3f:f1:16:3b:88:
    cd:e5:0a:f3:dd:52:0d:39:2a:60:2c:f0:5d:79:3b:7e:99:43:
    3b:47:33:85:f9:7c:f1:e8:cb:3d:cd:ab:4c:1f:a2:72:99:70:
    f4:8d:92:4a:24:9e:37:96:ad:24:d5:13:33:05:32:ae:d5:58:
    ed:3e:32:6f:a7:1e:a8:61:a5:fb:73:ea:54:46:b7:07:77:07:
    9a:9d:af:eb:66:5c:55:f1:50:23:fb:da:d9:b7:4b:0b:6d:bb:
    c7:39:18:ae
    -----BEGIN CERTIFICATE-----
    MIIDUDCCAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAQsFADBaMQswCQYDVQQGEwJD
    UjEMMAoGA1UECAwDU0pPMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDzANBgNVBAoM
    Bm9yYWNsZTEVMBMGA1UEAwwMKi5vcmFjbGUuY29tMCAXDTE5MTIwMzE2MzQ1OFoY
    DzIxNTYxMDI1MTYzNDU4WjB4MQswCQYDVQQGEwJDUjEMMAoGA1UECAwDU0pPMRUw
    EwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBM
    dGQxDzANBgNVBAsMBm9yYWNsZTEVMBMGA1UEAwwMKi5vcmFjbGUuY29tMIIBIjAN
    BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2mLOaXf/RbCEn69TRJcTKJFEzQsd
    5aH2o+/4mBmNwlag4YAc4A6uNJqorlLUcaTaEIv933MNjpjv1Hs28Rxa1ySIY/Wy
    a3piUDrnOj2at0HbjvXokUZIzwxU2nvaIHa260vL+jYJ95TqyVM/srxmTG1/PwnM
    zcIQHzkPbB1JfNuZ2dl9SN0JUlCd9UT9LkjyeCIgPAe2oU34F4JnoUVSCiF47RvK
    RXkWIcnjL6ST1L9naHq22Y/hUzUxphc48qZ5tRJrNvItaVbC2cCJ2TFrBgweuqYw
    iDJ7kuSvEas3GsvPS0x9/6dN+L7NmBdjgwbP565K1W5r5A3zb3BSK4sSgwIDAQAB
    MA0GCSqGSIb3DQEBCwUAA4IBAQDYNi4uQnJ2FeyoOundLS4oQpdITm8z7N8+oxEZ
    i2LViQevtf+23tdci3pGN0bat0R/tszIqR75yg92KynSTGqvGJsaYkKH5iG3CRWN
    sx0FSk0b0QcAzWlAku35PSTJt7kAfsP5c0J/EzSo0eQykQhRB6XQq0L7g8SntZQP
    KlaLlTQbY1s5WYibnzSRmNyMCg4B+bJu/S6VKEx23f6gP/EWO4jN5Qrz3VINOSpg
    LPBdeTt+mUM7RzOF+Xzx6Ms9zatMH6JymXD0jZJKJJ43lq0k1RMzBTKu1VjtPjJv
    px6oYaX7c+pURrcHdweana/rZlxV8VAj+9rZt0sLbbvHORiu
    -----END CERTIFICATE-----
この手順では、後で使用する次のファイルを作成します。「ロード・バランサ証明書のアップロード」を参照してください。
  • ca.crt
  • loadbalancer.crt
  • loadbalancer.key
セキュリティ・リストの作成

セキュリティ・リストによって、ロード・バランサにアクセスできるユーザーと、ロード・バランサがリクエストを送信できる場所が決まります。

プライベート・セキュリティ・リストを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「仮想クラウド・ネットワーク」をクリックします。
  3. oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  4. リソースのリストから「セキュリティ・リスト」を選択します。
  5. 「セキュリティ・リストの作成」をクリックします。
  6. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: public-lbr-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  7. 別のイングレス・ルールの追加をクリックして、表10-9に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  8. 「別のエグレス・ルールの追加」をクリックして、表10-9に記載されているエグレス・ルールを追加します(エグレス・ルールごとに繰り返します)。
  9. 「セキュリティ・リストの作成」をクリックします。

表10-9 イングレス・ルールとエグレス・ルールの説明

ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル 宛先ポート範囲

イングレス

CIDR

0.0.0.0/0

 

TCP

80

イングレス

CIDR

0.0.0.0/0

 

TCP

443

エグレス

CIDR

 

10.0.2.0/28

TCP

7777

ノート:

10.0.2.0は、Web層に使用するサブネットです。
ルート表の作成

ロード・バランサがインターネットと通信できるように、ルート表を作成する必要があります。

ルート表を作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「仮想クラウド・ネットワーク」をクリックします。
  3. oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  4. リソースのリストから「ルート表」を選択します。
  5. 「ルート表の作成」をクリックします。
  6. 次の詳細を入力します。
    • 名前: ルート表の名前を入力します。たとえば: lbr-route-table
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  7. 「別のルート・ルールの追加」をクリックします。
  8. 次の情報を入力します。
    • ターゲット・タイプ: 「インターネット・ゲートウェイ」を選択します。
    • 宛先CIDR: 0.0.0.0/0と入力します。
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • ターゲット・インターネット・ゲートウェイ: インターネット・ゲートウェイを選択します。たとえば: oke-igw-quick-clustername-id
  9. 「作成」をクリックします。
ロード・バランサのサブネットの作成

パブリック・ロード・バランサは、分離されたサブネットに配置されます。ロード・バランサは、一方が失敗しても他方がワークロードを引き継げるように、ペアとして作成されます。ロード・バランサは可用性ドメインに存在し、ロード・バランサごとに異なるサブネットが作成されます。ロード・バランサに異なるサブネットを使用することで、ロード・バランサにのみパブリック・アクセスを許可し、ロード・バランシングするコンポーネントは対象にしない厳格なアクセス・ルールを作成します。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「仮想クラウド・ネットワーク」をクリックします。
  3. oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  4. 「サブネットの作成」をクリックします。
  5. 次の詳細を入力します。
    • 名前: サブネットの名前を入力します。たとえば: lbr-subnet1
    • サブネット・タイプ: 「リージョナル」を選択します。
    • 可用性ドメイン: 可用性ドメインを選択します。
    • CIDRブロック: ロード・バランサ・ネットワークに使用するサブネットを選択します。たとえば: 10.0.4.0/24
    • ルート表: 前に作成したルート表を選択します。たとえば: lbr-route-table「ルート表の作成」を参照してください。
    • サブネット・アクセス: 「パブリック・サブネット」を選択します。
    • DNS解決: 「サブネットでDNSホスト名を使用」を選択します。
    • DHCPオプション: 「VCNのデフォルトDHCPオプション」を選択します。
    • セキュリティ・リスト: 前に作成したパブリック・セキュリティ・リストを選択します。たとえば: public-lbr-seclist「セキュリティ・リストの作成」を参照してください。
  6. 「サブネットの作成」をクリックします。
ロード・バランサの作成
ロード・バランサを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. 「ロード・バランサの作成」をクリックします。
  4. 「ロード・バランサ」を選択し、「ロード・バランサの作成」をクリックします。
  5. 次の情報を入力します。
    • 名前: ロード・バランサの名前を入力します。たとえば: public-loadbalancer
    • 可視性タイプ: 「パブリック」を選択します。
    • 特定のIPアドレスを使用する場合を除き、「パブリックIPアドレスの割当て」および「エフェメラルIPアドレス」を選択します。この場合、「予約済IPアドレス」を選択します。
    • シェイプ: 「フレキシブル・シェイプ」を選択します。
    • 帯域幅: 予測される帯域幅を選択します。
    • 仮想クラウド・ネットワーク: 仮想クラウド・ネットワークを選択します。
    • サブネット: 前に作成した2つのロード・バランサ・サブネットを選択します。「ロード・バランサのサブネットの作成」を参照してください。
  6. 「次」をクリックします。
  7. 「バックエンドの選択」画面で、適切なロード・バランシング・ポリシーを選択します。
  8. 「バックエンドの追加」をクリックします。
    1. Webサーバー・インスタンスを選択します。
    2. 「選択したバックエンドの追加」をクリックします。
    3. ポートをOracle HTTP Serverのリスニング・ポートに変更します。たとえば: 7777
  9. 「ヘルス・チェック・ポリシーの指定」画面で、ポートをHTTPサーバー・ポートに変更します。たとえば: 7777
  10. 「拡張オプションの表示」をクリックし、バックエンド・セットの名前を入力します。たとえば: ohs_servers
  11. 「次」をクリックします。
  12. 「リスナーの構成」画面で、次の情報を入力します:

    ノート:

    エントリ・ポイントごとに1つのリスナーが必要です。ただし、この時点で追加できるリスナーは1つのみです。
    • 名前: リスナーの名前を選択します。たとえば: iadadmin
    • トラフィック・タイプ: リスナーが使用するトラフィック・タイプを選択します。iadadmin.example.comHTTPを使用します。
    • ポート: ロード・バランサ・ポートを選択します。iadadmin.example.comはポート80を使用します。
  13. 「次」をクリックします。
  14. 「ロギングの管理」画面で、「新規ログ・グループの作成」が選択されていることを確認します。
  15. 「名前」を変更します。例: Public_Lbr
  16. 「ログ名」を変更します。例: Public_lbr_error
  17. 「送信」をクリックします。
ロード・バランサ証明書のアップロード

ロード・バランサはSSLリクエストをルーティングするため、ロード・バランサの証明書をアップロードする必要があります。自己署名証明書を作成した場合は、その証明書の詳細を追加します。独自の証明書がある場合は、それらをアップロードします。

証明書をアップロードするには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: public_loadbalancer
  4. リソース・リストから「証明書」を選択します。
  5. 「ロード・バランサ管理対象証明書」を選択します。
  6. 「証明書の追加」をクリックします。
  7. 次の情報を入力しますファイルを直接アップロードするか、ファイルの内容を貼り付けることができます。
    • 証明書名: 証明書の名前を入力します。たとえば: Loadbalancer
    • SSL証明書: loadbalancer.crtファイルの内容を含めます。
    • CA証明書: 「CA証明書ソースの指定」チェック・ボックスを選択して、ca.crtファイルの内容を含めます。
    • 秘密キー: loadbalancer.keyファイルの内容を含めるには、「秘密キーの指定」チェック・ボックスを選択します。

    「自己署名証明書の作成」を参照してください。

  8. 「証明書の追加」をクリックします。
ホスト名の作成

ホスト名は、ロード・バランサに対する様々なエントリ・ポイントをフィルタするために使用されます。「エンタープライズ・デプロイメントに必要なロード・バランサ仮想サーバーのサマリー」で説明されているロード・バランサ仮想ホストごとにホスト名を作成する必要があります。

次のホスト名を作成する必要があります:

  • iadadmin.example.com
  • igdadmin.example.com
  • login.example.com
  • prov.example.com

ロード・バランサ・ホスト名を作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: public_loadbalancer
  4. リソース・リストから「ホスト名」を選択します。
  5. 「ホスト名の作成」をクリックします。
  6. 次の情報を入力します。
    • 名前: ホストの名前を入力します。たとえば: iadadmin
    • ホスト名: 完全修飾ホスト名を入力します。たとえば: iadadmin.example.com
  7. 「作成」をクリックします。
  8. 作成するホスト名ごとに繰り返します。

ノート:

管理アクセスをネットワーク内のユーザーに制限する場合は、プライベート・ロード・バランサにホストiadadmin.example.comおよびigdadmin.example.comを作成する必要があります。
リスナーの作成

前に作成したホスト名ごとにリスナーを作成する必要があります。「ホスト名の作成」を参照してください。iadadminリスナーは、ロード・バランサの作成時に作成されています。「ロード・バランサの作成」を参照してください。

表10-10 パブリック・ロード・バランサ・リスナーのサマリー

名前 プロトコル ポート SSL バックエンド・セット ホスト名

iadadmin

http

80

 

ohs_servers

iadadmin.example.com

igdadmin

http

80

 

ohs_servers

igdadmin.example.com

login

https

443

あり

ohs_servers

login.example.com

prov

https

443

あり

ohs_servers

prov.example.com

ロード・バランサ・リスナーを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: public_loadbalancer
  4. リソース・リストから「リスナー」を選択します。
  5. 「リスナーの作成」をクリックします。
  6. 次の情報を入力します。
    • 名前: リスナーの名前を入力します。たとえば: login
    • プロトコル: 「https」を選択します。
    • ポート: 443を指定します。
    • 証明書名: ロード・バランサ用に作成した証明書が表示されていることを確認します。表示されていない場合は、その証明書を選択します。

      ノート:

      このオプションは、HTTPSプロトコルを使用する場合にのみ使用できます。
    • ホスト名: 「login」を選択します。
    • バックエンド・セット: バックエンド・セットを選択します。たとえば: ohs_servers
  7. 「リスナーの作成」をクリックします。
  8. 各ステップを繰り返して残りのリスナーを作成します。

ノート:

管理アクセスをネットワーク内のユーザーに制限する場合は、プライベート・ロード・バランサにリスナーiadadmin.example.comおよびigdadmin.example.comを作成します。
デフォルト・リスナーの更新

ロード・バランサを作成すると、デフォルト・リスナーも作成されます。新しく作成したホスト名をこのリスナーに割り当てる必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: public-loadbalancer
  4. リソース・リストから「リスナー」を選択します。
  5. リスナーを編集するには、名前の横にある3つのドットをクリックし、「編集」をクリックします。
  6. 前に作成したホスト名にホスト名を設定します。たとえば: iadadmin「ホスト名の作成」を参照してください。
  7. 「リスナーの更新」をクリックします。

プライベート・ロード・バランサの作成

内部コールバックのルーティングに使用されるプライベート・ロード・バランサは、Oracle Webサーバーと同じサブネットに存在します。このロード・バランサは、アプリケーション内から生成されたリクエストを処理します。

ノート:

Webサーバーは、curlコマンドをlogin.example.comに対して発行します。また、Webサーバーはパブリック・ロード・バランサに直接アクセスできないため、プライベート・ロード・バランサにこれを定義する必要があります。パブリック・ロード・バランサの作成時に使用したものと同じ証明書を使用できます。

プライベート・ロード・バランサを作成するには、次のステップを実行します:

ロード・バランサの作成
ロード・バランサを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. 「ロード・バランサの作成」をクリックします。
  4. 「ロード・バランサ」を選択し、「ロード・バランサの作成」をクリックします。
  5. 次の情報を入力します。
    • 名前: ロード・バランサの名前を入力します。たとえば: internal-loadbalancer
    • 可視性タイプ: 「プライベート」を選択します。
    • シェイプ: 「フレキシブル・シェイプ」を選択します。
    • 帯域幅: 予測される帯域幅を選択します。
    • 仮想クラウド・ネットワーク: 仮想クラウド・ネットワークを選択します。
    • サブネット: Webサーバーと同じサブネットを選択します。たとえば: web-subnet「ロード・バランサのサブネットの作成」を参照してください。
  6. 「次」をクリックします。
  7. 「バックエンドの選択」画面で、適切なロード・バランシング・ポリシーを選択します。
  8. 「バックエンドの追加」をクリックします。
    1. Webサーバー・インスタンスを選択します。
    2. 「選択したバックエンドの追加」をクリックします。
    3. ポートをOracle HTTP Serverのリスニング・ポートに変更します。たとえば: 7777
  9. 「ヘルス・チェック・ポリシーの指定」画面で、ポートをHTTPサーバー・ポートに変更します。たとえば: 7777
  10. 「拡張オプションの表示」をクリックし、バックエンド・セットの名前を入力します。たとえば: ohs_servers
  11. 「次」をクリックします。
  12. 「リスナーの構成」画面で、次の情報を入力します:
    • 名前: リスナーの名前を選択します。たとえば: igdinternal
    • トラフィック・タイプ: リスナーが使用するトラフィック・タイプを選択します。igdinternalHTTPを使用します。
    • ポート: ロード・バランサ・ポートを選択します。igdinternalはポート7777を使用します。
  13. 「次」をクリックします。
  14. 「ロギングの管理」画面で、「新規ログ・グループの作成」が選択されていることを確認します。
  15. 「送信」をクリックします。
ホスト名の作成

ホスト名は、ロード・バランサに対する様々なエントリ・ポイントをフィルタするために使用されます。「エンタープライズ・デプロイメントに必要なロード・バランサ仮想サーバーのサマリー」で説明されているロード・バランサ仮想ホストごとにホスト名を作成する必要があります。

次のホスト名を作成する必要があります:
  • igdinternal.example.com
  • login.example.com
  • iadadmin.example.com
  • igdadmin.example.com

ノート:

login.example.comは、内部トラフィック・ルーティング用にここで定義されています。EDGはネットワーク分離を使用します。ここで定義しない場合、login.example.comへのコールはパブリック・ネットワークを使用して通信を試行し、失敗します。

ロード・バランサ・ホスト名を作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: internal_loadbalancer
  4. リソース・リストから「ホスト名」を選択します。
  5. 「ホスト名の作成」をクリックします。
  6. 次の情報を入力します。
    • 名前: ホストの名前を入力します。たとえば: igdinternal
    • ホスト名: 完全修飾ホスト名を入力します。たとえば: igdinternal.example.com
  7. 「作成」をクリックします。
  8. ステップ5から7を繰り返して、必要なホスト名をそれぞれ作成します。
デフォルト・リスナーの更新

ロード・バランサを作成すると、デフォルト・リスナーも作成されます。新しく作成したホスト名をこのリスナーに割り当てる必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: internal_loadbalancer
  4. リソース・リストから「リスナー」を選択します。
  5. リスナーを編集するには、名前の横にある3つのドットをクリックし、「編集」をクリックします。
  6. 前に作成したホスト名にホスト名を設定します。たとえば: igdinternal「ホスト名の作成」を参照してください。
  7. 「リスナーの更新」をクリックします。
ロード・バランサ証明書のアップロード

ロード・バランサはSSLリクエストをルーティングするため、ロード・バランサの証明書をアップロードする必要があります。自己署名証明書を作成した場合は、その証明書の詳細を追加します。独自の証明書がある場合は、それらをアップロードします。

証明書をアップロードするには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: internal_loadbalancer
  4. リソース・リストから「証明書」を選択します。
  5. 「証明書の追加」をクリックします。
  6. 次の情報を入力しますファイルを直接アップロードするか、ファイルの内容を貼り付けることができます。
    • 名前: 証明書の名前を入力します。たとえば: Loadbalancer
    • SSL証明書: loadbalancer.crtファイルの内容を含めます。
    • CA証明書: 「CA証明書ソースの指定」チェック・ボックスを選択して、ca.crtファイルの内容を含めます。
    • 秘密キー: loadbalancer.keyファイルの内容を含めるには、「秘密キーの指定」チェック・ボックスを選択します。

    「自己署名証明書の作成」を参照してください。

  7. 「証明書の追加」をクリックします。
リスナーの作成

前に作成したホスト名ごとにリスナーを作成する必要があります。「ホスト名の作成」を参照してください。

表10-11プライベート・ロード・バランサ・リスナーのサマリー

名前 プロトコル ポート SSL バックエンド・セット ホスト名

igdinternal

http

7777

なし

ohs_servers

igdinternal.example.com

login

https

443

あり

ohs_servers

login.example.com

iadadmin

http

80

なし

ohs_servers

iadadmin.example.com

igdadmin

http

80

なし

ohs_servers

igdadmin.example.com

ロード・バランサ・リスナーを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. ロード・バランサをクリックします。たとえば: internal_loadbalancer
  4. リソース・リストから「リスナー」を選択します。
  5. 「リスナーの作成」をクリックします。
  6. 次の情報を入力します。
    • 名前: リスナーの名前を入力します。たとえば: login.example.com
    • プロトコル: 「HTTPS」を選択します。
    • ポート: 443を指定します。
    • 証明書名: ロード・バランサ用に作成した証明書が表示されていることを確認します。表示されていない場合は、その証明書を選択します。
    • ホスト名: 「login」を選択します。
    • バックエンド・セット: バックエンド・セットを選択します。たとえば: ohs_servers
  7. 「リスナーの作成」をクリックします。

ネットワーク・ロード・バランサの作成

このステップは、トラフィックをKubernetesワーカー・ノードにルーティングするようにロード・バランサを構成する場合にのみ必要です。

ネットワーク・ロード・バランサを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「ロード・バランサ」をクリックします。
  3. 「ロード・バランサの作成」をクリックします。
  4. 「ネットワーク・ロード・バランサ」を選択し、「ロード・バランサの作成」をクリックします。
  5. 「ネットワーク・ロードバランサの作成」セクションで、次の情報を指定します:
    1. ロード・バランサ名: ロード・バランサの名前を選択します。例: k8workers
    2. 可視性タイプ: 「プライベート」を選択します。
    3. 仮想クラウド・ネットワーク: 「仮想クラウド・ネットワーク」を選択します。
    4. サブネット: Kubernetesワーカー・ノードと同じサブネットを選択します。例: one-nodesubnet-quick-<clustername>-<id>
    5. コンパートメント: コンパートメントを選択します。
  6. 「次」をクリックします。
  7. 「リスナー」画面で、次の情報を指定します:
    1. リスナー: 「TCP」を選択します。
    2. タイプ: 「TCP」を選択します。
    3. 「任意のポートを使用」を選択します。
  8. 「次」をクリックします。
  9. 「バックエンド・セット」画面で、次の情報を指定します:
    1. バックエンド・セット名: 「K8Workers」を選択します。
    2. 「バックエンドの追加」をクリックします。
    3. 「バックエンド」画面で、すべてのワーカー・ノードが選択されていることを確認し、「バックエンドの追加」をクリックします。
    4. ヘルス・チェック・ポリシー - 「TCP」を選択し、ポートを22に設定します。他の値にはすべてデフォルト値を使用します。
  10. 「次」をクリックします。
  11. 詳細を確認し、「作成」をクリックします。

データベースの作成

OCIでは、複数の異なるデータベースを作成できます。この例では、ベア・メタルRACデータベースを作成します。場合によっては、1つ以上のデータベースを作成する必要があります。

作成すべきデータベースとサービスの詳細は、「エンタープライズ・デプロイメント用の既存のデータベースの準備」を参照してください。この項では、OCIでこれらのデータベースのいずれかを作成する例を示します。

セキュリティ・リストの作成

プライベート・セキュリティ・リストを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「仮想クラウド・ネットワーク」をクリックします。
  3. oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  4. 「セキュリティ・リストの作成」をクリックします。
  5. 次の詳細を入力します。
    • 名前: セキュリティ・リストの名前を入力します。たとえば: db-seclist
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  6. 「別のイングレス・ルールの追加」をクリックして、表10-12に記載されているイングレス・ルールを追加します(イングレス・ルールごとに繰り返します)。
  7. 「別のエグレス・ルールの追加」をクリックして、表10-12に記載されているエグレス・ルールを追加します(エグレス・ルールごとに繰り返します)。

表10-12 イングレス・ルールとエグレス・ルールの説明

ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル 宛先ポート範囲

イングレス

CIDR

0.0.0.0/0

 

TCP

22

イングレス

CIDR

10.0.11.0/24

 

TCP

1521

イングレス

CIDR

10.0.11.0/24

 

TCP

6200

イングレス

CIDR

10.0.10.0/24

 

TCP

1521

イングレス

CIDR

10.0.10.0/24

 

TCP

6200

イングレス

CIDR

10.0.1.0/29

 

TCP

1521

ノート: 設定にのみ使用されます。

エグレス

CIDR

 

0.0.0.0/0

すべてのプロトコル

 

ノート:

10.0.11.0は、データベースに使用するサブネットです。この値は、必要に応じて変更できます。

ルート表の作成

データベースがOKEクラスタと通信できるように、ルート表を作成する必要があります。

ルート表を作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「仮想クラウド・ネットワーク」をクリックします。
  3. oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  4. リソースのリストから「ルート表」を選択します。
  5. 「ルート表の作成」をクリックします。
  6. 次の詳細を入力します。
    • 名前: ルート表の名前を入力します。たとえば: db-route-table
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
  7. 「別のルート・ルールの追加」をクリックします。
  8. 次の情報を入力します。
    • ターゲット・タイプ - 「サービス・ゲートウェイ」を選択します。
    • 宛先サービス - 「Oracle Services NetworkのすべてのXXXサービス」を選択します。
    • コンパートメント - 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • ターゲット・サービス・ゲートウェイ - サービス・ゲートウェイを選択します。たとえば: oke-sgw-quick-clustername-id
  9. 「ルート表の作成」をクリックします。

データベースのサブネットの作成

データベースは、分離されたサブネットに配置されます。

データベースのサブネットを作成するには:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「仮想クラウド・ネットワーク」をクリックします。
  3. oke-vcn-quick-clustername-idのようなVCN名をクリックします。
  4. 「サブネットの作成」をクリックします。
  5. 次の詳細を入力します。
    • 名前: サブネットの名前を入力します。たとえば: db-subnet
    • サブネット・タイプ: 「リージョナル」を選択します。
    • CIDRブロック: データベース・ネットワークに使用するサブネットを選択します。たとえば: 10.0.11.0/24
    • ルート表: 前に作成したルート表を選択します。たとえば: db-route-table「ルート表の作成」を参照してください。
    • サブネット・アクセス: 「プライベート・サブネット」を選択します。
    • DNS解決: 「サブネットでDNSホスト名を使用」を選択します。
    • DHCPオプション: 「VCNのデフォルトDHCPオプション」を選択します。
    • セキュリティ・リスト: 前に作成したセキュリティ・リストを選択します。たとえば: db-seclist「セキュリティ・リストの作成」を参照してください。
  6. 「サブネットの作成」をクリックします。

データベースの作成

ネットワークを確立したら、データベースを作成できます。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「Oracle Database」に移動し、「Oracleベース・データベース(VM、BM)」をクリックします。
  3. 「DBシステムの作成」をクリックします。
  4. 次の情報を入力します。
    • コンパートメント: 前に作成したコンパートメントの名前を選択します。「OCIコンパートメントの作成」を参照してください。
    • 名前: データベース・インフラストラクチャの名前を入力します。例: Identity_Management_Databases
    • 可用性ドメイン: 可用性ドメインを選択します。
    • シェイプ・タイプ: この例では、「仮想マシン」を選択します。
    • シェイプの選択: この値は、サイジング要件によって異なります。
    • DBシステムの構成: 1より大きいノード数を選択します。
    • ストレージ管理ソフトウェア: 「Oracle Grid Infrastructure」を選択します。
    • ストレージの構成: ストレージのサイジング要件を選択します。
    • 「SSHキーの追加」ボックスで、「SSHキーの貼付け」を選択します。
    • 前に作成したid_rsa.pubファイルの内容をコピーします。「SSHキー・ペアの作成」を参照してください。
    • ライセンス・タイプ: 所有しているデータベース・ライセンスのタイプを選択します。
    • 仮想クラウド・ネットワーク: oke-vcn-quick-clustername-idのようなVCN名をクリックします。
    • クライアントのサブネット: DBサブネットを選択します。たとえば: db-subnet
    • ホスト名接頭辞: ホスト名接頭辞を選択します。たとえば: db
    • 一意のデータベース名の接尾辞: システムに固有の値に設定します。これは、障害時リカバリ・サイトを作成する場合は特に重要です。ベスト・プラクティスは、接尾辞を省略リージョンに設定することです。例: lon (ロンドン)。
    • データベース・イメージ: 使用するデータベース・リリースを選択します。例: 21c
  5. 「次」をクリックします。
  6. 「データベース情報」画面で、次の情報を入力します:
    • データベース名: データベースの名前を選択します。たとえば: iamdb1
    • PDB名: 作成するOracle Access Manager PDBの名前を入力します。たとえば: iadpdb
    • SYSパスワード: データベースSYSアカウントに割り当てるパスワードを選択します。
    • ワークロード・タイプ: 「トランザクション処理」を選択します。
    • データベース・バックアップの構成: 「自動バックアップの有効化」を選択します。
    • バックアップ保持期間: データベース・バックアップを保持する期間を指定します。
    • バックアップ・スケジューリング: バックアップを開始するのに望ましい時間を指定します。
  7. 「DBシステムの作成」をクリックします。
  8. データベースを作成したら、後で使用するために次の値を書き留めます:
    • SCAN DNS名: これは、データベースへの接続に使用するホスト名です。
    • dbノード1およびdbノード2: これらのノードの名前/IPアドレスを取得するには、リソース・リストから「ノード」をクリックします。

ノート:

データベースが作成されると、OCIによってデータベース名に接尾辞が付けられます。Ensure that you use the complete name including this suffix when configuring the database as described in 「エンタープライズ・デプロイメント用の既存のデータベースの準備」の説明に従って、データベースを構成するときは、この接尾辞も含めた完全な名前を使用してください。

セカンダリ・プラガブル・データベースの作成

データベースを作成すると、単一のプラガブル・データベース(PDB)が作成されます。場合によっては、単一のPDBでニーズに十分に対応できます。

ただし、OAM、OIG、OIRIおよびOAAが同じデータベースで異なるPDBを使用するためにさらにPDBが必要な場合は、追加のPDBを作成する必要があります。「既存のPDBをテンプレートとして使用したPDBの作成」を参照してください。

これは、データベース・レベルで、またはOracle OCIを使用している場合はOCIコンソールを介して実行できます。データベース・レベルでPDBを追加する方法は、「既存のPDBをテンプレートとして使用したPDBの作成」を参照してください。

または、OCIコンソールを使用して追加のプラガブル・データベースを作成できます。
  1. テナンシのOracle Cloud Infrastructureにログインします。
  2. 「Oracle Database」に移動し、「Oracleベース・データベース(VM、BM)」をクリックします。
  3. データベースをホストしているDBシステムをクリックします。
  4. 表示されたデータベースのリストから「コンテナ・データベース名」をクリックします。
  5. 「リソース」メニューの「プラガブル・データベース」をクリックします。
  6. 「プラガブル・データベースの作成」をクリックします。
  7. 新しいプラガブル・データベースの名前を追加し、コンテナ・データベースのTDEウォレット・パスワードを入力します。明示的な値を設定しない場合、このパスワードはデータベースのSYSパスワードと同じにすることができます。
  8. 「プラガブル・データベースの作成」をクリックします。
  9. 必要な追加のプラガブル・データベースごとに、ステップ6からステップ8を繰り返します。

データベース・ノードへの接続

次のSSHコマンドを使用してデータベース・ノードに接続できます:

ssh -A opc@databaseNodeIPAdddress

コマンドを使用して要塞ノードからDBノード1に接続します:

ssh -A opc@dbnode1

opcとしてDBノード1に接続した後、次のコマンドを使用してoracleユーザーに接続します:

sudo su - oracle

データベースの構成

スケルトン・データベースを作成したら、「エンタープライズ・デプロイメント用の既存のデータベースの準備」の説明に従ってデータベースを構成する必要があります。

ボールトの作成

ボールトは、デプロイメントの資格証明を格納するために使用されます。現時点では、ボールトを使用するOracle Identity and Access Management製品はOracle Advanced Authentication (OAA)のみです。OAAでは、OCIベースのボールト(推奨)またはファイルベースのボールトを使用できます。

OCIベースのボールトの使用を計画している場合は、次のステップを使用してボールトを作成します:
  1. テナンシのOracle Cloud Infrastructureにログインします。
  2. 「アイデンティティとセキュリティ」を選択し、「ボールト」をクリックします。
  3. 「ボールトの作成」をクリックし、次の詳細を指定します:
    1. コンパートメント - 前に作成したコンパートメントを選択します。「OCIコンパートメントの作成」を参照してください。
    2. 名前 - ボールトの名前を入力します。例: oaavault
    3. 「プライベート・ボールトにする」を選択します。
    4. 「ボールトの作成」をクリックします。

ボールト・キーの作成

ボールト・キーを作成するには:
  1. 新しく作成したボールトの名前をクリックします。例: oaavault
  2. 「キーの作成」をクリックします。
  3. 次の情報を入力します。
    • コンパートメント - 前に作成したコンパートメントを選択します。OCIコンパートメントの作成
    • 保護モード: ソフトウェア
    • 名前 - キーの名前を入力します。例: vaultkey
  4. 「キーの作成」をクリックします。

APIキーの作成

APIキーを作成するには:
  1. Oracle Cloud Infrastructureコンソールにログインします。
  2. 「プロファイル」を選択し、「ユーザー設定」をクリックします。
  3. 「ユーザー設定」画面で、「APIキー」を選択します。
  4. 「APIキーの追加」をクリックします。
  5. 「APIキーのダウンロード」をクリックします。このファイルは安全に保管してください。
  6. 「追加」をクリックします。
  7. 「閉じる」をクリックします。

DNSサーバーの作成

このタスクはオプションです。ロード・バランサの仮想ホストを含め、すべてのホスト名を解決できることが重要です。ローカルのhostsファイルにエントリを追加することで、これらを解決可能にできます。ただし、OCIでは、プライベートDNSサーバーを使用する方が簡単な方法です。

デフォルトでは、コンピュート・ホストは、プライベートDNSサーバーを使用するように構成されます。ローカル・ホストにのみエントリを追加する必要があります。

DNSゾーンの作成

DNSゾーンを作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」に移動し、「DNS管理」を選択してから「ゾーン」をクリックします。
  3. 「プライベート・ゾーン」をクリックします。
  4. 「ゾーンの作成」をクリックします。
  5. 次の情報を入力します。
    • 名前: ゾーンの名前を入力します。たとえば: example.com
    • 既存のDNSプライベート・ビューを選択します。
    • DNSプライベート・ビュー: 「仮想クラウド・ネットワーク」を選択します。
  6. 「作成」をクリックします。

DNSレコードの作成

ゾーンを作成したら、各ホストのゾーンにレコードを作成できます。作成する必要のあるDNSレコードには、2つのタイプがあります:

  • Aレコード: これは、IPアドレスとホスト名の関連付けです。
  • CNAME: これは、Aレコードの別名です。

同じIPアドレスを使用している複数のホストがある場合、1つのAレコードと複数のCNAMEレコードを作成することをお薦めします。

レコードを作成するには:

  1. 「レコードの追加」をクリックします。
  2. レコード・タイプを選択します: AまたはCNAME
  3. ドメイン内のホストの名前を指定します。たとえば: loadbalancer.example.com
  4. ホストのIPアドレスであるアドレスを指定します。たとえば: パブリック・ロード・バランサのIPアドレス。

    または

    別名を関連付けるA レコードの名前であるターゲットを指定します。

  5. TTL値を86400に設定します。「TTL」フィールドが無効になっている場合は、行の最後にあるロック・アイコンを選択して値を指定します。
  6. 「送信」をクリックします。

    ノート:

    別のレコードの追加を続行するには、「別のレコードの追加」チェック・ボックスをオンにします。「送信」をクリックすると、「レコードの追加」画面が開いたままになり、別のレコードを追加します。

    次のエントリを作成する必要があります:

    表10-13 DNSレコード・タイプと関連ホスト名

    ホスト名 タイプ ターゲット アドレス

    loadbalancer.example.com

    A

     

    内部ロード・バランサのIPアドレス。

    iadadmin.example.com

    CNAME

    loadbalancer.example.com

     

    igdadmin.example.com

    CNAME

    loadbalancer.example.com

     

    login.example.com

    CNAME

    loadbalancer.example.com

     

    prov.example.com

    CNAME

    loadbalancer.example.com

     

    igdinternal.example.com

    A

     

    内部ロード・バランサのIPアドレス。

    webhost1.example.com

    A

     

    WEBHOST1のIPアドレス。

    webhost2.example.com

    A

     

    WEBHOST2のIPアドレス。

  7. すべてのエントリを入力した後で、「公開」をクリックし、それらが使用可能になっていることを確認します。

Kubernetes CoreDNSの更新

Kubernetesクラスタは、組込みのCoreDNSサーバーを使用してホスト名を解決します。デフォルトでは、このサーバーは企業DNSサーバーと対話しません。このサーバーは、アプリケーション・エンド・ポイントのローカル・ホスト名解決を実行するか、企業DNSサーバーを使用してこれらのエンド・ポイントを解決するように構成する必要があります。

CoreDNSサーバーを構成するには:
  1. coredns_custom.yamlというカスタム・ホストで構成マップを作成します。たとえば:
    
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: coredns-custom
      namespace: kube-system
    data:
      example.server: |
          example.com {
                hosts {
                1.1.1.1 login.example.com
                1.1.1.2 prov.example.com
                1.1.1.3 iadadmin.example.com
                1.1.1.4 igdadmin.example.com
                1.1.1.5 igdinternal.example.com
                fallthrough
               }
          }
  2. ファイルを保存します。
  3. 次のコマンドを使用して、構成マップを作成します:
    kubectl create -f coredns_custom.yaml
  4. 次のコマンドを使用してCoreDNSを再起動します:
    kubectl rollout restart -n kube-system deploy coredns
    次のコマンドを使用して、CoreDNSポッドが問題なく再起動することを確認します:
    kubectl get pods -n kube-system
    次のコマンドを使用して、カスタム構成がロードされていることを確認します:
    kubectl get configmaps --namespace=kube-system coredns-custom -o yaml
    エラーが発生した場合は、次のコマンドを使用してエラーを表示します:
    kubectl logs -n kube-system coredns--<ID>

    configmapを再度編集してエラーを修正します。

環境の検証

この項で説明するチェックを実行して、デプロイメントの準備が整った環境になっていることを確認します。

要塞ノードについて

  • ネットワーク接続を確認してください
    ping webhost1.example.com
    ping webhost2.example.com
  • ロード・バランサのパブリック・アドレスを解決します
    ping login.example.com
    ping prov.example.com
  • Kubernetesが機能していることを確認します
    kubectl get nodes

    前述のコマンドの出力としてリストされた各ワーカー・ノードをpingします。

Web層から

  • kubernetesワーカー・ノード名が解決可能であることを確認します
    nslookup k8workers
  • Web層が、通信するポートを含むKubernetesワーカー・ノードと通信できるかどうかを確認します。イングレス・コントローラを使用している場合、これはそのイングレス・コントローラに割り当てられたノード・ポートになります。個々のNodePortサービスを使用している場合は、これらの各ポートを確認する必要があります。

    ネットワーク接続を確認するには、次のコマンドを使用します:

    nc -zv <WORKER_NODE> <PORT>

    たとえば、イングレス・サーバーがNodePortサーバー30777を使用している場合、コマンドは次のようになります:

    nc -zv 1.1.1.1 30777

    Ncat: バージョン7.70 ( https://nmap.org/ncat )。

    Ncat: 1.1.1.1:30777に接続されました。

    Ncat: 0.01秒で0バイト送信、0バイト受信。

  • ロード・バランサのパブリック・アドレスを解決します
    ping login.example.com

ディザスタ・リカバリ環境の準備

ディザスタ・リカバリ環境は、プライマリ環境のレプリカで、プライマリ・リージョンとは別のリージョンに配置します。この環境は、プライマリ環境に障害が発生した場合にスイッチ・オーバーするスタンバイ環境です。

スタンバイ環境は別のクラスタに配置し、理想的にはデータ・センターも別にします。クラスタがアプリケーション専用の場合、2つ目のクラスタは、プライマリ・クラスタのミラーにする必要があり、ワーカー・ノードの数と仕様を同一にします。クラスタが、様々なアプリケーションに使用される多目的クラスタの場合は、スタンバイ・サイトに予備の容量が十分にあることを確認し、プライマリ・クラスタのアプリケーション・ワークロードをすべて実行できるようにします。

各Kubernetesクラスタで実行するオペレーティング・システムのバージョンとKubernetesのメジャー・リリースは同一にします。

ネットワークは次のようになります:

  • プライマリとスタンバイのデータベース・ネットワークが相互に通信するため、Data Guardデータベースの作成が簡単です。
  • プライマリとスタンバイのファイル・システム・ネットワークが相互に通信するため、ファイル・システム・データのレプリケーションが簡単です。クラスタ内でのレプリケーションを実現するためにRsyncプロセスを実行する必要がある場合、プライマリKubernetesワーカー・ネットワークは、スタンバイ・サイトのKubernetesワーカー・ネットワークと通信することが可能です。
  • グローバル・ロード・バランサにより、プライマリ・サイトとスタンバイ・サイト間のトラフィックが転送されます。このロード・バランサは、オンサイト通信に使用されるサイト固有のロード・バランサに依存しないことが多いです。
  • ロード・バランサで使用されるSSL証明書は、各ロード・バランサで同じであることが必要です。ロード・バランサによってサイトが切り替えられても、トラフィックに影響が出ないようにする必要があります。

DR環境を作成する方法は、いくつかあります。このドキュメントでは、次のことを想定しています:

  • プライマリ環境の正確なレプリカを作成する。
  • DR環境は、プライマリ環境と同じテナンシに存在する。
  • DR環境は、プライマリ環境と同じコンパートメントに存在する。
  • DR環境は、プライマリ環境と異なるリージョンに存在する。

プライマリ環境と同じステップでスタンバイ環境を作成してから、次の特性を持つOKEクラスタを作成するステップを実行します:

  • VCNでは別のCIDRを使用する必要がある。たとえば、プライマリ・クラスタは10.0.0.0/16で、スタンバイ・クラスタは10.1.0.0/16です。
  • サブネットでは異なるIPアドレス範囲を使用する。たとえば、プライマリ・サブネットは10.0.4.0/24で、同等のスタンバイ・サブネットは10.1.4.0/24です。
  • ロード・バランサの仮想ホスト名は同一。
  • ロード・バランサのSSL証明書は同一。
  • 使用するポートは同一。
  • Webホスト名は同一。
  • 専用の要塞ノードが存在。

両方の環境を作成したら、次のステップを追加で実行します:

動的ルーティング・ゲートウェイの作成

2つの異なる仮想クラウド・ネットワーク(VCN)が相互に通信できるようにするには、動的ルーティング・ゲートウェイ(DRG)が欠かせません。DRGはそれぞれのサイトに必要です。そのため、各サイトで次の手順を実行します。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「動的ルーティング・ゲートウェイ」をクリックします。
  3. 「動的ルーティング・ゲートウェイの作成」をクリックし、次の情報を入力します:
    • 名前: ゲートウェイにわかりやすい名前を付けます。たとえば、site1-drgです。
    • コンパートメント: 前に作成したコンパートメントを選択します。「OCIコンパートメントの作成」を参照してください。
  4. 「動的ルーティング・ゲートウェイの作成」をクリックします。

動的ルーティング・ゲートウェイのアタッチメントの作成

DRGを作成したら、サイトのVCNにアタッチする必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「仮想クラウド・ネットワーク」をクリックします。
  3. 仮想クラウド・ネットワークを選択します。これは、Kubernetesクラスタの作成時に作成されたネットワークと同じです。「OCIでのOKEクラスタの作成」を参照してください。
  4. リソースのリストから、「動的ルーティング・ゲートウェイのアタッチメント」を選択します。
  5. 「仮想クラウド・ネットワーク・アタッチメントの作成」をクリックし、次の情報を入力します:
    • 名前: アタッチメントの名前を指定します。たとえば、DRG-Attachment-Site1です。
    • DRG: 先ほど作成した動的ルーティング・ゲートウェイを選択します。たとえば、site1-drgです。「動的ルーティング・ゲートウェイの作成」を参照してください。

    残りのオプションは、デフォルトのままにします。

  6. 「仮想クラウド・ネットワーク・アタッチメントの作成」をクリックします。

リモート・ピアリング接続の作成

リモート・ピアリング接続(RPC)を作成するには:
  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「動的ルーティング・ゲートウェイ」をクリックします。
  3. 先ほど作成した動的ルーティング・ゲートウェイを選択します。たとえば、site1-DRGです。「動的ルーティング・ゲートウェイの作成」を参照してください。
  4. リソースのリストから、「リモート・ピアリング接続アタッチメント」を選択します。
  5. 「リモート・ピアリング接続の作成」をクリックし、次の情報を入力します:
    • 名前: 接続にわかりやすい名前を付けます。たとえば、site1-RPCです。
    • コンパートメント: 前に作成したコンパートメントを選択します。「OCIコンパートメントの作成」を参照してください。
  6. 「リモート・ピアリング接続の作成」をクリックします。

サイト1およびサイト2のVCNの接続

このステップを実行する前に、両方のサイトに動的ルーティング・ゲートウェイ(RPG) (「動的ルーティング・ゲートウェイの作成」を参照)と、リモート・ピアリング接続(RPC) (「リモート・ピアリング接続の作成」を参照)が作成されていることを確認します。次のステップを実行すると、2つのサイトをリンクできます。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「動的ルーティング・ゲートウェイ」をクリックします。
  3. 先ほど作成した動的ルーティング・ゲートウェイを選択します。たとえば、site1-DRGです。「動的ルーティング・ゲートウェイの作成」を参照してください。
  4. リソースのリストから、「リモート・ピアリング接続アタッチメント」を選択します。
  5. 「リモート・ピアリング接続アタッチメント」セクションで、先ほど作成したリモート・ピアリング接続を選択します。たとえば、site1-RPCです。「リモート・ピアリング接続の作成」を参照してください。画面上部に表示される「リモート・ピアリング接続OCID」をメモします。

サイト2で次のステップを実行します:

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「動的ルーティング・ゲートウェイ」をクリックします。
  3. 先ほど作成した動的ルーティング・ゲートウェイを選択します。たとえば、site1-DRGです。「動的ルーティング・ゲートウェイの作成」を参照してください。
  4. リソースのリストから、「リモート・ピアリング接続アタッチメント」を選択します。
  5. 「リモート・ピアリング接続アタッチメント」セクションで、サイト2に作成したリモート・ピアリング接続を選択します。たとえば、site2-RPCです。手順については、「リモート・ピアリング接続の作成」を参照してください。
  6. 「接続の確立」をクリックして、次の情報を入力します:
    • リージョン: サイト1をホストするリージョンを選択します。
    • リモート・ピアリング接続OCID: 先ほど取得したサイト1のRPC OCIDを入力します。
  7. 「接続の確立」をクリックします。

    「ピアリング・ステータス」「ピアリング済」に変わります。この変更には数分かかる場合があります。

動的ルーティング・ゲートウェイのルーティング表の作成

サイト1のサブネットがサイト2のサブネットと通信するには、両方向にルーティング・エントリを作成する必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「仮想クラウド・ネットワーク」をクリックします。
  3. 仮想クラウド・ネットワークを選択します。これは、Kubernetesクラスタの作成時に作成されたネットワークと同じです。「OCIでのOKEクラスタの作成」を参照してください。
  4. リソースのリストから、「ルート表」を選択します。
  5. 更新するルート表を選択します。たとえば、db-route-tableです。
  6. リソースのリストから、「DRGルート表」を選択します。
  7. 「ルート・ルールの追加」をクリックし、次の情報を入力します:
    • ターゲット・タイプ: 動的ルーティング・ゲートウェイ。
    • 宛先タイプ: CIDRブロック
    • 宛先CIDRブロック: 10.1.11.0/24
    • 説明: DRGへのトラフィック
  8. 「ルート・ルールの追加」をクリックします。

    次の表のルールごとに繰り返します:

    表10-14 サイト1のルーティング・ルール

    ルート名 宛先CIDR 次のホップ・アタッチメント アタッチメント名

    db-route

    10.1.11.0/24

    仮想クラウド・ネットワーク

    DRG-Attachment-Site1

    oke-node-subnet

    10.1.10.0/24

    仮想クラウド・ネットワーク

    DRG-Attachment-Site1

    表10-15 サイト2のルーティング・ルール

    ルート名 宛先CIDR 次のホップ・アタッチメント アタッチメント名

    db-route

    10.1.11.0/24

    仮想クラウド・ネットワーク

    DRG-Attachment-Site2

    oke-node-subnet

    10.1.10.0/24

    仮想クラウド・ネットワーク

    DRG-Attachment-Site2

サブネットのセキュリティ・リストの作成

サブネット間にルートを作成したら、ネットワークごとにセキュリティ・リストを作成し、対応するサブネットに追加する必要があります。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「仮想クラウド・ネットワーク」をクリックします。
  3. リソースのリストから、「セキュリティ・リスト」を選択します。
  4. セキュリティ・リストを選択します。たとえば、db-seclistです。
  5. リソースのリストから、「イングレス・ルール」を選択します。
  6. 「イングレス・ルールの追加」をクリックします。
  7. 表10-14および表10-15の説明に従って、情報を入力します。
  8. 「イングレス・ルールの追加」をクリックします。
  9. リソースのリストから、「エグレス・ルール」を選択します。
  10. 「イングレス・ルールの追加」をクリックします。
  11. 表10-14および表10-15の説明に従って、情報を入力します。
  12. 「イングレス・ルールの追加」をクリックします。

表10-16 サイト1のセキュリティ・リスト

リスト ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル ソース・ポート範囲 宛先ポート範囲 タイプ

db-seclist

イングレス

CIDR

10.1.11.0/24

 

TCP

 

1521

 

db-seclist

イングレス

CIDR

10.1.11.0/24

 

TCP

 

6200

 

VCNのプライベート・サブネットのセキュリティ・リスト

イングレス

CIDR

10.1.11.0/24

     

31444

 

Pv-seclist

イングレス

CIDR

10.1.11.0/24

 

TCP

 

111

 

Pv-seclist

イングレス

CIDR

10.1.11.0/24

 

TCP

 

2048-2050

 

Pv-seclist

イングレス

CIDR

10.1.11.0/24

 

UDP

 

111

 

Pv-seclist

イングレス

CIDR

10.1.11.0/24

 

UDP

 

2048

 

Pv-seclist

エグレス

CIDR

10.1.11.0/24

 

TCP

111

   

Pv-seclist

エグレス

CIDR

10.1.11.0/24

 

TCP

2048-2050

   

Pv-seclist

エグレス

CIDR

10.1.11.0/24

 

UDP

111

   

Pv-seclist

エグレス

CIDR

10.1.11.0/24

 

UDP

2048

   

表10-17 サイト2のセキュリティ・リスト

リスト ルール・タイプ タイプ ソースCIDR 宛先CIDR プロトコル ソース・ポート範囲 宛先ポート範囲 タイプ

db-seclist

イングレス

CIDR

10.0.11.0/24

 

TCP

 

1521

 

db-seclist

イングレス

CIDR

10.0.11.0/24

 

TCP

 

6200

 

VCNのプライベート・サブネットのセキュリティ・リスト

イングレス

CIDR

10.0.11.0/24

     

31444

 

Pv-seclist

イングレス

CIDR

10.0.11.0/24

 

TCP

 

111

 

Pv-seclist

イングレス

CIDR

10.0.11.0/24

 

TCP

 

2048-2050

 

Pv-seclist

イングレス

CIDR

10.0.11.0/24

 

UDP

 

111

 

Pv-seclist

イングレス

CIDR

10.0.11.0/24

 

UDP

 

2048

 

Pv-seclist

エグレス

CIDR

10.0.11.0/24

 

TCP

111

   

Pv-seclist

エグレス

CIDR

10.0.11.0/24

 

TCP

2048-2050

   

Pv-seclist

エグレス

CIDR

10.0.11.0/24

 

UDP

111

   

Pv-seclist

エグレス

CIDR

10.0.11.0/24

 

UDP

2048

   

サイト接続性の確認

動的ゲートウェイとセキュリティ・リストを構成したら、ネットワーク・パス・アナライザを使用してリージョン間の接続を検証します。

  1. テナンシのOracle Cloud Infrastructureコンソールにログインします。
  2. 「ネットワーキング」を選択し、「ネットワーク・パス・アナライザ」をクリックします。
  3. 「パス分析の作成」をクリックします。
  4. 「分析の構成」画面で、次の情報を入力します:
    • 名前: テストの名前を入力します。たとえば、DB Checkです。
    • ソースIPアドレス: サイト1のいずれかのデータベース・ホストのIPアドレスを入力します。
    • 宛先アドレス: サイト2のいずれかのデータベース・ホストのIPアドレスを入力します。
    • 宛先ポート: データベース・ポート1521を入力します。
  5. 「分析の実行」をクリックします。
  6. 続行する前に、テストが成功していることを確認します。
  7. 表10-16および表10-17の宛先ポートごとにテストを繰り返します。