NGINX プロキシサーバーを使用して、Alibaba Cloud 以外のホストから Cloud Monitor にモニタリングデータをレポートできます。
ステップ 1: NGINX プロキシのデプロイ
Cloud Monitor は Linux サーバーにデプロイされます。プロキシサーバーとして Linux サーバーを使用することを推奨します。この例では CentOS を使用します。
NGINX プロキシサーバーをデプロイするには、root アカウントを使用する必要があります。root アカウントの不適切な使用は、システムの不安定化やデータセキュリティの問題を引き起こす可能性があります。操作は慎重に行ってください。
-
NGINX インストールパッケージをダウンロードして解凍します。この例では nginx-1.19.6 を使用します。
-
インストールディレクトリに移動し、インストールパッケージをダウンロードします。他のバージョンをダウンロードするには、NGINX の公式サイトにアクセスしてください。
cd /usr/local wget http://nginx.org/download/nginx-1.19.6.tar.gz -
インストールパッケージを解凍します。
tar -zxvf nginx-1.19.6.tar.gz
-
-
依存関係をインストールします。
yum install -y git patch pcre pcre-devel gcc zlib zlib-devel openssl openssl-devel -
NGINX パッチパッケージをダウンロードしてインストールします。この例では、proxy_connect_rewrite_1018.patch を使用します。
-
解凍した nginx-1.19.6 ディレクトリに移動します。
-
次のコマンドを実行して、NGINX パッチパッケージをダウンロードします。
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git重要お使いの NGINX バージョンに対応するパッチパッケージのバージョンをダウンロードしてください。この例では NGINX 1.19.6 を使用しているため、対応するパッチパッケージは proxy_connect_rewrite_1018.patch です。詳細については、「GitHub」をご参照ください。
-
NGINX パッチパッケージをインストールします。/usr/local/nginx-1.19.6 ディレクトリにいることを確認してください。
patch -p1 < ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch説明patch:パッチファイルの変更をソースファイルに適用します。-p1:パッチファイル内のファイルパスから、先頭のディレクトリを1階層削除します。
-
-
NGINX をコンパイルしてインストールし、起動します。
-
/usr/local/nginx-1.19.6 ディレクトリで、コンパイルコマンドを実行します。
./configure --prefix=/usr/local/nginx-1-19 --with-http_stub_status_module --with-http_ssl_module --add-module=ngx_http_proxy_connect_module説明--prefix=/usr/local/nginx-1-19パラメーターは NGINX のインストールディレクトリを指定します。 -
インストールコマンドを実行します。
make && make install -
NGINX を起動するコマンドを実行します。
/usr/local/nginx-1-19/sbin/nginx
-
-
インストールを検証するには、ブラウザーのアドレスバーに<プロキシサーバーのIPアドレス>:80と入力します。[Welcome to nginx!] ページが表示された場合、NGINX プロキシサーバーは正常にインストールされ、実行中です。
-
NGINX プロキシを設定します。
-
NGINX のインストール先の
confディレクトリに、forward.conf設定ファイルを作成します。cd /usr/local/nginx-1-19/conf vi forward.conf -
forward.confファイルでフォワードプロキシとリバースプロキシを設定します。-
以下にフォワードプロキシ設定のサンプルコードを示します。
server { listen 8080; # NGINX プロキシサーバーのカスタムポートを設定します。 server_name xxx.xx.xx.xxx; # プロキシサーバーの IP アドレスを設定します。 # フォワードプロキシで使用される DNS リゾルバー resolver 114.114.114.114; # DNS アドレスを設定します。 # CONNECT リクエストのフォワードプロキシ proxy_connect; proxy_connect_allow 443; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; # 非 CONNECT リクエストのフォワードプロキシ location / { proxy_pass http://$http_host$request_uri; # リクエストを元の宛先ホストに転送します。 proxy_set_header Host $host; } }説明フォワードプロキシは、プライベートネットワーク内のクライアントがパブリックインターネット上のリソースにアクセスするための中継として機能します。
NGINX のフォワードプロキシは、デフォルトでは HTTPS をサポートしていません。HTTPS サポートを有効にするには、パッチを適用する必要があります。
-
以下にリバースプロキシ設定のサンプルコードを示します。
server { listen 443 ssl; server_name 192.168.XX.XX; # プロキシサーバーの IP アドレスを設定します。 ssl_certificate XXXX.pem; # SSL 証明書を設定します。 ssl_certificate_key XXXX.key; # SSL 証明書のキーを設定します。 location / { proxy_pass https://www.aliyun.com; # プロキシサーバーがアクセスする URL を設定します。 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }説明リバースプロキシは、パブリックインターネット上のクライアントがプライベートネットワーク内のリソースにアクセスするための中継として機能します。
重要SSL 証明書の申請に関する詳細については、証明書申請の提出をご参照ください。
-
-
Esc キーを押し、
:wqと入力してから Enter キーを押し、forward.conf設定ファイルを保存して終了します。 -
メインの
nginx.conf設定ファイルを開きます。cd /usr/local/nginx-1-19/conf vi nginx.conf -
メインの
nginx.confファイルに、forward.confを読み込むためのincludeディレクティブを追加します。http { ...... include /usr/local/nginx-1-19/conf/forward.conf; ...... } -
Esc キーを押し、
:wqと入力してから Enter キーを押し、nginx.confファイルを保存して終了します。 -
NGINX プロキシサーバーを再起動します。
/usr/local/nginx-1-19/sbin/nginx -s reload
-
-
NGINX プロキシサーバーをテストします。
-
フォワードプロキシをテストするには、次のコマンドを実行します。接続に成功した場合、フォワードプロキシは正しく設定されています。
curl -x <プロキシサーバーのIP>:<プロキシサーバーのポート> http://example.com -
リバースプロキシをテストするには、次のコマンドを実行します。リクエストは
forward.confファイルで指定された URL にプロキシされ、そのコンテンツが返される場合、リバースプロキシの設定は正しいです。curl https://<プロキシサーバーのIP>
-
ステップ 2: Cloud Monitor エージェントのインストールと設定
CloudMonitor エージェントは、ルートユーザーアカウント(管理者アカウント)を使用してのみ管理できます。 管理者アカウントを使用すると、特定のリスクが発生する可能性があります。 たとえば、システムの安定性やデータセキュリティの問題が発生する可能性があります。 注意して進めてください。
-
Alibaba Cloud 以外のホストに Cloud Monitor エージェントをインストールします。
詳細については、「C++ エージェントのインストールとアンインストール」をご参照ください。
-
NGINX プロキシサーバーを使用するように Cloud Monitor エージェントを設定します。
-
Cloud Monitor エージェントがインストールされているホストに root でログインします。
-
次のコマンドを実行して、agent.properties ファイルを開きます。
cd /usr/local/cloudmonitor/conf vi agent.properties -
プロキシサーバー情報を
agent.propertiesファイルに追加します。http.proxy.auto=false # プロキシの手動設定 http.proxy.host=192.168.XX.XX # NGINX プロキシサーバーの IP アドレス http.proxy.port=8080 # NGINX プロキシサーバーのポート #http.proxy.user=user # NGINX プロキシサーバーの HTTP サービスにはユーザー名は不要です。 #http.proxy.password=password # NGINX プロキシサーバーの HTTP サービスにはパスワードは不要です。 -
Esc キーを押し、:wq と入力し、Enter キーを押して agent.properties ファイルを保存して終了します。
-
次のコマンドを実行して、Cloud Monitor エージェントを再起動します。
./cloudmonitorCtl.sh restart
-
ステップ 3: モニタリングデータの表示
CloudMonitor コンソール にログインします。
-
左側のナビゲーションペインで、[ホストモニタリング] をクリックします。
-
[ホスト監視] ページで、対象ホストの名前をクリックするか、[アクション] 列の [監視グラフ] をクリックします。
このページでは、Alibaba Cloud 以外のホストのモニタリングデータを表示できます。