無償SSLサーバー証明書Let's Encryptの普及とHTTP/2および常時SSL化

ssl-thumb

 Webサイトの暗号化(SSL化、HTTPS対応)はこれまでEコマースやプライバシを守る目的で部分的に導入されてきたが、SHA1からSHA2への切り替え、モバイル端末の普及やHTTP/2の登場によって、サイト全体を常にHTTPS通信にする常時SSL化の動きが活発になっている。さらにSSLサーバー証明書を無償で入手可能なLet's Encryptのサービス開始や主要なWebサーバーソフトウェアの安定版でHTTP/2が利用できるようになったことでその動きは加速している。本稿ではSSL化を取り巻く最近の状況を整理し、NginxとLet's EncryptによるHTTP/2&SSL化の実装例も紹介していく。

Packerを使ってVirtualBoxやKVM/Xen向けの仮想マシンイメージを作成する

図1 PackerのWebサイト

 PackerにはVirtualBoxやQEMU(KVMおよびXen)などの仮想マシンイメージを作成する機能が用意されており、仮想マシン作成を自動化できる。今回は、Packerを使ってVirtualBoxおよびQEMU(KVM)用の仮想マシンにOSをインストールしてディスクイメージを作成する例を紹介する。

Chefを使ったDockerのイメージファイル作成を自動化できるツール「Packer」

図1 PackerのWebサイト

 KVMやXen、VMware、VirtualBoxといった仮想化ソフトウェアやDockerなどのコンテナ管理ツールを利用する際には、それら仮想マシンやコンテナを起動するためのディスクイメージファイルが必要となる。今回はさまざまな仮想化ソフトウェア/コンテナ管理ソフトウェアで利用できるディスクイメージファイルを作成できる「Packer」というツールを紹介する。

準備OK? EVコードサイニング証明書の現状とその実際

usb-insert200

Microsoft社が表明したコードサイニング証明書におけるSHA-1のアルゴリズムの利用期限が迫り、またWindows 10において証明書の要件が変更されるなど、証明書に関連するセキュリティ強化に変化が起こっている。本稿では、改めて証明書を取り巻く環境を整理するとともに、必須となりつつあるEVコードサイニング証明書を実際にグローバルサインから取得しながら証明書の利用方法をまとめていこう。

「docker import」コマンドでDockerコンテナをゼロから作る

図1 Dockerコンテナの構造

 Docker向けのコンテナを公開するDocker Hubでは多数のコンテナが公開されており、これらをベースにして独自のコンテナを作成できる。しかし、新規に独自のコンテナを作成したい場合もあるだろう。今回は、Dockerコンテナにおけるファイル/ディレクトリ情報の格納方法について解説するとともに、新規にコンテナを作成するのに必要な作業手順を紹介する。

15分で分かるLXC(Linux Containers)の仕組みとコンテナ作成

図2 LXCによる仮想化

 最近注目されている仮想化技術の1つにLXC(Linux Containers)がある。LXCはコンテナ型仮想化技術と呼ばれるものの1つで、OS上に別の隔離された環境を構築するものだ。今回はLXCの仕組みと、インストール方法、コンテナの作成/起動方法について紹介する。

サーバー設定ツール「Chef」のデータ管理機構「Data Bag」を使う

図2 設定内容をData Bagに分離した場合

 サーバー管理ツール「Chef(シェフ)」は、ファイルに記述した設定内容に応じて自動的にユーザーの作成やパッケージのインストール、設定ファイルの編集などを行うツールだ。今回はChefの応用編として、設定のためのデータなどを一元管理できる「Data Bag」という仕組みを紹介する。

仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する

図2 Mac OS X向けのVagrant配布パッケージ。インストーラが含まれている

 アプリケーションの開発やテストを行うために仮想マシンを利用するのは近年では珍しくない。仮想マシンを利用することで、開発者ごとに個別の環境を割り当てることも容易だが、いっぽうでその分だけ開発・テスト環境を構築する作業が必要となる。今回紹介する「Vagrant」は、仮想マシンの構築と開発・テスト環境の構築をまとめて行える支援ツールだ。

「Elixir Report」をWebアプリケーション向けのクエリ/レポートツールとして活用する

app02

 帳票ツール「Elixir Report」を利用することで、GUIツールでデータベースへのクエリを作成したり、クエリ結果の編集や加工が簡単に行えるようになる。今回はWebアプリケーションからElixir Reportを利用してさまざまなデータに対しクエリを実行したり、それらを元にしたレポートを出力する方法を紹介する。

コードを記述することなしにデータを表やグラフとして出力できる帳票ツール「Elixir Report」

er_repo09

 さまざまなデータをドキュメント化するに当たって、面倒なのがデータを表やグラフといった形に整形する作業だ。特に印刷に向けたPDFなどを作成する場合、そのジェネレータ側で図や表のレイアウトなどを細かく制御する必要がある。そこで活用したいのが、図表のレイアウトや出力機能を持つツールだ。これらは帳票ツールなどとも呼ばれており、既存のシステムと組み合わせることで容易にデータのドキュメント化を実現できる。今回はドキュメントのデザインから出力までをカバーするツール「Elixir Report」を紹介する。

さまざまなログをまとめて集中管理できるログ記録/管理ツール「fluentd」

図2 fluendのアーキテクチャ。ファイルやアプリケーションなどのイベントソースから受け取ったイベントが集約され、条件に応じてさまざまな出力先に出力される

 大規模なサービスを運用する場合、それらのログ管理をどうするか、というのが1つの問題となる。複数のマシンにログが分散すると、その管理や活用が面倒になるからだ。また、クラウド環境ではサーバーのリブートによってローカルのストレージが失われる場合がある。このような場合、別のマシンにログを転送するような仕組みが求められる。今回はこういった場合に有用なログ記録・管理ツール「fluentdを紹介する。

Rubyから「さくらのクラウド」を操ろう

図1 さくらのクラウド API v1.1 ドキュメント

 さくらのクラウドでは、公開されているAPIを利用することでサーバーの作成や各種設定などを自動処理できる。今回はこのAPIをRubyを使って操作する例を紹介する。