K's Atelier

個人的な学習記録

Mattermost

MattermostのHTTPS接続環境をさらっと作ろうと思ったらいろいろと調べることがあったのでメモ。

 

Mattermostの簡単インストール

Install Mattermost via Docker — Mattermost documentation

Docker composeしてしまえば一撃。特別な設定をしなくてよければこれだけ。なのだがさすがにそれではまともな運用にならない。1日研修で使うだけだから終わったら削除します,という場合でも,せめてセキュリティくらいは考えたい。

 

AWSのEC2 instanceに設定されるDNS名は,Let's Encryptでの証明書登録を拒否される

きちんとドメイン名を取得しないとだめなようだ。

ドメイン取得せずにEC2(Amazon Linux 2)でLet's EncryptのSSL証明書発行したらどうなるか試したらやっぱり失敗する #AWS - Qiita

実際Let's Encryptの手順を実行して拒否された。

 

なので,無料証明書を使おうとしたら,ELBを使用することになる。

1台のEC2でもELBを使うメリットについてまとめてみました | DevelopersIO

全体的には無料になってないじゃん,という話もあるが,証明書を導入するために独自ドメインを運用する手間からすれば気楽。

 

Private subnetにEC2インスタンスを配置する時のネットワーク設定

  1. public subnetにNAT Gatewayを設置しておく。これをしないとapt updateできない。
  2. VPC エンドポイントを作成しておく。コンソール操作に必要。LinuxインスタンスならEC2 Instance Connectで接続できればよい。

おまけでEC2 Instance ConnectとSession Managerの違いを調べた。

What is the difference between EC2 Instance Connect and Session Manager SSH connections? | AWS re:Post

 

ということで,構成としては以下になるようだ。

  • VPC
    •  Internet Gateway
    • public subnet
    • private subnet
      • EC2 Instance for Mattermost
      • Interface endpoint for EC2 Instance Connect
    • ELB
    • Target Group for an EC2 Instance
    • Security Group for EC2 Instance
    • Security Group for ELB
    • Instance Profile for EC2 Instance

 

調べているだけで時間が過ぎていく。Cloudは実験環境を一晩寝かせると課金されてしまうので,実験環境をいちいち消しておかないと寝られないのが不便といえば不便。消し忘れが怖い。CloudFormation化しよう。