Mattermost構築の流れ(自動編)
事前準備
注意事項
- 本ドキュメント内で
vi
やgit
コマンドが登場しますが、VSCODEのUIで操作してもらってOKです。 - Mattermost構築の流れ(手動編)Part1 ドメインの取得、ACM、Route 53 - ジャギ様の部屋が実施済であること。(ACMは不要です)
- Mattermost構築の流れ(手動編)Part4 Lambda、Cloud9 - ジャギ様の部屋でS3に
mattermost-create-initdata.zip
がアップロード済であること。 - 手動で作ったものは念のため削除してください。名前が重複すると動かないかもしれないからです。削除したくない場合はとりあえず実行してみましょう。
- Lambdaは削除してください。動かないことを確認しています。名前を変えれば大丈夫かも
SNS
、SES
、Route 53
は削除しないでください。Route 53
のサブドメインは削除が必要です。
- cloudformationとansibleを実行するときはWSLから実行してください。
WSLから
EC2
にsshできる状態にしてください。開始時の状態
コード取得
$ git clone https://github.com/tmoritoki0227/mattermost-cf-playbook.git
$ cd mattermost-cf-playbook
自分用にカスタムする箇所
$ vi ansible-cf-mattermost.yml
設定箇所 | 設定項目 | 用途 |
---|---|---|
Parameters | KeyNameのdefault | 秘密鍵の名前 |
EnableMultiAzのdefault | DBのマルチAZ設定。デフォルトはシングル構成 | |
DomainNameのdefault | Mattermostで利用するドメイン | |
SubDomainNameのdefault | MattermostにアクセスするときのURL。サブドメイン | |
HostedZoneIdのdefault | ホストゾーンのID。Route53で確認できます | |
SNSTopicNameのdefault | SNSトピック | |
TestDataS3BucketArnのdefault | Lambdaのzipをアップロードしたバケット名 | |
S3BucketNameのdefault | Lambdaのzipをアップロードしたバケット名 |
ネットワーク等のAWSリソースの作成
cloudformation実行
$ aws cloudformation deploy \ --template-file ansible-cf-mattermost.yml \ --stack-name mattermost \ --capabilities CAPABILITY_NAMED_IAM
コマンド実行後、cloudformationのスタックで進行状況を確認してください。20分程度かかります。
Lambda実行
データベースにデータを投入するために動かします。
EC2のセットアップをする
PCからansible実行する場合
- 秘密鍵の場所を指定する必要があります。
- prodファイルサーバ名とRDSエンドポイントを修正する必要があります。スタックの
出力
に表示された名前をコピペするか、EC2、RDSの画面からコピペします。
# サーバ名とRDSエンドポイントの修正 $ vi inventories/prod # ansible実行 $ ansible-playbook -i inventories/prod -u ec2-user --private-key="~/.ssh/id_rsa" site.yml
CodeBuildからansible実行する場合
- 手動版のCodeBuildの実行手順と同じ手順です。
動作確認
- ブラウザにアクセスします。
- 例)https://toki.jagisama.com tokiは自分で設定したサブドメインに読み替えること。
- Mattermostのログイン画面が表示されればOK