18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

wordpressのdocker imageをECSにデプロイする

Last updated at Posted at 2018-09-16

ローカル環境から、ECSにデプロイするまでの手順を書いていきます。

docker-compose.ymlの作成

まずは、wordpressを環境のためのdocker-compose.ymlを作ります。

ファイルの中身はこんな感じにしました。


version: "3.3"
services:
  db:
    image: mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
    privileged: true

  wordpress:
    depends_on:
      - db
    image: wordpress
    ports:
      - "8888:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_PASSWORD: wordpress

そして、アップする

docker-compose up -d

次に、localhost:8888にアクセスして動作確認をします。

wp1.png

確認ができたら、ダウンします

docker-compose down

このdocker-compose.ymlをECSの中で起動します。

AWSでの作業

ECSアップするまでにやることは、3つです。意外と簡単だと思います。

1.リポジトリにアップロードする

  • ECRへdocker-compose.ymlをアップします。

  • 以下の画面から適当な名前を付けて、次へ
    ecs6.png

こんな画面になるので、コマンドをそのまま実行します。

ecs7.png

これでECRへの登録は完了です

2.タスクを作る

僕の理解ですが、いくつかのリポジトリを一つのプロセス群として、タスクとして定義しておいて、それを、クラスタの中で実行します。

一つまたは複数のリポジトリをタスクという、括りで実行します。逆に言えば、タスクはリポジトリ単位で構成されるということです。

CLIはできるだけ使いません。なぜなら僕ができなかったからです。では、実際にやっていきましょう。

  • 以下の画面で、Fargateを選択します。

ecs3.png

  • タスクの名前は適当で構いません。
    ecs4.png

  • コンテナの追加のときに、先程アップしたリポジトリを選択します。

  • メモリ制限は128をとりあえず入れといていいと思います。あとは流れでいいでしょう。
    ecs5.png

3.クラスタを作る

  • 平たく理解するなら、これから使いたいコンテナのことです。これを実行すると、ローカル環境で見た画面になります。
    では、実際にやっていきましょう。

  • AWS Fargateを選択します
    acs2.png

  • クラスタの名前はこれまた適当で構いません。全部流れで入力できます。
    ecs12.png

  • この画面になったら完了です。簡単ですね。

acs1.png

  • あとはタスクを実行して、こんな画面から

ecs9.png

  • こんな画面にいってIPを見て、ブラウザに入力します。

ecs10.png

  • 以下の画面が見えたら終わりです。

wp1.png

おまけ

SSHでコンテナにログインしたいこともあると思うので、SSHキーとセキュリティグループを設定します。
EC2インスタンスの中から、セキュリティグループというのがあるので、その中のSSHの項目を有効にするだけです。

これをやるに至ったきっかけ

wordpressをDockerでやろうと思いましたが、IP固定、DNS登録、Autoscaling、ボリューム、バックアップの料金
、管理の面倒さがコストになる判断しました。

Dockerのいいとこは、手早く環境を作られること、それによりすぐに開発に移ることがです。

ブログというのはDockerのメリットにそぐわないと判断し、僕はLightsailを使うことにしました。
ブログしたくて、wordpressが欲しかったらLightsailを黙って使うのが、やはりベストプラクティスでした。

参考記事 Qiita
https://qiita.com/niisan-tokyo/items/4e72c6c11c3f9562fe66

ここまで書きましたが、理解が間違っているところは多分にあると思います。
ご指摘よろしくお願いします。ウェルカム指摘。

18
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?