ジャギ様のAWSチャレンジ

awsに関したことを書きます。

Mattermost構築の流れ(自動編)

Mattermost構築の流れ(自動編)

事前準備

注意事項

コード取得

$ 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の実行手順と同じ手順です。

動作確認