13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rocket.Chatを1行でAWS上に導入

Posted at

Rocket.Chatとは

Lightblue Technologyではこれまで社内のコミュニケーションツールとしてslackを使ってきました。
しかし、インターン生が増えたため、無料枠で使うには限界が来ていました。そこで、有料化を考えたのですが、1人あたり850円/月かかるんです。インターン生が多く在籍するLightblue Technologyでは「1人あたり」という課金体系が使いづらいです。

そこで、RocketChatの導入を決めました。RocketChatは、slackのようなチャット機能を有するOSSです。
RocketChatはdockerイメージが提供され、また、様々なPaaSに対応しているため、比較的容易に導入することができます。
スクリーンショット 2019-05-24 15.05.11.png

導入手順

  1. EC2立ち上げ
  2. Rocket.Chatインストール
  3. Route53、ロードバランサー、AWS Certificate Managerで独自ドメイン化・SSL化

EC2立ち上げ

Rocket.Chatのミニマム要件を見ると、

VPS (minimal)
Single core (2 GHz)
1 GB RAM
30 GB of SSD
The above minimal virtual configuration, when not over-provisioned by provider, is ideal for small deployments of up to 200 users, up to 50 concurrently active and minimal level of mixed uploads, sharing, and bot activities.

とあるので、t2.microを選んで、イメージにはUbuntu, 16.04 LTSを選びました。
セキュリティグループでは、設定時にssh用の22番とRocket.Chat用の3000番をあけました。
そして、ElasticIPを設定し、完了です。

Rocket.Chatインストール

PaaS Deploymentsdocker containerもあるのですが、ここではRocket.Chatを1行でAWS上に導入するために、マニュアルインストールにあるUbuntu向けの
Snapsを用います。すると、
sudo snap install rocketchat-server
これだけでインストール終了です。
あとは、
http://[EC2のIPアドレス]:3000
にアクセスするだけでRocket.Chatの設定ウィザードが開きます。ちなみに**最初に開いたユーザが管理者となります。**これは注意が必要です。
他のインストール方法では、事前にホスト先のURL等を設定しますが、これはアクセスした後のRocket.Chatの管理画面から変更可能です。

独自ドメイン・SSL化

あとは、Route53、ロードバランサー、AWS Certificate Managerで独自ドメイン・SSL化します。
これをやらなくても、Rocket.Chatは使えますが、警告が出たり、招待メールが迷惑メールに送られたりするので、やったほうがいいです。
僕の場合はこれを機に、お名前.comで管理していたドメインのDNSとドメインをRoute53に移管しました。ドメインの移管は時間がかかるイメージでしたが、10分くらいで反映されていました。基本的にはRoute53の設定ウィザードに従います。

AWS Certificate Managerから証明書のリクエストを行い、DNSをRoute53に変更したので、DNSによる認証を選び、Route53で指定されたCNAMEを編集します。

EC2の設定画面からロードバランサーを設定し、クライアントからのリスナーをTLSプロトコルで443ポートを指定し、証明書にAWS Certificate Managerで取得したSSL証明書を指定します。
そして、ターゲットグループにRocket.ChatをたてたEC2インスタンスを指定し、TCPプロトコルで3000ポートを指定します。

おわり

以上で、独自ドメイン・SSL化された状態でRocket.Chatが使えます。
t2.microであれば無料枠の範囲だったりするので、かなり安く運用できそうです。
次はRocket.Chatの初期設定のベストプラクティスを書きたいと思います。
初期設定では招待メールが送れなかったり、新規登録が自由にできたりするので。。。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?