機械翻訳について

オーケストレーションを使用したIPネットワークを使用した複数層トポロジの作成

IPネットワークにアタッチされたCompute Classicインスタンスにデプロイされたアプリケーションの複数層トポロジを起動および管理するためのオーケストレーションを作成します。

シナリオの概要

アプリケーションとアプリケーションで使用されるデータベースは、別々のIPネットワークにアタッチされたインスタンスで管理されます。 Oracle Cloud外部のユーザーは、アプリケーション・インスタンスにHTTPSアクセスできます。 トポロジには、クラウド外部のユーザーがSSHを使用して接続できる管理インスタンスも含まれます。 管理インスタンスは、トポロジ内の他のすべてのインスタンスと通信できます。

ノート:

このガイドでは、サンプル・トポロジのIPネットワークにアタッチされたインスタンスのネットワーク構成について説明します。 フレームワークとステップのフローは、他の類似するトポロジまたはより複雑なトポロジに適用できます。 他のリソース(ストレージなど)をプロビジョニングまたは構成するステップについては、このガイドでは説明しません。

コンピュート・トポロジ

このチュートリアルのステップを使用してビルドするトポロジには、次のCompute Classicインスタンスが含まれています。

  • 2つのインスタンス - appVM1appVM2 - IPネットワークにアタッチされ、それぞれが固定のパブリックIPアドレスを持つビジネス・アプリケーションをホスティングするためのもの。

  • 2つのインスタンス - dbVM1dbVM2 - アプリケーションのデータベースをホストします。 これらのインスタンスは、2番目のIPネットワークにアタッチされます。

  • 管理インスタンス - adminVM - 3番目のIPネットワークにアタッチされ、固定のパブリックIPアドレスを持っています。

ノート:

実際にアプリケーションやデータベースをインストールすることはありません。 かわりに、ncユーティリティを使用して、必要なアプリケーションおよびデータベース・ポートのリスナーをシミュレートします。 この項の目的は、次に説明するトラフィック・フロー要件に必要なネットワークの構成ステップを示すことです。

トラフィック・フロー要件

ビルドするトポロジでは、次のトラフィック・フローのみが許可される必要があります:

  • 任意の場所からアプリケーション・インスタンスへのHTTPSリクエスト

  • 任意の場所から管理インスタンスへのSSH接続

  • 管理インスタンスからアプリケーション・インスタンスへのすべてのトラフィック

  • 管理インスタンスからデータベース・インスタンスへのすべてのトラフィック

  • 2つのアプリケーション・インスタンスからデータベース・インスタンスのポート1521へのTCPトラフィック

トポロジ・アーキテクチャ・ダイアグラム

architecture.pngの説明が続きます
「図architecture.pngの説明」

このトポロジに必要なネットワーク・リソース

  • アプリケーション・インスタンスおよび管理インスタンスの「パブリックIPアドレスの予約」

  • 3つの「IPネットワーク」、それぞれアプリケーション・インスタンス、データベース・インスタンスおよび管理インスタンス

  • トポロジ内のIPネットワークに接続するための「IPネットワーク交換」

  • SSH、HTTPSおよびTCP/1521トラフィック用の「セキュリティ・プロトコル」

  • 必要なセキュリティ・ルールを含むACL

  • アプリケーション・インスタンス、データベース・インスタンスおよび管理インスタンスのvNICsets

  • 「セキュリティ・ルール」では、管理インスタンスへのSSH接続、アプリケーション・インスタンスへのHTTPSトラフィック、およびデータベース・インスタンスへのTCP/1521トラフィックを許可します。

オーケストレーションの作成

空のオーケストレーションを作成し、そのオーケストレーションにオブジェクトを追加するには、オーケストレーションを更新します。 オーケストレーションの更新時に、複数のインスタンスおよび複数のネットワークで構成されるトポロジの属性を定義できます。

前提条件

SSHキー・ペアの生成 オーケストレーションでは、公開キーを追加し、それをインスタンスに関連付けます。 「SSHキーペアの生成」を参照してください。

プロシージャ

ノート:

このステップでは、基本的なコンピュート・リソースおよびネットワーキング・リソースを迅速にプロビジョニングするために必要な主なステップを示します。 詳細な構成オプションについては説明していません。
  1. Compute Classicコンソールにサインインします。
  2. 「オーケストレーション」タブに移動し、「オーケストレーションの作成」をクリックします。
  3. 「オーケストレーションの作成」ダイアログ・ボックスに次の情報を入力します。
    • 名: オーケストレーションの名前を入力します。
    • 説明:説明を入力します。
    • タグ: オーケストレーションの識別と分類に役立つ1つ以上のタグを指定します。
    「作成」をクリックします。

    空白のオーケストレーションが作成され、オーケストレーション・ページにリストされます。 これで、オーケストレーションを更新することによってオブジェクトを追加できます。

  4. 作成したオーケストレーションのメニュー・アイコンメニューから、「更新」を選択します。
    「オーケストレーション」ページには、現在のオーケストレーション定義を示すJSONセクションがあります。 オーケストレーション内のオブジェクトを追加および更新すると、JSONセクションが更新されます。 追加および更新するオブジェクトは、「非アクティブ」ステータスです。 これらはオーケストレーションの開始時にのみ作成されます。
  5. 次のアクセス制御リストを追加します:
    目的 推奨名
    管理VM用 adminVM
    アプリケーションVMsの場合 appVMs
    データベースVMsの場合 dbVMs

    次のステップを使用して、ACLsを一度に1つずつ追加します:

    1. 「アクセス制御リスト」セクションで、「追加」をクリックします。
    2. 表に示すように、ACLの名前を入力します。
      この名前をノートにとります。 後でセキュリティ・ルールを構成するときに指定する必要があります。
    3. 「作成」をクリックします。
    4. 追加したACLのメニュー・アイコンメニューから、「プロパティ」を選択します。
    5. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    6. 「更新」をクリックします。
  6. IP交換を追加します。
    1. 「IP交換」セクションで、「追加」をクリックします。
    2. 「IP交換の作成」ダイアログ・ボックスで、IP交換の名前を入力します。
      この名前をノートにとります。 IPネットワークを追加するときは、後で指定する必要があります。
    3. 「作成」をクリックします。
    4. 追加したIP予約のメニュー・アイコンメニューから、「プロパティ」を選択します。
    5. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    6. 「更新」をクリックします。
  7. 次のIPネットワークを追加します:
    目的 推奨名 推奨IPアドレス・プレフィクス
    管理VM用 adminIPnetwork 172.16.1.0/24
    アプリケーションVMsの場合 appIPnetwork 10.50.1.0/24
    データベースVMsの場合 dbIPnetwork 192.168.1.0/24

    次のステップを使用して、vNICsetsを一度に1つずつ追加します:

    1. 「IPネットワーク」セクションで「追加」をクリックします。
    2. 「名前」フィールドに、表に示すようにIPネットワークの名前を入力します。
      この名前をノートにとります。 後でインスタンスのネットワーク・インタフェースを構成するときに指定する必要があります。
    3. 「IPアドレス・プレフィクス」フィールドに、CIDR形式でIPネットワークのアドレス範囲を入力します。
    4. 「IP交換」フィールドで、前に作成したIP交換を選択します。
    5. 「作成」をクリックします。
    6. 追加したIPネットワークのメニュー・アイコンメニューから、「プロパティ」を選択します。
    7. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    8. 「更新」をクリックします。
  8. 次のIP予約を追加します:
    VM用 推奨名
    管理VM ipResForAdminVM
    アプリケーションVM 1 ipResForAppVM1
    アプリケーションVM 2 ipResForAppVM2

    次のステップを使用して、IP予約を一度に1つずつ追加します:

    1. 「IP予約(IPネットワーク)」セクションで、「追加」をクリックします。
    2. 「IP予約を作成」ダイアログ・ボックスで、表に示すようにIP予約の名前を入力します。
      この名前をノートにとります。 後でインスタンスのネットワーク・インタフェースを構成するときに指定する必要があります。
    3. 「作成」をクリックします。
    4. 追加したIP予約のメニュー・アイコンメニューから、「プロパティ」を選択します。
    5. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    6. 「更新」をクリックします。
  9. 次のセキュリティ・プロトコルを追加します:
    目的 推奨名 IPプロトコル 宛先ポート・セット
    アプリケーションVMsへのHTTPSリクエストの場合 https TCP 443
    SSHトラフィック ssh TCP 22
    アプリケーションVMからデータベースVMへのTCPトラフィック tcp1521 TCP 1521

    次のステップを使用して、セキュリティ・プロトコルを一度に1つずつ追加します:

    1. 「セキュリティ・プロトコル」セクションで、「追加」をクリックします。
    2. セキュリティ・プロトコルの作成ダイアログ・ボックスで、次の情報を指定します。
      • 名前: 次の表に示すように、プロトコルの名前を入力します。

        この名前をノートにとります。 SSHアクセスを許可するようにセキュリティ・ルールを構成するときは、後で指定する必要があります。

      • IPプロトコル: TCPを選択します。
      • 宛先ポート・セット: 必要なポートを入力します。
    3. 「作成」をクリックします。
    4. 追加したプロトコルのメニュー・アイコンメニューから、「プロパティ」を選択します。
    5. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    6. 「更新」をクリックします。
  10. 次のvNICsetsを追加します:
    目的 推奨名 適用されたアクセス制御リスト
    管理VM用 adminVM adminVM
    アプリケーションVMsの場合 appVMs appVMs
    データベースVMsの場合 dbVMs dbVMs

    次のステップを使用して、vNICsetsを一度に1つずつ追加します:

    1. 「仮想NICセット」セクションで、「追加」をクリックします。
    2. 表に示されているvNICsetの名前を入力します。
      この名前をノートにとります。 後でインスタンスのネットワーク・インタフェースを構成するときに指定する必要があります。
    3. 「適用されたアクセス制御リスト」フィールドで、表に指定されているACLを選択します。
    4. 「作成」をクリックします。
    5. 追加したvNICsetのメニュー・アイコンメニューから、「プロパティ」を選択します。
    6. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    7. 「更新」をクリックします。
  11. 次のセキュリティ・ルールを追加します:
    目的 推奨名 タイプ ACL ソースと宛先 プロトコル
    任意のソースから管理VMへのSSHリクエスト internet-to-adminVM Ingress adminVM ソース: 任意

    宛先: adminVM vNICset

    ssh
    管理VMから任意の宛先へのすべてのトラフィック adminVM-to-any エグレス adminVM ソース: adminVM vNICset

    宛先: 任意

    任意
    管理VMからアプリケーションVMsへのすべてのトラフィック adminVM-to-appVMs Ingress appVMs ソース: adminVM vNICset

    宛先: appVMs vNICset

    任意
    任意のソースからアプリケーションVMsのポート443へのHTTPSトラフィック internet-to-appVMs Ingress appVMs ソース: 任意

    宛先: appVMs vNICset

    https
    アプリケーションVMからDB VMのポート1521へのTCPトラフィック appVMs-to-dbVMs-egress エグレス appVMs ソース: appVMs vNICset

    宛先: dbVMs vNICset

    tcp1521
    アプリケーションVMからDB VMのポート1521へのTCPトラフィック appVMs-to-dbVMs-ingress Ingress dbVMs ソース: appVMs vNICset

    宛先: dbVMs vNICset

    tcp1521
    管理VMからDB VMsへのすべてのトラフィック adminVM-to-dbVMs Ingress dbVMs ソース: adminVM vNICset

    宛先: dbVMs vNICset

    任意

    次のステップを使用して、セキュリティ・ルールを一度に1つずつ追加します:

    1. 「セキュリティ・ルール(IPネットワーク)」セクションを展開し、「追加」をクリックします。
    2. セキュリティ・ルールの作成ダイアログ・ボックスで、次の情報を指定します。
      • 名前: 表に示すように、セキュリティ・ルールの名前を入力します。
      • タイプ: 表に示されているように、イングレスまたはエグレスを選択します。
      • アクセス制御リスト: 表に指定されているACLを選択します。
      • セキュリティ・プロトコル: 表で指定されたSSHプロトコルを選択します。 表に任意と表示されている場合は、このフィールドを空白のままにします。
      • ソースvNICset: 表で指定されているソースを選択します。 表に任意と表示されている場合は、このフィールドを「未設定」のままにします。
      • 宛先vNICset: 表で指定されている接続先を選択します。 表に任意と表示されている場合は、このフィールドを「未設定」のままにします。

      他のすべてのフィールドはデフォルト値のままにします。

    3. 「作成」をクリックします。
    4. 追加したセキュリティ・ルールのメニュー・アイコンメニューから「プロパティ」を選択します。
    5. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    6. 「更新」をクリックします。
  12. SSH公開キーを追加します。
    1. 「SSHキー」セクションを展開し、「追加」をクリックします。
    2. キーの名前を入力します。
      この名前をノートにとります。 インスタンスの公開キーを選択するときは、後で指定する必要があります。
    3. 「ファイルの選択」をクリックします。
    4. 以前に生成した公開キーを含むファイルを参照して選択します。
    5. 「追加」をクリックします。
    6. 追加したSSHキーのメニュー・アイコンメニューから、「プロパティ」を選択します。
    7. 「オブジェクト・プロパティ」ダイアログ・ボックスで、「持続」チェック・ボックスを選択します。
    8. 「更新」をクリックします。
  13. 次のVMsを追加し、それらのネットワークを構成します。
    VM名 推奨されるDNSホスト名のプレフィクス 推奨vNIC名 IPネットワーク Public IP Address 仮想NICセット
    adminVM adminvm admn adminIPnetwork ipResForAdminVM adminVM
    appVM1 appvm1 app1 appIPnetwork ipResForAppVM1 appVMs
    appVM2 appvm2 app2 appIPnetwork ipResForAppVM2 appVMs
    dbVM1 dbvm1 db1 dbIPnetwork なし dbVMs
    dbVM2 dbvm2 db2 dbIPnetwork なし dbVMs

    次のステップを使用して、VMsを一度に1つずつ追加します:

    1. 「インスタンス」セクションで、「追加」をクリックします。
    2. 追加したインスタンスのメニュー・アイコンメニューから、「更新」を選択します。
    3. 「情報」セクションで、次のステップを実行します。admin
      • 名前: この表に示すように、VMを簡単に識別するために使用できる名前を入力します。

      • イメージ: 選択したイメージを選択します。

        ノート:

        ネットワーク・アクセスを確認するためのオプションのステップは、Oracle Linux 6.8イメージと7.2イメージを使用して作成されたVMsのためです。 これらのオプションのステップは、他のイメージを使用して作成されたVMsでは機能しない可能性があります。

        DNSホスト名プレフィクス: 表に提示されているホスト名を入力します。

      • 必要に応じて、VMのシェイプやその他の設定を変更します。 この例ではデフォルト値が有効です。

    4. 「更新」をクリックします。
    5. IPネットワーク・インタフェースセクションでIPネットワーク・インタフェースを追加をクリックし、次の情報を指定します。
      • vNIC名: table.appに提示されたvNICに一意の名前を入力します
      • IPネットワーク: 表で指定したIPネットワークを選択します。
      • パブリックIPアドレス: 表で指定したIP予約を選択します。
      • 仮想NICセット: デフォルト vNICsetを削除し、追加したvNICsetを選択します。
    6. 「保存」をクリックします。
    7. 「SSH公開キー」セクションで「SSH公開キーを追加」をクリックし、アップロードした公開キーを追加します。
    8. ページの上部にスクロールして「オーケストレーションの詳細に戻る」をクリックします。
  14. すべてのVMsを追加したら、ページの上部にスクロールして右上隅付近の「開始」ボタンをクリックします。
    オーケストレーションを開始すると、オーケストレーションで定義されているすべてのオブジェクトが正常に作成されると、オーケストレーションのステータスが「起動中」に変更され、「準備完了」に変更されます。 インスタンスと他のオブジェクトが作成され、そのステータスが「非アクティブ」から「アクティブ」に変更されます。
  15. 確認プロンプトで、「Yes」をクリックします。
    上部の「情報」ペインでは、「ステータス」フィールドに「起動中」が表示されます。
    ステータスが「準備完了」に変わるまで待ちます。 情報ペインの右上隅付近にあるリフレッシュ・ボタンを定期的にクリックします。
  16. すべてのリソースが作成されていることを確認します。
    すべてのリソース・セクションのステータス・フィールドには、「アクティブ」が表示されます。
    インスタンスおよび必要なネットワーク・リソースが正常に作成されました。

(オプション)VMsへのネットワーク・アクセスの検証

始める前に

VMsのIPアドレスを特定します:

  • adminVM: パブリックIPアドレス
  • appVM1: パブリックIPアドレスとプライベートIPアドレス
  • appVM2: パブリックIPアドレスとプライベートIPアドレス
  • dbVM1: プライベートIPアドレス
  • dbVM2: プライベートIPアドレス

Webコンソールの「インスタンス」タブでVMを見つけ、「パブリックIP」列と「プライベートIP」列のアドレスをノートします。

ノート:

VMの「パブリックIP」列が空白の場合、「ネットワーク」タブの「IPネットワーク」の下で「IP予約」を選択し、VMに割り当てられている予約についてそこに表示されているパブリックIPアドレスを確認します。

クラウド外部から管理VMへのSSH接続の検証

ローカル・マシンから次のコマンドを実行します:

[localmachine ~]$ ssh -i path-to-privateKeyFile opc@publicIPaddressOfAdminVM 

次のプロンプトが表示されます:

opc@adminvm

これにより、クラウド外部から管理VMへのSSH接続が可能であることが確認されます。

管理VMからデータベースおよびアプリケーションVMsへのSSH接続の検証

  1. ローカル・マシンで次のコマンドを実行して、VMsに関連付けた公開キーに対応するSSH秘密キーファイルをローカル・マシンから管理VMにコピーします:

    [localmachine ~]$ scp -i path-to-privateKeyFile path-to-privateKeyFile opc@publicIPaddressOfAdminVM:~/.ssh/privatekey 
  2. ローカル・マシンから、SSHを使用して管理VMに接続します:

    [localmachine ~]$ ssh -i path-to-privateKeyFile opc@publicIPaddressOfAdminVM 
  3. 管理VMから、SSHを使用して各データベースおよびアプリケーションVMsに接続します:

    [opc@adminvm]$ ssh -i ~/.ssh/privatekey opc@privateIPaddress 
  4. 接続先のVMに応じて、ssh接続が確立された後に次のいずれかのプロンプトが表示されます。

    • opc@appvm1

    • opc@appvm2

    • opc@dbvm1

    • opc@dbvm2

アプリケーションVMsのポート443へのクラウド外部からポート443への接続の検証

ncユーティリティを使用すると、アプリケーションVMsのいずれかのポート443でリスナーをシミュレートし、クラウド外部の任意のホストからncを実行してアプリケーションVMへの接続を検証できます。

ノート:

ここで説明する検証手順は、Oracle Linux 7.2および6.8用のOracle提供のイメージを使用して作成されたVMsに固有のものです。
  1. ローカル・ホストにhttp://yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackage/nc-1.84-24.el6.x86_64.rpmからncパッケージをダウンロードします。

  2. nc-1.84-24.el6.x86_64.rpmをローカル・ホストから管理VMにコピーします。
    [localmachine ~]$ scp -i path-to-privateKeyFile path_to_nc-1.84-24.el6.x86_64.rpm opc@publicIPaddressOfAdminVM:~ 
  3. ローカル・マシンから、SSHを使用して管理VMに接続します:
    [localmachine ~]$ ssh -i path-to-privateKeyFile opc@publicIPaddressOfAdminVM 
  4. nc-1.84-24.el6.x86_64.rpmをアプリケーションVMsの1つにコピーします。
    [opc@adminvm]$ scp -i ~/.ssh/privatekey ~/nc-1.84-24.el6.x86_64.rpm opc@privateIPaddressOfAppVM1:~ 
  5. アプリケーションVMに接続します:
    [opc@adminvm]$ ssh -i ~/.ssh/privatekey opc@privateIPaddressOfAppVM1 
  6. アプリケーションVMにncをインストールします。
    [opc@appvm1]$ sudo rpm -i nc-1.84-24.el6.x86_64.rpm
  7. ポート443でリスニングするようにアプリケーションVMを構成します。 このステップは、ポート443への接続の検証のみを目的としています。 実際のシナリオでは、このステップは、ポート443でリスニングするようにVMでアプリケーションを構成するときに実行されます。
    [opc@appvm1]$ sudo nc -l 443
  8. クラウド外部のホストから、次のncコマンドを実行して、アプリケーションVMのポート443に接続できるかどうかをテストします。
    [localmachine ~]$ nc -v publicIPaddressOfAppVM1 443
    次のメッセージが表示されます:
    Connection to publicIPaddressOfAppVM1 443 port [tcp/https] succeeded!

    このメッセージは、アプリケーションVMがポート443で接続リクエストを受け入れることを確認します。

  9. Ctrl + Cを押してncプロセスを終了します。

アプリケーションVMからデータベースVMのポート1521への接続の検証

ncユーティリティを使用すると、データベースVMsのいずれかのポート1521のリスナーをシミュレートしてから、アプリケーションVMsのいずれかからncを実行して、アプリケーション層からデータベース層への接続を検証できます。

ノート:

ここで説明する検証手順は、Oracle Linux 7.2および6.8用のOracle提供のイメージを使用して作成されたVMsに固有のものです。
  1. ローカル・マシンから、SSHを使用して管理VMに接続します:
    [localmachine ~]$ ssh -i path-to-privateKeyFile opc@publicIPaddressOfAdminVM 
  2. nc-1.84-24.el6.x86_64.rpmをデータベースVMsの1つにコピーします。
    [opc@adminvm]$ scp -i ~/.ssh/privatekey ~/nc-1.84-24.el6.x86_64.rpm opc@privateIPaddressOfDBVM1:~ 
  3. データベースVMに接続します:
    [opc@adminvm]$ ssh -i ~/.ssh/privatekey opc@privateIPaddressOfDBVM1 
  4. データベースVMにncをインストールします。
    [opc@dbvm1]$ sudo rpm -i nc-1.84-24.el6.x86_64.rpm
  5. ポート1521でリスニングするVMを構成します。 このステップは、ポート1521への接続の検証のみを行うことに注意してください。 実際の使用例では、このステップはデータベースでポート1521でリスニングするように設定した場合に実行されます。
    [opc@dbvm1]$ nc -l 1521
  6. 現行のターミナル・セッションは開いたままにします。 新しい端末セッションを使用して、SSHを使用して管理VMに接続し、そこからアプリケーションVMsのいずれかに接続します。
    [localmachine ~]$ ssh -i path-to-privateKeyFile opc@publicIPaddressOfAdminVM
    [opc@adminvm]$ ssh -i ~/.ssh/privatekey opc@privateIPaddressOfAppVM1 
  7. アプリケーションVMから、次のncコマンドを実行して、データベースVMのポート1521に接続できるかどうかをテストします。
    [opc@appvm1 ~]$ nc -v privateIPaddressOfDBVM1 1521
    次のメッセージが表示されます:
    Connection to privateIPaddressOfDBVM1 1521 port [tcp/ncube-lm] succeeded!

    このメッセージは、データベースVMがアプリケーションVMsからポート1521で受信した接続リクエストを受け入れることを確認します。

  8. Ctrl + Cを押してncプロセスを終了します。