はじめにNginx でロードバランサを構成する Webサーバ1号機の作成 Webサーバ2号機の作成 ロードバランサの作成 ロードバランサとWebサーバの起動 Web アプリケーションの準備Docker でアプリケーションをビルドするDBサーバの準備 ロードバランサとアプリケーションサーバの起動 まとめ はじめに 前回はDocker のインストールからイメージビルド・コンテナ起動・Compose までの流れをみてきました。blog1.mammb.com 今回は以下のような、一般的な Web アプリケーションの開発環境を構築していきます。 前回の記事とあわせて、Docker の活用方法を理解いただければと思います。Nginx でロードバランサを構成する 最初に、単純な Web サーバをNginx でロードバランシングする環境を作成して動作を見てみます。 このような構成となります。

nginx でリクエストを複製できるモジュール「ngx_http_mirror_module」を使うと,簡易的な「Shadow Proxy」を構築することができる.例えば,本番環境のリクエストの一部を開発環境に流せるようになる.この「ngx_http_mirror_module」はnginx 1.13.4 で実装された機能で,2017年8月リリースなので,最近のバージョンだとデフォルトで使えるようになっている.今回は「リクエストの複製」を試すため,Docker Compose を使って検証環境を構築した.nginx.org 検証環境 今回Docker Compose を使って,nginx と Sinatra を起動する検証環境を構築した.コンテナは計3種類で,以下の構成図にまとめた.基本は Frontend と Backend でリクエストを処理し,今回はMirror にもリクエス

こんにちは!!こんにちは!!インフラエンジニアのyamamotoです。 Let's Encrypt、いつも活用させていただいております! ただ、証明書を取得するときにサーバー上でいろいろ作業をしなければなりません。さらにdocker環境上ではどうするんだ!?となるかと思います。 そこで、dockerコンテナでもLet's Encryptを簡単に使えるように整備してみました。 既存のイメージでLet's Encrypt組み込み済みのものもありますが、ここではあえて自前で作ってみます。Dockerfileまわりdockerイメージは、nginxのオフィシャルイメージを元に、Let's Encryptで必要なプログラムのインストールと、ちょっとひと工夫入れた起動スクリプトを組み込みます。Dockerfile FROMnginx:latest ENV LETSENCRYPT_HOSTS
Nginxへの変更に伴うリバースプロキシのテストの改善 SREグループの菅原です。クックパッドではブラウザ用Webサイトのリバースプロキシ用のWebサーバとして長らくApacheを使っていたのですが、最近、Nginxへと変更しました。Nginxへの変更に当たって、構成管理の変更やテストの改善を行ったので、それらについて書きたいと思います。 リバースプロキシのリニューアルについて まず、ブラウザ用Webサイトの基本的なサーバ構成は以下のようになります。 リバースプロキシはELB経由でリクエストを受けて、静的ファイルの配信やキャッシュサーバ・Appサーバへの振り分けを行います。 リバースプロキシとして利用されているApacheは、長年の改修により設定が煩雑なものとなっており、設定の追加や変更にコストがかかる状態になっていました。 また、Apacheの設定ファイルはItamaeでは管理されて

ローカルにnginx やmysql が起動していたり、gem install のためだけ に cmake や icu4c を brew install するのは嫌になったので、三連休で 出来るだけDockerize しました。仕事の素振りも兼ねています。nginx# このブログの記事を書く時のプレビューや、雑多なhtml ファイルの表示 に使っています。 今まで $ brew installnginx して、nginx.conf も別途管理していまし たが、以下のような雑なdocker-compose.yml で、雑にマウントするだけ で良くなりました。 version: '3' services:nginx: image:nginx:alpine ports: - 8080:80 volumes: - /Users/masutaka/Sites:/usr/share/n
サービス環境での事例も耳にすることが多くなったDocker ですが、皆さんの現場でも活用されてますでしょうか?ヌーラボでは2014年の夏にローンチした開発者向けのウェブサイトであるNulab Developers にてDocker を利用したブルーグリーン・デプロイメントを行っています。本エントリではサイト更新時のワークフローなども含めその全体像を紹介します。 ミドルウェアの構成 上図にあるとおり EC2 インスタンス上にブルーとグリーンのDocker コンテナを常時二つ上げており、同じインスタンス上にnginx がリバースプロキシとして動いています。ウェブサイトの構築には Drupal を利用しており、ブルーとグリーン環境内の Drupal が利用するMySQL のデータベースをおのおの用意しています。Docker のイメージは baseimage-docker に Apac

現実的なWebサービス環境において、Docker化によるパフォーマンス低下がどの程度のものか調査するために、 ISUCON4 の予選問題のうち、Nginx とMySQL 部分をDocker 化してベンチマークをとってみた。 典型的なWebサービスシステムの3層構造(Proxy, App,DB)を構築し、ベンチマーカーにより高ワークロードを実現できるので、ISUCON の予選問題は適当な題材といえる。Docker のパフォーマンスについて留意することは先日書いたエントリに全て書いてる。 上記のエントリを要約すると、Docker のパフォーマンスについて重要なこととは storage-driver の選択 (AUFS or Devicemapper or ...) Volume の ON / OFF AUFS などの差分ファイルシステムをバイパスするかしないか Hostnetwor

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く