Tech Sketch Bucket of Technical Chips by TIS Inc.

えっ?使えるサービス多すぎ…!?なAWSでエンドポイント指定を一発でキメる!-- AWS SDK for Ruby編 --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

こんにちは、eXcale開発チームの平井です。

AWSのAPIは、各サービスのリージョン毎にエンドポイントが用意されています。 (サービス/リージョン毎のエンドポイントの情報は、公式ドキュメント(Regions and Endpoints - Amazon Web Services General Reference)で公開されています。)

そのため、使用するサービスのリージョンにあわせて、エンドポイントの情報が必要になります。 今回は、AWS SDK for Rubyでエンドポイントを設定する方法についてご紹介します。

MongoDB Tips -- 配列データを表示する場合に便利な $ ( operator ) --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。




 こんにちは、eXcale開発チームの平井です。

 今回は、MongoDBに格納された配列データを表示する場合に便利な、$ ( operator ) をご紹介します。
 

Sphinxで作成したドキュメントをAmazon S3でWebに公開する

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

 こんにちは、eXcale開発チームの平井です。

 Sphinxは、美しいドキュメントを簡単に生成することができるツールです。reStructuredTextというマークアップ言語で文書を作成すれば、HTMLやPDF、ePubといった複数の形式に出力する事ができます。

 今回は、Amazon S3のWebホスティング機能とRubyのライブラリ(s3sync)を使用して、Sphinxで作成したHTMLドキュメントを、かんたんにWeb公開する方法をご紹介します。

MonitのアラートをHipChatにも通知する

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの平井です。

Monitは、サービスの監視を行うためのユーティリティツールで、システムの状態・状況に応じて特定のコマンドを実行したり、アラートメールを送信したりすることができます。インストールや設定が簡単にできるといった特徴を持ちます。

今回は、このMonitでプロセスの死活監視を行い、プロセスダウンの際にメールとHipChatに通知する方法をご紹介します。

AWS Tips -- AWS SDK for RubyでELBに設定したSSLサーバ証明書を更新する --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの平井です。

AWSでは、ELBのSSL Terminationの設定をして、SSLサーバ証明書を導入することでHTTPSのアクセスを扱うことが簡単にできます。
その設定方法は、公式ドキュメントで紹介されています。

ご存知の通りSSLサーバ証明書には期限があり、定期的に更新する必要があります。今回は、そのELBに設定したSSLサーバ証明書を更新するお話です。

RSpec Tips -- パラメタライズドテストでテストコードをシンプルにする --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。


eXcale 開発チームの平井です。

Ruby のテストフレームワークで人気の RSpec について、ハマりそうな点や知っておくと便利な機能をご紹介します。
今回は、パラメタライズドテストとすることで、冗長になりがちなテストコードをシンプルに書く方法をご紹介します。 FizzBuzz問題を例題としながら、rspec-parameterized を使う例を紹介します。

JobSchedulerのメールの添付ファイルの拡張子を変える

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの平井です。

今回は、オープンソースのジョブ管理ツールであるJobSchedulerにおいて、JobSchedulerから送信されるメールの添付ファイルの拡張子を変える方法をご紹介します。

AWS Tips -- AWS SDK for RubyでHiveスクリプトを実行する --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale開発チームの平井です。

Amazon Elastic Map Reduce(EMR)上で、Hiveを実行する方法はいくつかあります。
公式ドキュメントでは、AWSのManagement Consoleを用いる方法とAmazon Elastic MapReduce Ruby Client ( EMR CLI )を用いる方法が紹介されています。

CLIで実行する際は注意が必要で、CLIはRubyの1.8.7が必要になります。rbenvやrvmを利用すれば、それほど手間をかけずに1.8.7の環境を準備することはできますが、とはいえ、1.8.7は既にサポートが終了しているバージョンですので、1.8.7を使用するには抵抗があります。

というわけで、今回はAWSから提供されているAWS SDK for Rubyを使用してAmazon EMRでHiveを実行する方法をご紹介します。

AWS Tips -- IAMユーザで他のユーザにEMRクラスターを見せる方法 --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。


eXcale開発チームの平井です。

eXcale では、情報を集計・分析する目的で、AWSが提供するAmazon Elastic MapReduce(EMR)を利用しています。今回は、そのEMRをIAMユーザで使用する際に気をつける点についてご紹介します。

Capistranoで実行結果をファイル出力しつつ終了ステータスを取得する

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale開発チームの平井です。

eXcale では、その裏側の仕組みで、サーバのセットアップやアプリケーションのデプロイ処理にCapistranoを使っています。今回の記事は、そのCapistranoに関するTIPSのご紹介です。

Capistranoでコマンドを実行する際に、その実行ログを特定ファイルに保存しつつ、コマンドの実行結果でその後の処理を振り分けたいといったことは無いでしょうか。今回は、Capistranoで実行したコマンドの結果を標準出力とファイルに出力しつつ、対象コマンドが成功/失敗したかの終了ステータスを扱う方法をご紹介します。