Carpe Diem

備忘録

2015-01-01から1年間の記事一覧

JMeterをコマンドラインで実行&レポート作成

環境 Ubuntu 14.04 Java 1.8.0_40 JMeter 2.13 JMeterPluginsCMD 1.2.1 準備 JMeterをダウンロードして展開します。 $ wget http://ftp.riken.jp/net/apache//jmeter/binaries/apache-jmeter-2.13.zip $ unzip apache-jmeter-2.13.zip $ chmod +x ./apache-j…

MongoDBのインデックス2

概要 MongoDBのインデックスにはIndex IntersectionやCovered Indexなんてのもあるので調べてみました。 環境 Ubuntu 14.04 MongoDB 2.6.8 Index Intersectionとは 1つのクエリーで2つのインデックスを使ってくれる機能で、より効率的にクエリーを処理でき…

TerraformでAWSのVPCを設定

概要 TerraformでVPCの設定をします。 基本的な設定ですが、サブネットは一応AZを考慮して2つ作っています。 環境 Ubuntu 14.04 Terraform 0.3.7 設定 以下の設定で構築します。 VPC 設定項目 設定値 名前 vpc-1 ネットワークの範囲 10.0.0.0/16

最新のTerraformを導入する

環境 Ubuntu 14.04 Go 1.4.2 Terraform 0.4.0 事前準備 Goがインストールされている必要があります。 Go言語環境の構築を参考にインストールしてください。 インストール $ go get github.com/hashicorp/terraform バージョンを確認します。 $ terraform ver…

TerraformでAMIをセットアップ

概要 Terraformを使ってインスタンスを作成する方法です。 環境 Ubuntu 14.04 Terraform 0.3.7 インストール TerraformでHerokuをセットアップを参考にしてください。 .tfファイルの作成 .tfファイルを作成します。今回はaws.tfとします。 access_key、secre…

AWS-CLIを使えるようにする

AWS

環境 OSX 10.10.2 Python 2.7.6 aws-cli 1.7.15 インストール pythonのpipが必要なのでインストールしてからawscliをインストールします。 $ sudo easy_install pip $ sudo pip install awscli 確認します。 $ aws --version aws-cli/1.7.15 Python/2.7.6 Da…

TerraformでHerokuをセットアップ

概要 Terraformというオーケストレーションツールを使います。本当ならAWSで試したいのですが無料枠をすでに使いきっていたので今回はHerokuで。 環境 OSX 10.10.2 Terraform 0.3.7 インストール バイナリパッケージを直接ダウンロードしてPATHを通します。 …

MongoDB 3.0 をインストール

概要 3.0がリリースされたのでインストール方法をメモ。 Warningを消すのがちょっと面倒です。 環境 Ubuntu 14.04 MongoDB 3.0.0 インストール $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 $ echo "deb http://repo.mong…

Logentriesでエラー監視

概要 Logentriesはログを監視してエラーなどを通知してくれるサービスです。似たようなサービスではAirBrakeがあります。 AirBrakeは有料版しかないので無料版のあるLogentriesを試してみます。 環境 Ubuntu 14.04 Nginx 1.4.6 アカウント作成 Logentriesで…

MongoDBのインデックス

概要 MongoDBのインデックスをつける上で 複合インデックスの時はインデックスの順番に気をつける {a: 1, b: 1}の反対{a: -1, b: -1}は使えるけど{a: 1, b: -1}は使えない などいろいろ気をつける点が多く、一度しっかり学んでみましたのでそのメモ。 基本的…

AnsibleでNginxをソースからインストール

概要 AnsibleでNginxをソースからインストールする場合、冪等性はどうなるんだろう?と思って作ってみました。 実際作ってみたら結構色んなモジュールを使って勉強になったのでそのメモとして。 今回は「NginxでRTMPストリーミングをする」をAnsibleでできる…

Elasticsearch のクラスタを構築する

概要 Vagrant上にElasticsearchのクラスタを構築してfailoverを検証してみます。 環境 Ubuntu 14.04 Elasticsearch 1.4.4 Vagrant 1.7.2 以下の3台でクラスタを構築します。 ノード IP web1 192.168.33.10 web2 192.168.33.11 web3 192.168.33.12

MongoDBでシャーディング

概要 MongoDBでシャーディングを構築します。 MongoDBのインストールですでにインストールしている前提で進めます。 環境 Ubuntu 14.04 MongoDB 2.6.7 今回は1台でポートを別にして複数プロセスで構築します。 configサーバは1 or 3台必要(2だとサポー…

VeraCryptを使う

概要 マルチプラットフォーム対応の暗号化ツールであるTrueCryptがどういうわけか開発停止になったので、その後継となるVeraCryptを使うことにします。 環境 Ubuntu 14.04 VeraCrypte 1.0f-1 インストール 以下のwgetのURLが使えない時はSourceForgeから直接…

Vagrant で複数VMを一度に立ち上げる

概要 ロードバランサの検証だったりレプリケーションの検証をするときに複数のVMを立ち上げる必要がありますが、それぞれ別々に作って起動するのは面倒ですよね。 Vagrant だと設定ファイルを編集すれば一度にできてしまうのでご紹介します。 環境 Ubuntu 14…

MongoRiverを使う

概要 MongoDBのデータをElasticSearchに流し込むMongoDB River Pluginを扱います。 あるデータに対して検索機能を追加したいけど、MongoDBで全文検索はちょっと。。という時に便利です。 環境 Ubuntu 14.04 MongoDB 2.6.7 Java 1.8.0_31 ElasticSearch 1.4.2…

エイリアスを用いたマッピング変更

概要 仕様変更でフィールドの追加やマッピングの変更など発生しますが、Elasticsearch に関わらずほとんどの検索エンジンは検索・インデックス仕様の変更をする際、インデクスを再作成する必要があります。 エイリアスを利用すると、その変更をダウンタイム…

Elasticsearchのアナライザの設定

概要 Elasticsearchでアナライザを設定する方法です。 N-gramや形態素解析などありますが、今回は単に設定する方法だけを紹介します。設定方法は主に以下の3通りがあります。 configで設定する インデクス全体に設定する 各フィールド個別に設定する これら…

MongoDBでTTL

概要 TTL(Time To Live)という自動でデータを消す仕組みを利用します。 データによっては「過去xx日までは必要だけどそれ以降は不要」みたいなものがあると思います。 例えばログなど。 そういったものに対して使えます。 環境 Ubuntu 14.04 MongoDB 2.6…

ElasticSearch のインストール

概要 簡単に全文検索を可能にしてくれるElasticSearchの実装です。 機能が多い分説明も増えるので少しずつ紹介していこうと思います。 環境 Ubuntu 14.04 ElasticSearch 1.7.2 Java 1.8.0_60

OpenID Connect の署名検証

概要 OpenID Connectで必須なJWTの検証方法です。 以前書いた「Node.jsでOpenID Connect認証」を前提としています。 検証方法は主に2つあります。 Googleの検証用エンドポイントを使う 公開鍵を使い自分で検証する 公開鍵の方はさらに2つやり方があるので…

OpenIDやOAuthやらの比較

概要 色んな種類がありますが、各手法の流れ、メリット・デメリットを整理するためにまとめました。 今回比較するのは以下の4つです。 OpenID OAuth2.0を用いた認証(Authorization Flow) OAuth2.0を用いた認証(Implicit Flow) OpenIDConnect シーケンス…

Web上でシーケンス図を作成する

UML

概要 処理を説明するシーケンスをサクッと作れたらいいなぁと思って探したら見つけました。 使用するサービス WebSequenceDiagramsというサービスを使用します。

HLSでストリーミング

概要 スマホでストリーミングを再生する場合はHLS(HTTP Live Streaming)が流行っています。 なので今回はHLSでのストリーミングを試してみます。 HLSで再生する場合、以下のファイルが必要になります。 プレイリストファイル(.m3u8) セグメント化した動画…

JW PlayerでRTMPストリーミングを再生する

概要 前回はサーバ側を実装したので今回はクライアント側を実装します。 JW Playerというプレーヤを使うと簡単に再生ができます。 以下の様なプレイリスト表示をするのが今回の完成形です。 環境 Ubuntu 14.04 Nginx 1.7.9 JWPlayer 6.11

Private Repository で go get

問題 作業リポジトリで依存パッケージを全部アップデートしようと以下のコマンドを実行したところ $ go get -u ./... 以下のようなエラーが出ました。 package github.com/hoge/fuga/package: /home/vagrant/go/src/github.com/hoge/fuga is from git@github…

NginxでRTMPストリーミングをする

概要 RTMPでストリーミングを試してみます。 環境 Ubuntu 14.04 Nginx 1.7.9 RTMP対応のNginxのインストール まずビルドに必要なパッケージをインストールします。 $ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev unzip