Docker on EC2のCloudFormationテンプレート

Docker on EC2のCloudFormationテンプレートを作成しました。EC2上でさくっとコンテナを起動したいときに使えると思いますので、こちらにアウトプットします。
2019.02.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、坂巻です。

Docker on EC2のCloudFormationテンプレートを作成しました。EC2上でさくっとコンテナを起動したいときに使えると思いますので、こちらにアウトプットします。

構成図

今回のテンプレートで作成される環境は以下のような構成です。 02

CloudFormationテンプレート

テンプレートはGitHubに格納しています。docker構築箇所について簡単に説明します。以下、テンプレートの抜粋です。

Docker:
  Fn::Base64: |
    #!/bin/bash 
    yum update -y
    yum install -y docker
    systemctl enable docker
    service docker start  
    docker pull [イメージ]
    docker run -d --restart=always -it -p 80:80 [イメージ]

dockerの構築にはユーザーデータを使用しています。4行目~7行目は、dockerをインストールして起動しています。8行目では、コンテナの元となるイメージをレジストリから取得しています。9行目ではdockerサービス起動時に、該当のコンテナが起動するようにしています。また、今回のユーザーデータについては、上述の通りですが、ユーザデータ(イメージ、dockerコマンド)については、用途にあわせて書き換えてください。

さいごに

コンテナの起動にECSを考えたのですが、準備が少々手間だったので今回はEC2上にDockerを構築しました。テンプレートにしておけば、検証等で流用できると思い、そんな思いから作成しました。私はこのテンプレートを使用して、セキュリティ製品の検証を行う予定でございます。