RobomongoでObjectRocketのMongoDBインスタンスを可視化・管理する方法
MongoDB Inc.はバージョン2.6のリリースで数多くの優れたエンタープライズ向け機能を導入しましたが、データベースを管理するためのデスクトップアプリケーションだけは依然として提供されていませんでした。そこで登場するのが、クロスプラットフォーム対応のオープンソースMongoDB管理ツール「Robomongo」です。本記事では、RobomongoをObjectRocketのMongoDBインスタンスと統合する手順をわかりやすく解説します。
事前準備:必要な情報を控えておく
まず、ObjectRocketのコントロールパネルから以下の情報をメモしておきましょう。
- データベース接続文字列(SSL接続と非SSL接続ではポート番号が異なる点に注意)
- データベースのユーザー名とパスワード
Robomongoのインストールと基本設定
お使いのOSに合わせてRobomongoをダウンロードし、インストールしてください(執筆時点の最新バージョンは0.8.4で、本手順はこのバージョンに基づいています)。
Robomongoを起動すると、最初に「MongoDB Connections」ダイアログが表示されます。画面左上の「Create」リンクをクリックしましょう。

「Create」をクリックすると、接続設定(Connection Setting)画面が表示されます。ここではインスタンス名を「ObjectRocket」としましたが、複数のデータベースを管理する場合は、より具体的な名前を付けることをおすすめします。
「Address」フィールドに、先ほど控えたデータベース接続文字列を入力します。SSLで接続する場合はポート番号が異なる点に注意してください。通常、SSLポートは平文ポートに10000を加えた番号になります。この例では、平文ポートが23042、SSLポートは33042となります。

認証情報の設定
次に「Authentication」タブを選択し、先ほど控えておいたユーザー認証情報を入力します。

SSL接続を利用する場合
SSLを使用したい場合は、上部の「SSL」タブを選択し、「Use SSL Protocol」にチェックを入れます。なお、ObjectRocketは現在SSL証明書に対応していないため、証明書関連の欄は空のままで問題ありません。

接続テストと保存
「Test」ボタンを押して、設定が正しいかどうかを確認します。すべて正常に動作していれば、下記のような診断(Diagnostic)メッセージボックスが表示されます。

問題がなければ「Save」を押して接続を保存しましょう。これで、優れたデスクトップ型MongoDB管理アプリケーションをObjectRocketインスタンスに接続できました!
固定IPがない場合の代替手段:SSHトンネル経由での接続
しかし、厳格なACL(アクセス制御リスト)を運用しており、複数の場所から作業する場合や、自宅のブロードバンド回線が固定IPを持っていない場合はどうすればよいのでしょうか?その場合、Robomongoで作業するたびに、変化するグローバルIPアドレスをObjectRocketコントロールパネル上のインスタンスACLに都度追加し続ける必要があり、非常に手間がかかります。
そこで有効なのが、固定IPを持つLinuxサーバー(例:アプリケーションサーバーの1台や、プロキシ用途で作成したクラウドサーバー)を経由して、SSHトンネルでインスタンスに接続するようRobomongoを設定する方法です。以下にその手順を説明します。
1. プロキシサーバー側の準備
まず、固定グローバルIPを持つLinuxサーバーにユーザーを作成します。このサーバーが既存のACLルールでアクセス許可されていない場合は、サーバーのIPアドレスをインスタンスのACLに追加することを忘れないでください。
2. SSH鍵ペアの生成と設置
SSHの公開鍵/秘密鍵ペアを生成し、公開鍵をプロキシホストとなるLinuxサーバーにインストールします。SSH鍵の設定方法については、信頼できるチュートリアル記事を参考にするとよいでしょう。
3. RobomongoのSSH設定
次に、Robomongoで作成したSSHプロキシホストと鍵を使用するよう設定します。

4. 接続テストと保存
再度接続テストを実行し、エラーなく完了したら「Save」を押して設定を保存します。これで、SSH経由でプロキシホストを介してObjectRocketインスタンスへアクセスするRobomongoの構成が完了しました。
-
ObjectRocketのElasticsearchでKibana 4をDockerコンテナで稼働させる方法
数百万件(あるいは数十億件!)にも及ぶElasticsearchのドキュメントを、見栄えの良いチャート・グラフ・テーブルに変換したいとお考えなら、答えはKibanaです。KibanaはElastic社が提供するプロダクトであり、Elasticsearchと密接に連携し、膨大なデータを直感的に分析するための使いやすいインターフェースを提供します。現在、ObjectRocketのすべてのElasticsearchインスタンスにはKibana 3がプリロードされており、各HTTPエンドポイントの「/_plugin/kibana」からアクセスできます。しかし、Kibana 4には多くの改善点や新機能が
-
FluentdとObjectRocketで実現するハイブリッドクラウドのログ集約
本記事は Hart Hoover と Ryan Walker による共著です。New RelicアラートをRackspaceサポートへ連携するサービスRackspace の DevOps Automation チームは最近、New Relic から発せられたアラートを Rackspace サポートに通知する新しいサービスを発表しました。このサービスでは、アラートが発生すると自動的にチケットが作成され、DevOps エンジニアが対応します。たとえ深夜3時にアラートが発生しても、お客様は安心して眠ることができるのです。さらに、お客様の環境から収集した他のデータポイントと組み合わせることで、エンジニ