Amazon ECSを使ってマーケティングオートメーション・ソフトウェアMauticを5分で立ち上げる

mautic-eyecatch

はじめに

昨今大きな注目を浴びているマーケティングオートメーション。様々なソフトウェアやサービスが提供されていますが、オープンソース(GNU General Public License(GPL) Version 3)で公開されているマーケティングオートメーション・ソフトウェアがMauticです。

Open_Source_Marketing_Automation__Mautic

ソフトウェアなので自分の好きな環境のインストールして使うことができます。公式サイトではZipファイルでダウンロードすることができますが、公式githubリポジトリでDockerイメージでも配布されています。

今回はそのMauticを、Amazon EC2 Container Service(Amazon ECS)を使って5分で立ち上げてみました。

やってみた

今回実行した環境はAmazon Linux on EC2です。

ECSクラスタの構築

まずECS-CLIをインストールします。

$ sudo curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-latest
$ sudo chmod +x /usr/local/bin/ecs-cli
$ ls -alF /usr/local/bin/ecs-cli
-rwxr-xr-x 1 root root 13553856  9月  6 06:13 /usr/local/bin/ecs-cli*

ECS-CLIを使うための準備として、AWS環境の認証情報を設定します。

$ aws configure
AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: ap-northeast-1
Default output format [None]:

ecs-clusterという名前で、東京リージョンに、ECSクラスタを定義します。

$ ecs-cli configure --region ap-northeast-1 --cluster ecs-cluster
INFO[0000] Saved ECS CLI configuration for cluster (ecs-cluster)

インスタンスタイプがt2.mediumで、1台構成で、ECSクラスタを起動します。

$ ecs-cli up --keypair YOUR_KEYPAIR --capability-iam --size 1 --instance-type t2.medium

ComposeでMauticを起動

Mauticは、Mauticのコンテンツが展開されたWebサーバと、MySQLデータベースが必要になります。Docker hubで公開されているDocker Mautic ImageはDockerfileの中でApachefpmにlinkしており、WebサーバとMauticコンテンツがセットになった状態で提供されています。

MySQLは本番用途であればデータの永続化が必要ですし、また冗長化も考えると、RDS for MySQLを使うのが良いでしょう。今回はお手軽にMySQLコンテナを起動し、Mauticコンテナとlinkさせます。

Docker Composeファイルを作成します。

$ vi docker-compose.yml
mautic:
  image: mautic/mautic
  links:
    - mauticdb:mysql
  ports:
    - 80:80

mauticdb:
  image: mysql:5.6
  environment:
    MYSQL_ROOT_PASSWORD: PASSWORD

ecs-cli composeでMauticコンテナとMySQLコンテナをAmazon ECS上に起動します。

$ ecs-cli compose --file docker-compose.yml up

確認。MauticコンテナとMySQLコンテナが起動していることがわかります。またECSクラスタにあるEC2インスタンスのPublic IPもわかります。

$ ecs-cli compose ps
Name                                           State                Ports                     TaskDefinition
cb87f7e5-022c-4d5d-b8df-359105128e76/mautic    RUNNING              52.198.111.XX:80->80/tcp  ecscompose-mautic:1
cb87f7e5-022c-4d5d-b8df-359105128e76/mauticdb  RUNNING                                        ecscompose-mautic:1

Mauticにアクセスする

Webブラウザで、ECSクラスタにあるEC2インスタンスのPublic IPにアクセスします。Environment Check画面が表示されます。「Ready to Install!!」と表示されているはずなので、[Next Step]ボタンをクリックします。

Mautic

Database Setup画面が表示されます。[Database Password]欄に、Composeファイルで定義したパスワードを入力し、[Next Step]ボタンをクリックします。

Mautic 2

Administrative User画面が表示されます。管理者となるUserの情報を入力し、[Next Step]ボタンをクリックします。

Mautic 3

Email Configuration画面が表示されます。適当に設定して[Next Step]ボタンをクリックします。

Mautic 4

「Well Done!」と表示されます。[Proceed to Mautic]ボタンをクリックします。

Mautic 5

ログイン画面で、作成した管理者Userのユーザー名とパスワードを入力し、[login]ボタンをクリックします。

Mautic 6

Mauticのダッシュボードが表示されました!

Mautic 7

最後に

ということで、Amazon ECSを使って5分でMauticを立ち上げることが出来ました。簡単!