2016年12月3日土曜日

CentOS 7に NginXをインストール


ダウンロード・インストール
CentOS7.1でnginxを用いたウェブサーバの構築 - Qiita

Webのルートのディレクトリは下記になる
(SELinuxが有効な場合は変更しない方が面倒が無い?)

/usr/share/nginx/html/


設定
/etc/nginx/nginx.conf

worker_processesはautoで良さそう。
参考 nginx の worker_processes を auto にしたときの挙動 - やまぶろぐ


サービス開始
systemctl start nginx.service

起動時にサービス開始するようにする
systemctl enable nginx.service


HTTPS(TLS)対応
既存の/etc/nginx/conf.d/default.confのserver{}内に下記を追加したらできた。
(公開サーバの場合はセキュリティ設定をもっと絞り上げたほうが良い。)
listen 443 ssl;
ssl_certificate     /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
参考 はてなブックマーク - Bマイナー志向 - 2016年1月30日


リバースプロキシ
同じく/etc/nginx/conf.d/default.confのserver{}内に下記を追加。
location /foo/ {
    proxy_pass https://nishiazabu.e-tix.jp/test/;
}


参考
nginx.confが読めるようになる - 魔法使いの卵
Nginx設定のまとめ - Qiita

2016年11月19日土曜日

chalice お試しメモ

chalice (Python Serverless Microframework for AWS)をAmazon Linuxに入れてHello Worldしたのでメモ。


1. aws configure

Amazon Linuxならaws(AWS CLI)は最初からインストールされている。
configureで認証情報を登録する。

参考 【AWS】CLIの初期設定について(認証情報とコマンド補完) - TASK NOTES


2. chalice

参考 GitHub - awslabs/chalice: Python Serverless Microframework for AWS

必要に応じてrootで作業する。


マネジメントコンソールから確認したところ、下記が登録されていた。

  • API Gateway
  • CloudWatch(のメトリックス)
  • IAM(のロール)
  • Lambda(大きすぎてマネジメントコンソール上では参照・編集できない)

また、実行後にCloudWatchにログが登録された。


アクセス制限はAPI GatewayはAPIキー認証しかできないので、前にCloudFront+AWS WAFを置くか、アプリケーション側でやるか。(ちょっとめんどくさい。EC2くらい手軽にできるとよいのだが。)

不明点

  • API Gatewayのステージを指定してデプロイする方法(設定ファイルを書き換えるしか無い?deployコマンドの引数で指定したいが…)
  • LambdaのVersionかAliasを指定する方法。これができないと、API Gatewayでステージを分けても、みんなLATESTのLambdaに行ってしまってステージを分けた意味がない…


2016年10月30日日曜日

負荷テストツール調査 2016


Goadがおもしろそう。


【ツール】

ab (Apache Bench)
参考 Apache Benchでサクッと性能テスト - Qiita

JMeter
要Java。
参考 JMeter | TECHSCORE(テックスコア)

Goad
EC2からAWS Lambdaを使う。Golang製。
参考 Lambda を利用した分散 Web 負荷テストツール Goad を使ってみた - Qiita

LOCUST
Python製。

Tsung
Erlang製。
参考 Tsung で負荷試験 - Qiita


【サービス】

Shift社の負荷テストサービス
無料。テスト対象と同じドメインのメールアドレスを登録する必要あり。
参考 SHIFTの負荷テストサービス

Load Impactまともに使うなら有料。
参考 ロードテストサービスの Load Impact を使ってみた : まだプログラマーですが何か?


MySQLへの接続の暗号化



基本
MySQLでSSLクライアント証明書を使う - Qiita

※MySQL側のCommon Nameはサーバのホスト名にする


暗号化されていることを確認するSQL
show status like'Ssl_cipher';
MySQL5.6での注意点 MySQL 5.6でSSL接続が有効にならない・クライアントからSSL接続できない。 - ah-2 WindowsのMySQL Query Browserでは、caだけでなく、下記の全てを指定しないと接続できないようだ。
USE_SSL => "Yes" SSL_CA => ca.crtのファイルパス SSL_CERT => client.crtのファイルパス SSL_KEY => client.keyのファイルパス
ファイルパスのバックスラッシュ(¥)はバックスラッシュのままでも、スラッシュにしてもどちらでもOK。 ファイルパスのスペースが含まれていてもOK。 ca.crtは、server.crtとclient.crtの中身を合わせる必要はないようだ。 参考:MySQL :: MySQL Administrator :: 21.4.1 SSL Connections REQUIRE SSLなユーザーだと、MySQL Query Browserの上部メニューからのMySQL Administratorの起動や、逆にMySQL AdministratorからMySQL Query Browserの起動ができない。(直接起動すれば起動できる。)

ブログ アーカイブ

tags