Nginx 1.9.1 リリース ~デフォルトでSSLv3がdisabledに

2015年5月26日にNginx 1.9.1 リリースがリリースされました。 リリース概要と変更点に関連するTopicsをお知らせします。
 

こんにちは、村田です。

2015年5月26日に Nginx 1.9.1 がリリースされました。
今回のリリースでSSLv3プロトコルがデフォルトでDisabled に変更されています。

SSLv3といえば脆弱性問題「POODLE」でpadding oracle side-channel 攻撃を行うことで暗号文を解読出来てしまうという問題が公開され話題にも上がりました。この時の対処方法として SSLv3 を使わずに TLSv1.1 または TLSv1.2 を利用することが推奨されていました。

【参考】httpd における POODLE SSLv3.0 脆弱性問題の解決方法 (CVE-2014-3566)
https://access.redhat.com/ja/node/1232613

今回の変更は機能面での大きな変更ではありませんが、セキュリティ面を配慮したデフォルト設定変更と言えます。

* nginx.org には詳細が公開されておりませんが、NGINX Plus を展開する Nginx inc. のBlog では、「Socket Sharding in NGINX Release 1.9.1」という記事がポストされており、Socket Sharding が使えるようになりそうです。詳細は別途ブログ記事でお知らせします。

Nginx CHANGES より nginx 1.9.1 の主な変更点を下記に日本語参考訳とともにまとめました。

目次 [hide]

nginx 1.9.1 の変更点(参考訳)

  • SSLv3 プロトコルはデフォルトで Disabled に変更
  • いくつかの非推奨の長いディレクティブはサポートされません
  • 「listen」ディレクティブに “reuseport” パラメーターを追加
  • $upstream_connect_time 変数を追加
  •  big-endian プラットフォーム上の 「hash」ディレクティブの Bug を修正
  • nginxは、いくつかの古く特異な Linux 上で起動に失敗することがあります。
    この Bug は1.7.11 以降に含まれます。
  • IPアドレスの解析に関わる Bug を修正

Nginx CHANGES 原文は下記となります。

    *) Change: now SSLv3 protocol is disabled by default.

    *) Change: some long deprecated directives are not supported anymore.

    *) Feature: the "reuseport" parameter of the "listen" directive.
       Thanks to Sepherosa Ziehau and Yingqi Lu.

    *) Feature: the $upstream_connect_time variable.

    *) Bugfix: in the "hash" directive on big-endian platforms.

    *) Bugfix: nginx might fail to start on some old Linux variants; the bug
       had appeared in 1.7.11.

    *) Bugfix: in IP address parsing.
       Thanks to Sergey Polovko.

Changes with nginx 1.9.1  

nginx_sios

NGINX Plus Release6 リリース

2015年4月14日にNGINX Plus Release 6 が公開されました。主なアップデートは下記となります。

目次 [hide]

NGINX Plus Major new features

  • Fastest Load Balancing Algorithm
  • Full-Featured TCP Load Balancing
  • High Availability
  • Updated Extended Status Dashboard
  • Unbuffered Upload Support
  • SSL Authentication For the SMTP Mail Protocol

ロードバランシングのアルゴリズムが追加、よりグラフィカルで見やすくなった Status Dashboard など、コミュニティ版にはない機能強化がNGINX Plus には加えられています。

Nginx Inc.から届いた情報より、重要なポイントを下記にご紹介します。

新しい負荷分散アルゴリズム「Least Time」

Least Time アルゴリズムは応答時間が異なるノードを持つ分散環境のために、より速く、よりロードが少ないノードを選択することができます。

このアルゴリズムは、ロードバランシングプール内の各ノードからの同時接続数と平均応答時間を監視し、それぞれの要求に最良のノードを推定するためにこのインテリジェンスを使用します。

フル機能のTCPロードバランシング

NGINX Plus R5で導入されたTCPロードバランシング機能が大幅に拡張されました。

TCPヘルスチェック、Dynamic reconfiguration(動的再構成)、すべてのアクセスログ、およびSSLターミネーションと暗号化をサポートしました。

新しいステータスダッシュボードでは、このTCPロードバランシングの情報(TCP zones、TCP Upstreams)も含まれるようになりました。

高可用性NGINX Plus クラスタのサポート

keepalived ベースの高可用性機能をサポートしました。
オプションの nginxの-HA-keepalived のパッケージを使用してインストールされます。

ステータスダッシュボードの機能拡張と新デザインの採用

グラフィカルでより見やすい画面に変更され、TCPロードバランシングの情報が追加されました。

NP6_SD-01

以下のようにTCPロードバランシングの項目が追加されています。

NP6_TCP-01

Nginx Inc.が用意している実際のステータスダッシュボードDemoサイトもございます。
こちらも併せてご確認ください。

より細かい情報はリリース情報やNginx Inc.のブログにて順次公開さています。

参考:
NGINX, Inc. Launches NGINX Plus Release 6
http://nginx.com/blog/nginx-inc-launches-nginx-plus-release-6/
Announcing NGINX Plus Release 6 with Enhanced Load Balancing, High Availability, and Monitoring Features
http://nginx.com/blog/nginx-plus-r6-released/?utm_source=nginxcom&utm_medium=banner&utm_campaign=R6_release


日本での NGINX Plus に関するご相談や評価版利用に関するお問い合わせはサイオステクノロジーまでお気軽にお問い合わせください。

NGINX Plus 製品ページ
http://www.sios.com/products/oss/nginx/

nginx_sios

Nginx 1.9.0 がリリースされました

4月28日にMainline となる Nginx 1.9.0 がリリースされました。 本記事ではリリースの概要をご案内します。
 

4月28日に Mainline となる Nginx 1.9.0 がリリースされました。4月21日にリリースされた Stableline (安定版)の Nginx 1.8.0 と共に今後はこの2バージョンを中心に開発が進んでいきます。

Nginx 1.9.0 の主なトピックスとしては、TCP Proxy および load balancing に対応するngx_stream_core モジュールが追加されました。コンパイルして導入する場合にはコンパイル時のパラメーターオプションに--with-stream が必要です。

Nginx が提供する CHANGES の参考訳を以下にご案内します。

Nginx 1.9.0 CHANGES

  • 廃止された aio および rtsig イベントメソッドを削除
  • ”upstream” ブロックに “zone” ディレクティブを追加
  • ”stream” モジュールの追加
  • ngx_http_memcached_module が byte ranges をサポート
  • アドレス空間レイアウトがランダム化したWindows バージョンで shared memory が使用できます。
  • “error_log” ディレクティブはメールプロキシのメールおよびサーバーレベルで使用できます。
  • Bugfix: はじめの “listen” ディレクティブにて listen socket が指定されていない場合は “proxy_protocol” が正しく動作しない Bug を修正しました。
 
上記はNginx.orgが提供するCHANGE情報を訳した内容となります。正式な内容はこちらを参照ください。
nginx_sios

Nginx – Web technologies of the year 2014

W3TechsにてWeb technologies of the year 2014が発表され、NginxはWeb Server of the Yearで5年連続で受賞しました。Nginxはこの5年間で3.9%から22.9%に市場シェアが拡大しており、特にアクセス数の上位1万サイトでは利用率は42%と大規模なWebで多く使われています。 今回はWeb technologies of the year 2014の話題を中心に執筆したいと思います。
 

Web technologies of the year 2014では、上位千万Webサイトの利用割合の前年比成長率に基づいて選定されています。Nginxはこの5年間で3.9%から22.9%に市場シェアを拡大し、5年連続での受賞となりました。

次の図でNginxがどれだけ成長したのかがよく分かるかと思います。また、Apacheのシェアが2010年の71.5%から2015年は58.8%と12.7%マイナスとなっているほか、Microsoft-IISが20.6%から13.3%となるなどWebサーバーのトレンドが変わりつつあることが伺えます。

w3technginx

W3Techs Web Server Market Penetration

サイオスでは、本日 NGINX PlusのNTTぷらら様導入事例を公開しておりますので、こちらも併せてご覧ください。

NGINX Plus 導入事例
http://www.sios.com/products/oss/nginx/showcase/nttplala.html

Webサーバー部門以外にもOSSに関連する賞が発表されており、Content Management System of the YearではWordPressが5年連続で受賞しまして強さをみせています。また、Operating System of the YearではdebianがUbuntuを抑えて受賞するという結果になりました。

出典:Web technologies of the year 2014
http://w3techs.com/blog/entry/web_technologies_of_the_year_2014

nginx_sios

NGINX Plus r5 リリース

2014年12月2日(米国時間)にNGINX Plusの最新バージョンの r5 がリリースされました。 今回のアップデートの目玉は TCP load balancing 機能の追加になります。 これまでは HTTP コネクションのロードバランシング機能のみでしたが、今後は TCP コネクションのロードバランシングが出来るようになることで、NGINX Plus をロードバランサーとして利用するシーンが増えるのではないでしょうか。
 

下記に NGINX Plus r5 に含まれるいくつかの機能の概要をご紹介します。

目次 [hide]


TCP Load Balancing

TCP Load Balancing は “stream” モジュールの追加機能となります。HTTP プロトコルに加え TCP プロトコルのロードバランシング機能が提供されることで、NGINX Plus のロードバランサーとしての幅広い利用が可能になります。

例えば既存のメールプロキシと組み合わせて、SMTP, POP3, IMAPなどのメール関連のプロトコルをNGINX Plusで管理することができます。

tcp-lb-nginx-plus

詳細は下記のURLに記載がございます。(英語)
http://nginx.com/blog/tcp-load-balancing-in-nginx-plus-r5/

ロードバランシング機能における、ユーザーセッション制御機能の追加

サーバーの運用時にはサーバーのアップグレードやメンテナンスのために停止しなければならないケースが出てきます。 NGINX Plus r5 に追加された ‘draining’ 機能を利用することで、ダウンさせたノードには新たなコネクションは送信せず、既存のセッションについては、そのノードで確立されたセッションを完了するまでは維持する機能となります。

draining-nginx-plus

 

対応プラットフォームの追加

NGINX Plus r5 では、10月29日にリリースされたばかりの SUSE Linux Enterprise Server 12 にも対応済です。

  • SUSE Linux Enterprise Server 12
  • Ubuntu 14.10
  • ARMv8 (aarch64) on Ubuntu 14.04

 

その他の追加機能

この他にもNGINX Plus r5 では下記の機能追加が行われています。

  • Improved Control of Traffic if a Node Fails
  • HTTP Vary Header is Supported for Cached Content
  • Improved Support for Serving Byte-Ranges from Cache
  • More Control over Upstream Bandwidth

 

NGINX Plus r5 の詳細については、下記のURLにてリリース情報が公開されております。
http://nginx.com/blog/nginx-plus-r5-released/

nginx_sios

NIFTY Cloud でのNGINX Plus 導入(第3回)

こんにちは、村田です。3回目はNginxのリバースプロキシ機能を利用したロードバランシングを行います。1台のNginxで処理できる負荷であれば、ロードバランシングをしない方がパフォーマンスは高いのですが、クライアントからのアクセスが多いサイト、特にBtoCのサイトではロードバランシング機能が必要になるケースが出てきます。
 

クラウド環境ではアプライアンスのハードウェアロードバランサーを導入しにくい場合もありますが、Nginxで解決できるケースも多くしかもコストも抑えられるので、クラウド環境との相性が良いといえます。今回の構成は以下のようなイメージになります。

設定を開始する前にデフォルトの設定を見てみましょう。

/etc/nginx/nginx.conf の設定は以下の通りです。

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘
                                      ‘$status $body_bytes_sent “$http_referer” ‘
                                      ‘”$http_user_agent” “$http_x_forwarded_for”‘;

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
#tcp_nopush  on;    
keepalive_timeout  65;
#gzip  on;    

include /etc/nginx/conf.d/*.conf;

}

細かな設定項目は別の機会で解説をしたいと思いますが、今回の設定で重要になるのは httpディレクティブ から始まる項目です。

まず、Webサーバーとして利用するサーバー2台の nginx.conf の設定を変更します。
httpディレクティブ内に server ディレクティブを下記のように追記します。

serverディレクティブは仮想サーバーの設定を行う項目で、listen にて IPアドレスやポートもしくはホスト名(UNIXドメインソケットパス)を記述します。(ここは環境に合わせて変更してください) root ディレクティブにてドキュメントルートの設定を行います。

※ドキュメントルートの設定は serverディレクティブ内で設定することが推奨されます。

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘
                                      ‘$status $body_bytes_sent “$http_referer” ‘
                                      ‘”$http_user_agent” “$http_x_forwarded_for”‘;

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
 #tcp_nopush on;    

    keepalive_timeout  65;    

#gzip  on;    

include /etc/nginx/conf.d/*.conf;

    server {
        listen [WebサーバーのIPアドレスもしくはホスト名];
        root /usr/share/nginx/html;
        }
    }
}

設定が完了したら Nginx を再起動して設定を反映させます。WebサーバーのIPアドレスもしくはホスト名にアクセスを行い、サンプルページもしくは用意したコンテンツが見えることを確認してください。

# service nginx restart
nginx を停止中:                                            [  OK  ]
nginx を起動中:                                            [  OK  ]
 

NGINX Plus であれば以下の項目を serverディレクティブ内に記述することで、ライブで Nginx のステータスを取得できるようになります。

        location = /status {
            status;

Live load-balancing status の画面は以下のようになります。実際に動作しているところは Nginx Inc.のデモをご覧ください。

Webサーバーの準備ができたなら、ロードバランサーとして動かす Nginx の設定を行います。
設定項目は以下の3点と非常に簡単に行えます。

  1. httpディレクティブ内に upstream_backend ディレクティブの設定を記述します。
    Webサーバーとして設定たサーバーのIPアドレスもしくはホスト名を指定します。
  2. serverディレクティブを作成し、仮想サーバーの設定を行う。
    この項目は先程のWebサーバーの設定と基本は同じです。
  3. locationディレクティブを作成し、proxy_pass の設定を記述します。
    今回は location に / (ルート) を設定することで、全てのコンテンツをWebサーバーに流します。
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    upstream backend {
    server [1台目のWebサーバーのIPもしくはホスト名];
    server [2台目のWebサーバーのIPもしくはホスト名];
    }    

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘
                                      ‘$status $body_bytes_sent “$http_referer” ‘
                                      ‘”$http_user_agent” “$http_x_forwarded_for”‘;

    access_log  /var/log/nginx/access.log  main;
   
    sendfile        on;
#tcp_nopush  on;
   
   keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen [ロードバランサーのIPアドレスもしくはホスト名];
        root /usr/share/nginx/html;
        location = / {
            proxy_pass http://backend;
        }
        status_zone backend;
        location = /status {
            status;
        }
    }
}

 
これでNginxによるロードバランシングの設定が完了です。Nginxを再起動ます。
# service nginx restart
nginx を停止中:                                            [  OK  ]
nginx を起動中:                                            [  OK  ]
 

それぞれのサーバーの index.hrml にホスト名や IPアドレスを埋め込むことで視覚的にロードバランシングが行われているかを確認することができます。また、/var/log/nginx/access.log を確認することでもロードバランシングの設定効果を見ることができます。

この様に、簡単な設定でロードバランシングまで行えます。
導入の敷居も非常に低いのでWebサーバーのパフォーマンスにお困りの方は一度試してみてはいかがでしょうか。

nginx_sios

NIFTY Cloud でのNGINX Plus 導入(第2回)

こんにちは、村田です。NIFTY Cloud さんの環境をお借りしての NGINX Plus 導入の第2回目です。前回はNIFTY Cloud 上で CentOS 6.5 がインストールされた仮想サーバーの作成までを行いました。今回は作成したサーバーに対してNGINX Plus のインストールと基本設定を行いうところまでを行います。
 

OSS コミュニティ版の Nginx を yum 経由でインストールするのと手順はほとんどかわりなく、パッケージ取得の際の認証が必要になる形です。

目次 [hide]

 

仮想サーバーへのログイン

NIFTY Cloud では、コントロールパネル上で操作可能なコンソールを用意していますが、IE か Firefox が必要になります。今回はより利便性の高い SSH を使用してログインする方法でご案内したいと思います。

(1)SSHログイン

予め作成したSSHキーを任意のディレクトリに用意の上で ssh コマンドでアクセスします。
Are you sure you want to continue connecting (yes/no)? と表示されたら、yes を入力して Enter キーを押下します。

[root@localhost ~]# と表示がされればログイン成功です。

$ ssh -i [SSHキー名]_private.pem root@[IPアドレス]
Warning: Identity file [SSHキー名]_private.pem not accessible: No such file or directory.
The authenticity of host ‘[IPアドレス] ([IPアドレス])’ can’t be established.
RSA key fingerprint is aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa:aa.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘[IPアドレス]’ (RSA) to the list of known hosts.
[root@localhost ~]#

 

(2)NGINX Plusのインストール

CentOSの環境でNGINX Plusをインストールする場合は yumレポジトリからのインストールとなります。
SSLの設定が必要になるため、予めディレクトリの設定を行います。

# mkdir /etc/ssl/nginx
 

Nginx Inc. が用意したyumレポジトリにアクセスするためには、カスタマーポータルからSSLキーとレポジトリの情報をダウンロードする必要があります。カスタマーポータルへのアクセスには、評価版を申請頂くか、製品をご購入頂く必要があります。評価版のご相談はこちらよりご連絡ください。

カスタマーポータルにログインすると以下のようにサブスクリプションの情報が取得てきます。アクティブなサブスクリプションの「Certificate」「Private key」のリンクからnginx-repo.crtとnginx-repo.keyをダウンロードします。

nify-nginx-2-01

画面の下部に「NGINX repository setup instruction」にアクセスし、To show setup instructions please choose your OS and distribution:の項目から「RHEL6/CentOS」を選択します。

項目を選択すると下記の情報が表示されます。

Setup instruction for RHEL6/CentOS6

  • Create /etc/ssl/nginx directory
  • Move CA.crt, nginx-repo.key and nginx-repo.crt files to /etc/ssl/nginx/ directory
  • Copy nginx-plus-6.repo file to /etc/yum.repos.d/ directory
  • Run yum install nginx-plus to install nginx-plus package. Please keep in mind that old nginx package (if any)
  • will be replaced.
  • In order to upgrade from the previous version of nginx-plus, run yum upgrade nginx-plus

まず Keys and certificates より「Certificate」「Private key」をそれぞれダウンロードしてサーバーにアップロードします。
ローカルのシステムから一連のファイルをアップロードするには、以下のようにscpコマンドを使用するとよいでしょう。

$ scp -i [SSHキー名]_private.pem nginx-repo.crt root@[IPアドレス]:/etc/ssl/nginx/

CA.crt と nginx-plus-6.repo の部分がリンクになっているのでサーバー側で wget コマンドより取得します。

# cd /etc/ssl/nginx/
# wget https://cs.nginx.com/static/files/CA.crt
–2014-08-31 23:47:33–  https://cs.nginx.com/static/files/CA.crt
cs.nginx.com をDNSに問いあわせています… 206.251.xxx.xxx
cs.nginx.com|206.251.xxx.xxx|:443 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 1606 (1.6K) [application/x-x509-ca-cert]
`CA.crt’ に保存中
100%[======================================>] 1,606       –.-K/s 時間 0s

2014-08-31 23:47:35 (296 MB/s) – `CA.crt’ へ保存完了 [1606/1606]

# cd /etc/yum.repos.d/
# wget https://cs.nginx.com/static/files/nginx-plus-6.repo
–2014-08-31 23:54:37–  https://cs.nginx.com/static/files/nginx-plus-6.repo
cs.nginx.com をDNSに問いあわせています… 206.251.xxx.xxx
cs.nginx.com|206.251.xxx.xxx|:443 に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 230 [application/octet-stream]
`nginx-plus-6.repo’ に保存中

100%[======================================>] 230         –.-K/s 時間 0s  

2014-08-31 23:54:38 (50.0 MB/s) – `nginx-plus-6.repo’ へ保存完了 [230/230]

 

各ファイルの送付が完了したら yum コマンドからインストールを行います。

# ls /etc/ssl/nginx/CA.crt  nginx-repo.crt  nginx-repo.key
# ls /etc/yum.repos.d/ CentOS-Base.repo      
CentOS-Media.repo  nginx-plus-6.repo CentOS-Debuginfo.repo  CentOS-Vault.repo
# yum install nginx-plus
Loaded plugins: fastestmirror, security
Determining fastest mirrors
   * base: ftp.iij.ad.jp  
   * extras: ftp.iij.ad.jp  
   * updates: ftp.iij.ad.jp
base                                                          | 3.7 kB     00:00    
extras                                                       | 3.4 kB     00:00    
nginx-plus                                               | 2.9 kB     00:00    
nginx-plus/primary_db                       |  31 kB     00:00    
updates                                                    | 3.4 kB     00:00    
updates/primary_db                            | 4.8 MB     00:00    
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package nginx-plus.x86_64 0:1.7.3-1.el6.ngx will be installed
–> Finished Dependency Resolution Dependencies Resolved
=================================================================
Package           Arch          Version                Repository         Size
=================================================================
Installing:  nginx-plus        x86_64        1.7.3-1.el6.ngx        nginx-plus        1.5 M Transaction Summary =================================================================
Install       1 Package(s)

Total download size: 1.5 M
Installed size: 2.1 M
Is this ok [y/N]: y
Downloading Packages: nginx-plus-1.7.3-1.el6.ngx.x86_64.rpm                    | 1.5 MB     00:01    
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction  
     Installing : nginx-plus-1.7.3-1.el6.ngx.x86_64                            1/1
———————————————————————-

Thanks for using NGINX!

Please find the documentation for NGINX Plus here:
/usr/share/nginx/html/nginx-modules-reference.pdf

More information about NGINX products is available on:
* http://nginx.com/

———————————————————————-  

Verifying  : nginx-plus-1.7.3-1.el6.ngx.x86_64                            1/1

Installed:  
  nginx-plus.x86_64 0:1.7.3-1.el6.ngx           
           
Complete!

 

※ yumインストールの途中のコメントにもあるとおり、/usr/share/nginx/html/nginx-modules-reference.pdf にドキュメントが用意されていますので、
こちらも忘れずに取得しておいて下さい。

インストールが完了したらサービスを起動すればWebサーバーとして立ち上がります。

[root@localhost ~]# /etc/init.d/nginx start
nginx を起動中:                                            [  OK  ]

以下のように「Welcome to nginx!」のページが表示されれば初期設定は完了です。

nify-nginx-2-02

次回は Nginx の設定ファイルを編集していき NGINX Plus 独自のライブステータス機能のセットアップからロードバランサーとして利用するところまでをご案内します。

OSSコミュニティ版 Nginx を使用する場合

OSSコミュニティ版 Nginx を使用する場合は yum レポジトリ作成のところで /etc/yum.repos.d/nginx.repo を作成し、設定ファイルには下記を入力します。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

インストールは下記のコマンドを利用します。

# yum install nginx

詳細は http://nginx.org/en/linux_packages.html#mainline をご参照下さい。

nginx_sios

NIFTY Cloudを利用したNGINX Plusの基本的な構成の導入(第1回)

こんにちは、村田です。今回、ニフティさんから環境をお借りして7月に販売開始したNGINX Plus を試す機会を頂きました。NIFTY Cloudを利用したNGINX Plusの基本的な構成の導入を3回に分けてご紹介したいと思います。

NIFTY Cloud上での仮想サーバーの作成

NIFTY Cloud へのログインができる状態になっているところから手順をご案内します。ご利用の詳細は NIFTY Cloud さんのサイトをご確認ください。

(1)NIFTY Cloud のログイン

NIFTY Cloudにログインするとダッシュボードが表示されますが、契約直後の場合は何もリソースが表示されていません。 まずはサーバーがなければ何もできませんので左のメニューより「サーバー」を選択して新規サーバーの作成を行います。

nify-nginx-01

(2)新規サーバーの作成

「+サーバー作成」のボタンを押下すると、サーバー作成画面がポップアップしてきます。

nify-nginx-02

(3)ゾーン選択

最初にサーバーを利用するゾーンを設定します。(リージョンをデータセンターとした場合にソーンはデータセンター内のどのフロアを使うのかというイメージですかね)

nify-nginx-04
*ポップアップ画面でもわかるように設定(確認)項目は9項目となり、設定後は5分程度でサーバーが立ち上がってきます。

(4)イメージ選択

OSイメージはNIFTY Cloudで用意されたイメージとカスタマイズイメージを利用できます。今回は、標準で用意されたCentOS 6.4を使います。

nify-nginx-05

(5)基本設定

ここではサーバー名とIPアドレスの設定を行います。サーバー名は後々の管理に使いますので用途がわかる名称にするとよいでしょう。今回のIPアドレスはデフォルトの固定IPアドレスを利用します。

nify-nginx-06

(6)タイプ・料金設定

タイプはサーバーの性能となりますので利用用途に応じたサイジングが重要となります。詳細はこちらのサーバータイプ・仕様一覧を参照の上で必要なサーバーを選択してください。今回の検証ではmediumを選択しました。

nify-nginx-07

(7)アカウント設定

サーバーにログインするためのSSHキーの選択、もしくは作成を行います。新規で作成する環境では「SSHキーを新規作成」から新たなSSHキーを作成します。

* SSH秘密鍵のダウンロードは1度しか行えませんので紛失にご注意ください。

nify-nginx-08

(8)スクリプト設定

サーバーが起動した際に実行するスクリプトを任意で設定できます。決められた環境を作成する場合はあらかじめシェルスクリプトを作成しておくことで起動後の作業を省略することができます。

nify-nginx-09

(9)ファイアウォール設定

サーバーに対する通信のファイアウォールの設定ができます。サーバーのファイアウォール設定と共に適切に設定することで堅牢な

nify-nginx-10

システムを構築することができます。詳細はこちらのドキュメントをご確認ください。

(10)確認

内容を確認し、「作成する」ボタンを押下したらサーバーの作成が開始されます。

nify-nginx-11

(11)サーバー作成

5分ほど待てばサーバーが自動的に立ち上がってきます。

nify-nginx-12

アカウントにログインしてからサーバーの作成まで、慣れてしまえば10分程度でできてしまうほどに分かりやすく使いやすくつくられています。この辺りは国産クラウドならではの操作性ではないでしょうか。

次回は作成したサーバーにアクセスしてNGINX PlusをWebサーバーとして使用するところまでをご案内します。

nginx_sios