このトピックでは、NGINX を Apsara File Storage NAS のプロキシとして使用する方法について説明します。

このタスクについて

NGINX は、軽量で高性能な Web サーバーです。 NGINX には多くの機能があり、リバースプロキシとして使用できます。 NGINX の最も一般的なアプリケーションモードの 1 つは、リバースプロキシとして機能することです。 プロキシサーバーは、インターネット経由でクライアントからの接続要求を受け入れます。 プロキシサーバーは、これらの要求を内部ネットワークにあるサーバーに転送し、サーバーからの応答をこれらのクライアントに返します。 このようにプロキシサーバーがサーバーに代わって動作することを、リバースプロキシと呼びます。

プライベートネットワーク内にあるアプリケーションサーバーには、プライベートネットワーク外のクライアントからはアクセスできません。 このような場合、アプリケーションサーバーとクライアント間の仲介として機能するリバースプロキシが必要です。 リバースプロキシは、アプリケーションサーバーと同じプライベートネットワークに存在しますが、内部ネットワーク外のクライアントからアクセスできます。 リバースプロキシとアプリケーションサーバーは同じ物理サーバーを共有できますが、異なるポートを使用します。

次の例では、1 つの NGINX サーバーをリバースプロキシとして、4 つの NGINX サーバーをプロキシサーバーとして、Apsara File Storage NAS をバックエンドストレージとして使用しています。 Apsara File Storage NAS は、プロキシサーバーのキャッシュファイルと、エンドユーザーがアップロードした元のファイルまたは静的データファイルを保存します。 Apsara File Storage NAS は、異なるプロキシサーバーから同じファイルシステムへの共有アクセスを可能にします。 これにより、プロキシサーバー間でデータを同期し、データの整合性を確保できます。 また、サーバーが発信元からファイルを繰り返し取得することを防ぎ、帯域幅の効率的な使用を保証します。 次の図は、ネットワークトポロジの例を示しています。

ネットワークトポロジ

このトピックで説明されている手順に従って、上記のトポロジに示されている環境を構築できます。 このトピックでは、CentOS ECS インスタンスを例として取り上げます。

手順 1 :NGINX リバースプロキシの展開

  1. NGINX をインストールします。
    yum install nginx
  2. プロキシサーバーを指すリバースプロキシを構成します。
    1. 次のコマンドを使用して、/etc/nginx/nginx.conf ファイルを開きます。
      vim /etc/nginx/nginx.conf
    2. /etc/nginx/nginx.conf ファイルの中に、http コンテキストを構成します。 次のコードを例として取り上げます。
      http {
      upstream web{
               server 10.10.0.10;
               server 10.10.0.11;
               server 10.10.0.12;
               server 10.10.0.13;
            }
            server {
                listen 80;
                    location / {
                         proxy_pass http://web;
                     }
            }
      }

手順 2:ファイルシステムとマウント対象の作成

  1. リージョンに NFS ファイルシステムを作成します。 詳細については、「ファイルシステム」をご参照ください。
    ファイルシステムと、ファイルシステムがマウントされる ECS インスタンスは、同じリージョンに存在する必要があります。
  2. VPC タイプのマウント対象を作成します。 詳細については、「マウントポイント」をご参照ください。

手順 3:NGINX プロキシサーバーの展開

  1. 次のコマンドを使用して NGINX をインストールします。
    sudo yum install nginx
  2. 次のコマンドを使用して NFS クライアントをインストールします。
    sudo yum install nfs-utils
  3. 次のコマンドを使用して、NGINX の Web サイトディレクトリにファイルシステムをマウントします。
    sudo mount -t nfs -o vers=4.0,file-system-id.region.nas.aliyuncs.com:/ /usr/share/nginx/html/ 

    上記のコマンドの file-system-id.region.nas.aliyuncs.com:/ は、マウントポイントのドメイン名を指定します。 業務要件に基づいてドメイン名を置き換える必要があります。

  4. NGINX ルートファイルを編集します。
    echo “This is Testing for Nginx&NAS”> /usr/share/nginx/html/index.html
  5. 上記の手順を繰り返して、他の 3 つの NGINX プロキシサーバーを構成し、各プロキシサーバーに同じ NFS ファイルシステムをマウントします。
  6. 構成結果を確認します。

    各 NGINX プロキシサーバーが index.html のルートファイルにアクセスできていれば、プロキシサーバーは正常に構成されています。

    構成結果の確認