LoginSignup
7
9

More than 5 years have passed since last update.

Google Cloud Platform nginx 踏み台サーバー 〇分クッキング

Last updated at Posted at 2019-01-19

Google Cloud Platform (GCP) で、nginx リバースプロキシ VM インスタンス(踏み台サーバー)を素早く〇分で作ります。

材料

  • バックエンド Web サーバ インスタンス (GCP) 外部IPアドレス抜き
  • 必要なら、お好みでドメイン1個

作り方

Marketplace で nginx を選ぶ

Marketplace で nginx を検索し、今回は「タイプ:仮想マシン」を選択します。
NGINX_2019-01-19_12h36_04.png

右側に料金が表示されるので、選択した設定が問題ないか確認してください。

Marketplace から nginx VM インスタンス作成

nginx の VM インスタンスを作成します。マシンタイプ設定はお好みでどうぞ。
ここで接続元 IP アドレスを指定すれば、絞ることができます。
marketplace.png

nginx のリバースプロキシ設定

nginx サーバに SSH 接続し、設定ファイルを作ります。ファイル名は「*****.conf」とします。*****はお好みでどうぞ。

BASH
sudo vi /etc/nginx/conf.d/rp-aquiq.conf

server {
    server_name {nginx の 外部 IP アドレス};

    # リクエストヘッダ(バックエンド WEB サーバに接続元IPアドレスを出力するため)
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    # バッファなど設定はお好みで

    location / {
        proxy_pass http://{バックエンド WEB サーバ 内部 IP アドレス};
    }
}
  • nginx の外部アドレスの部分をホスト名にする場合は、DNS サーバの設定(Aレコード)に、nginx インスタンスの外部 IP アドレスを登録します。

nginx の設定を読み込み

作成した nginx の設定ファイルを読み込むため、nginx をリロードします。

BASH
aquiq@nginx-1-vm:~$ sudo service nginx reload

WEB ブラウザから接続して完成

WEB ブラウザから nginx の IP アドレス(または URL)に接続すると、バックエンド WEB サーバのページが表示されます。

バックエンド WEB サーバのアクセスログ設定(+〇分)

バックエンド WEB サーバのアクセスログに接続元 IP アドレスが出力されるように、バックエンド WEB サーバ側を修正しましょう。

不要サービスの停止・削除(+〇分)

GCP のMarkecplace から nginx (タイプ:仮想マシン)を作成すると、MySQL が稼働しているので、不要なら削除しましょう。(状況に応じてサービス停止)

sudo apt remove mysql-server
sudo apt remove mysql-com*
sudo apt remove mysql-apt*
sudo apt remove php7.0-mysql*

HTTPS対応(+〇〇分)

セキュリティ的に http が嫌な場合は、https にしましょう。
以下のサイトを参考にどうぞ。

無料 SSL 証明書は以下のサイトを参考にどうぞ。

その他 nginx の詳細設定は、以下のリンクをご参照ください。

参考

NGINX リバースプロキシ | NGINX 日本語訳 - FC2

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9