本日は“Share Diet”に使われた技術やツールの概要(実装編)に続きまして、インフラ編を書きたいと思います。
1.Docker (コンテナベースの仮想化技術)
こちらは2~3年前ほどから注目され始め、ずっと勉強してみたいと思っていたコンテナベースの仮想化技術です。素早く仮想環境が作成・削除でき、同じ環境を簡単に作ることができます。
DockerHubというサイトでは様々な環境(イメージ)が公開されており、触ってみたい環境があれば手軽に試すことができます。
“Share Diet”のLaravel環境やこのブログ等もDockerによって環境構築されています。何かを作るとなったときに開発環境を構築するのが結構億劫だったりするので、ぜひdockerを使いこなしすぐに環境構築できるようにしちゃいましょ~
2.Nginx (ウェブサーバー ・ リバースプロキシサーバー)
Apacheと並び近年使われるようになったNginxをリバースプロキシサーバーとして採用しました。こちらも公開されているDockerコンテナを使いました。( jwilder/nginx-proxy)
普段はApacheをよく使うので、話題のNginxを使ってみたいなーということで今回はNginxを使うことにしました。
Apacheとの比較でよく言われるのが、Apacheはリクエストごとにプロセスを割り当てていくので、大量のリクエストが来た時にリソースが枯渇してしまうが、Nginxは1プロセスの中でリクエストごとにイベント処理として扱うので、大量のリクエストに強いと言われています。
3. Let’s Encrypt (SSL/TLS証明書)
HTTPS通信をするために、SSL/TLS証明書を発行を無料で提供してくれるLet’s Encryptを利用しました。
証明書は年間で数千円の費用がかかるのが割りと普通で敷居が高かったのですが、Let’s Encryptではドメイン名を持っていれば無料で簡単に証明書を取得できる仕組みを提供しています。Let’s Encryptの技術顧問にはシスコやMozillaの方も参加しており、信頼性も高いといえるでしょう。
日本語のポータルもあり、Let’s Encryptの仕組みから使い方までわかりやすく説明してくれているので、気になった方は一読することをおすすめします。
もちろんこちらもdockerのコンテナを利用しました!(jrcs/letsencrypt-nginx-proxy-companion)
4. ConoHa (VPSサーバー)
https://www.conoha.jp/referral/?token=U7MVjXcJ6TJey5fmNgJhG6D.DzkxDBUNnLohe6p.LQiTXmyqVXQ-LDM (紹介用)
サーバーとしてConoHaのVPSサーバーを借りて、その上でdocker環境を構築しました。ConoHaは月額630円のプランからありお手軽に始めることができ、このはちゃんがかわいいという特徴があります。
また、VPSのコントロールパネル機能はAWSほど複雑ではなく、サーバー構築初心者には程よい感じではないのかなと思います。このはモードというコントロールパネルに常にこのはちゃんが表示される素晴らしい機能もあります。
上記のURLは紹介用となっており、そこから登録していただくと1000円クーポンが着くので、興味があれば登録お願いします~