ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を終える際は、これらの値をクラウド環境に固有の値に置き換えてください。
パブリックOCI Flexible Network Load Balancerを使用したインターネットへのWebサーバー・プールの公開
イントロダクション
このチュートリアルでは、Webサーバーとして機能する3つのOracle Cloud Infrastructure (OCI)インスタンスを設定する方法について説明します。これらのWebサーバーは、すべてプライベート・サブネットに接続され、OCI Flexible Network Load Balancerを使用してインターネットからアクセスできるようになります。ネットワーク・ロード・バランサは、Webサイトをインターネット経由で使用できるようにするだけでなく、これらの3つのOCIコンピュート・インスタンスへの受信接続の負荷も分散します。
目的
-
Webサーバーとして機能し、プライベート・サブネットにアタッチする3つのOCIコンピュート・インスタンスを作成します。次に、インターネットからアクセス可能なOCI Flexible Network Load Balancerを作成します。これにより、OCI Flexible Network Load Balancerは、5タプル・ロード・バランシング・ポリシーに基づいてOCI Computeインスタンスに負荷を分散します。また、3つのOCI Computeインスタンスのうち2つを停止し、OCI Flexible Network Load Balancerがこれを検出して期待どおりに動作できるかどうかを確認することで、いくつかの広範なテストを行います。
-
タスク1: 新しい仮想クラウド・ネットワーク(VCN)の作成
-
タスク2: 新しいパブリック・サブネットとプライベート・サブネットの作成
-
タスク3: 3つの新しいOCI Computeインスタンスを作成します。
-
タスク4: 新しいOCI Flexible Network Load Balancerの作成。
-
タスク5: 新しいOCI Flexible Network Load Balancerのテスト。
-
タスク1: 新しいVirtual Cloudネットワーク(VCN)の作成
VCNはすでに作成されていますが、それでも新しいVCNを作成する必要がある場合は、チュートリアル「IPv6が有効な新規VCNの作成」に従ってください。
左上隅のハンバーガー・メニューをクリックします。「Virtual Cloud Networking」をクリックして、仮想クラウド・ネットワークが存在するかどうかを確認します。
タスク2: 新しいパブリック・サブネットとプライベート・サブネットの作成
すでにパブリック・サブネットとプライベート・サブネットが作成されていますが、それでも新しいサブネットを作成する必要がある場合は、「IPv6有効で新しいパブリック・サブネットを作成」および「VCN内にプライベート・サブネットを作成」というチュートリアルに従います。
-
VCNをクリックしてサブネットを確認します。
- このVCN内には、使用可能なパブリック・サブネットとプライベート・サブネットがあります。
- 左上隅のハンバーガー・メニューをクリックして、OCIインスタンスに移動します。
OCI Computeインスタンスをパブリック・サブネットに接続し、OCIデータベースをプライベート・サブネットに接続します。
タスク3: 3つの新しいOCIコンピュート・インスタンスの作成
-
「インスタンス」をクリックして、3つの新しいOCIコンピュート・インスタンスを作成します。
-
最初のインスタンスを作成するには、「インスタンスの作成」をクリックします。
- インスタンスの「名前」を入力します。
- 下へスクロール
-
「イメージの変更」をクリックします。
ノート:
-
デプロイするインスタンスにはWebサーバーをインストールする必要があるため、カスタム・イメージをデプロイしています。前のチュートリアルでは、PHPでNGINX Webサーバーをインストールし、このインスタンスに基づいてカスタム・イメージを作成したインスタンスをすでに作成しているため、PHPでNGINXを3つの異なるインスタンスにインストールする必要はありません。詳細は、Oracle Cloud Infrastructureを使用したインターネットからアクセス可能なWebサーバーの公開(IPv6)を参照してください。
-
PHPを使用してNGINX Webサーバーをインストールするには、タスク6: インスタンスへのWebサーバーのインストールを参照してください。
- 「マイ・イメージ」をクリックします。
- 下へスクロール
- このチュートリアルでは、PHPがプリインストールされている NGINX Webサーバーを以前に作成したカスタムイメージを選択します。
- 「イメージの選択」をクリックします。
-
選択したカスタム・イメージを確認します。
-
下へスクロール
ノート:
-
カスタム・イメージがない場合は、Oracle Linux 8イメージを自由に選択してください。
-
NGINXおよびPHPを手動でインストールするには、タスク6: インスタンスへのWebサーバーのインストールを参照してください。
-
テスト目的でカスタムWebページをインストールするには、タスク8: NGINXおよびPHPを使用したカスタムWebサイトの作成を参照してください。
-
- 「プライマリ・ネットワーク」では、「既存の仮想クラウド・ネットワークを選択」を選択します。
- タスク1で作成したVCNを選択します。
- プライベート・サブネットで、「既存のサブネットを選択」を選択します。
- タスク2で作成したサブネットを選択します。
- 下へスクロール
- 「プライベートIPv4アドレス」で、「自動的にプライベートIPv4アドレスを割り当てます」を選択します。
- 下へスクロール
-
-
このチュートリアルでは、既存のSSHキーを使用します。既存のキーがない場合は、「キー・ペアの生成」を選択できます。
- 「公開キー・ファイルのアップロード(
.pub
)」を選択します。 - 「参照」をクリックし、すでに使用可能な公開キーを選択します。
.pub
SSHキーが選択されていることを確認します。- 下へスクロール
- 「公開キー・ファイルのアップロード(
-
「作成」をクリックします。
-
最初のOCIコンピュート・インスタンスが作成されると、ステップをもう2回繰り返して2つの追加インスタンスを作成します。そのため、3つのOCIインスタンスが実行されていることになります。
- 最初のOCIコンピュート・インスタンスが実行されていることを確認します。このチュートリアルでは、
IH-WEBSERVER-01
です。 - 2番目のOCIコンピュート・インスタンスが実行されていることを確認します。このチュートリアルでは、
IH-WEBSERVER-02
です。 - 3番目のOCIコンピュート・インスタンスが実行されていることを確認します。このチュートリアルでは、
IH-WEBSERVER-03
です。 - 左上隅のハンバーガー・メニューをクリックして、ネットワーク・ロード・バランサに移動します。
- 最初のOCIコンピュート・インスタンスが実行されていることを確認します。このチュートリアルでは、
プライベートIPアドレスが割り当てられたWebサーバーが3つあります。
インスタンス上のWebサーバーおよびWebサイト
このチュートリアルでは、カスタム・イメージをデプロイしました。このイメージには、NGINXおよびPHPがインストールされたWebサーバーがすでにあります。新しいバニラOracle Linuxイメージをデプロイする場合は、PHPおよびカスタムWebページを含むNGINXを手動でインストールする必要があります。これは、ネットワーク・ロード・バランサをテストするために必要です。カスタム・イメージがない場合は、Oracle Linux 8イメージを自由に選択してください。
-
NGINXおよびPHPを手動でインストールするには、タスク6: インスタンスへのWebサーバーのインストールを参照してください。
-
テスト目的でカスタムWebページを作成するには、タスク8: NGINXおよびPHPを使用したカスタムWebサイトの作成を参照してください。これは、3つのOCI Computeインスタンスすべてで実行してください。
タスク4: 新しいOCI Flexible Network Load Balancerの作成
-
OCIコンピュート・インスタンスが作成されています。新しいネットワーク・ロード・バランサを作成しましょう。
- 「ネットワーキング」をクリックします。
- 「ネットワーク・ロード・バランサ」をクリックします。
-
「ネットワーク・ロード・バランサの作成」をクリックします。
-
「ネットワーク・ロード・バランサの作成」で、次の情報を入力します。
- ロード・バランサ名を入力します。
- このネットワーク・ロード・バランサをインターネットからアクセス可能にするには、表示タイプとして「パブリック」を選択します。
- パブリックIPアドレスとして「エフェメラルIPv4アドレス」を選択します。
- 「次」をクリックします。
- タスク1で作成したVCNを選択します。
- タスク2で作成したパブリック・サブネットを選択します。
- 「次」をクリックします。
-
「リスナーの構成」に、次の情報を入力します。
- 「売り手名」を入力します。
- ネットワーク・ロード・バランサがリスニングする必要があるトラフィックのタイプには、「TCP」を選択します。
- ネットワーク・ロード・バランサがTCPポート
80
で受信接続をリスニングするように、「ポートの指定」を選択し、ポート80
を指定します。 - 「次」をクリックします。
-
「バックエンドの構成」に、次の情報を入力します。
- バックエンド・セット名を入力します。
- 「バックエンドの追加」をクリックします。
- 正しいポートで最初のOCIコンピュート・インスタンスが選択されていることを確認します。現在はデフォルトの加重を保持します。
- 「+別のバックエンド」をクリックします。
- 2番目のOCIコンピュート・インスタンスが正しいポートで選択されていることを確認します。現在はデフォルトの加重を保持します。
- 3番目のOCIコンピュート・インスタンスが正しいポートで選択されていることを確認します。現在はデフォルトの加重を保持します。
- 「バックエンドの追加」をクリックします。
- バックエンドを確認します。
- 「次」をクリックします。
-
「ヘルス・チェック・ポリシーの指定」セクションで、次の情報を入力します。
- バックエンド・サーバーのチェックに使用する「プロトコル」として「HTTP」を選択します。
- バックエンド・サーバーのチェックに使用する「ポート」としてポート
80
を選択します。 - 「次」をクリックします。
- ロード・バランサの詳細およびリスナーの詳細を確認します。
- 下へスクロール
- バックエンド・セットの詳細を確認します。
- 下へスクロール
- ヘルス・チェック・ポリシーを確認します。
- 「ネットワーク・ロード・バランサの作成」をクリックします。
-
ネットワーク・ロード・バランサが作成されると、ステータスはCREATINGで始まります。
- しばらくすると、ステータスは ACTIVEに変更されます。
- 健全性検査ポリシーはまだ開始する必要があるため、全体的な健全性が「Unknown」ステータスで開始される可能性があります。
- バックエンド・セットのヘルスについても、「不明」ステータスで始まる場合も同様です。
- しばらくすると、全体的な健全性が OKに設定されます。
- バックエンド・セットのヘルスも「OK」に設定されます。
- ネットワーク・ロード・バランサに割り当てられているパブリックIPアドレスをノートにとります。
次の図に示す設定を構築しました。
タスク5: 新しいOCI Network Load Balancerのテスト
-
3つのOCIインスタンスとネットワーク・ロード・バランサをすべて作成しました。ネットワーク・ロード・バランサをテストします。
- ブラウザを開き、ネットワーク・ロード・バランサのパブリックIPアドレスを入力します。
- 参照元のパブリック・クライアントIPアドレスに注意してください。
- OCIコンピュート・インスタンスの1つのIPアドレスであるプライベート・サーバーのIPアドレスに注意してください。
-
OCIコンピュート・インスタンスに使用するアルゴリズムを選択します。
- 下へスクロール
- デフォルトのロード・バランシング・ポリシーが5-tuple-hashに設定されていることを確認します。
- これを変更するか、他のオプションを確認するには、3つの点をクリックします。
- 「編集」をクリックします。
- 「5-tuple-hash」が選択されていることを確認します。
- 「取消」をクリックします。
-
ブラウザに戻ります。
- リフレッシュ・アイコンをクリックします。
- OCIコンピュート・インスタンスのIPアドレスであるプライベート・サーバーのIPアドレスが、
10.0.2.140
から10.0.2.7
に変更されていることに注意してください。これにより、ネットワーク・ロード・バランサが機能していることが確認されます。
取得されるパスのビジュアル表現。
- ブラウザをプライベート・モードまたはシークレット・モードで開きます。
- ネットワーク・ロード・バランサのパブリックIPアドレスを参照します。
- OCIコンピュート・インスタンスのIPアドレスであるプライベート・サーバーのIPアドレスが、
10.0.2.7
から10.0.2.140
に変更されていることに注意してください。
取得されるパスのビジュアル表現。
- リフレッシュ・アイコンをクリックします。
- OCIコンピュート・インスタンスのIPアドレスであるプライベート・サーバーのIPアドレスが、
10.0.2.140
から10.0.2.150
に変更されていることに注意してください。
取得されるパスのビジュアル表現。
-
1つの最終テストを行い、2つのOCI Computeインスタンスを停止します。
- 左上隅のハンバーガー・メニューをクリックします。
- 「インスタンス」をクリックします。
- 最初のOCIコンピュート・インスタンスを選択します。
- 2番目のOCIコンピュート・インスタンスを選択します。
- 「処理」をクリックします。
- 「停止」をクリックします。
-
「停止」をクリックします。
ストップは処理中です。
-
「閉じる」をクリックします。
- 最初のOCIコンピュート・インスタンスが停止していることに注意してください。
- 2番目のOCIコンピュート・インスタンスが停止していることに注意してください。
- 3番目のOCIコンピュート・インスタンスがまだ実行されていることを確認します。
OCIコンピュート・インスタンスのビジュアル表現。
- 左上隅のハンバーガー・メニューをクリックします。
- 「ネットワーキング」をクリックします。
- 「ネットワーク・ロード・バランサ」をクリックします。
- 「全体的なヘルス」を確認します。ステータスは「クリティカル」です。
- ネットワーク・ロード・バランサをクリックします。
- 「全体的なヘルス」を確認します。ステータスは「クリティカル」です。
- バックエンド・セットのヘルスを確認します。ステータスはクリティカルです。
- 下へスクロール
- 「全体的なヘルス」を確認します。ステータスは「クリティカル」です。
- バックエンド・セットをクリックします。
- 「全体的なヘルス」を確認します。ステータスは「クリティカル」です。
- バックエンド・ヘルスは「クリティカル」の横に2あり、これは停止したOCIコンピュート・インスタンスに対応します。
- 1 (OK)は、まだ稼働している唯一のOCIコンピュート・インスタンスです。
- 「バックエンド」をクリックします。
- 最初のOCIコンピュート・インスタンスの状態はクリティカルであることに注意してください。
- 2番目のOCIコンピュート・インスタンスの状態はクリティカルであることに注意してください。
- 3番目のOCIコンピュート・インスタンスの状態は「OK」です。
- Webページをリフレッシュします。
- 稼働している唯一のOCIコンピュート・インスタンスのIPアドレスであるプライベート・サーバーのIPアドレスに注意してください。
取得されるパスのビジュアル表現。
- インスタンス・ページに戻ります。
- 最初のOCIコンピュート・インスタンスを選択します。
- 2番目のOCIコンピュート・インスタンスを選択します。
- 「処理」をクリックします。
- 「スタート」をクリックします
-
「スタート」をクリックします
開始は処理中です。
-
「閉じる」をクリックします。
1番目と2番目のOCIコンピュート・インスタンスが再度実行されていることを確認します。
- ネットワーク・ロード・バランサ・ページに戻ります。
- 「全体的なヘルス」を確認します。ステータスは「OK」です。
- ネットワーク・ロード・バランサをクリックします。
- ヘルスを確認します。ステータスは「OK」です。
- バックエンド・セットのヘルスを確認します。ステータスは「OK」です。
- 「バックエンド・セット」をクリックします。
- ヘルスを確認します。ステータスは「OK」です。
- バックエンド・セットをクリックします。
- 「ヘルス」を確認します。ステータスは「OK」です。
- 3 (OK)は、稼働している唯一のOCIコンピュート・インスタンスです。
- 「バックエンド」をクリックします。
すべてのOCIコンピュート・インスタンスの状態が「OK」であることを確認します。
承認
- 著者 - Iwan Hoogendoorn (OCIネットワーク・スペシャリスト)
その他の学習リソース
docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Use the Public OCI Flexible Network Load Balancer to Expose your Webserver Pool to the Internet
F94500-01
March 2024