Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub+ ECSで快適Review環境

GitHub+ ECSで快適Review環境

3c16af350c91b6cce98c57c17dc1e703?s=128

pataiji

July 21, 2017
Tweet

Transcript

  1. GitHub + ECS で快適Review 環境 2017/07/21 JAWS-UG コンテナ支部 #9 2017/07/21

    JAWS-UG コンテナ支部 #9
  2. 天野太智 @pataiji 株式会社Speee リー ドエンジニア 開発基盤グルー プ 兼務 好きなAWS のサー

    ビス: CloudFormation, Systems Manager ( 最近娘がパパっ子になってきて嬉しい) 2017/07/21 JAWS-UG コンテナ支部 #9
  3. webapp-revieee https://github.com/speee/webapp-revieee 2017/07/21 JAWS-UG コンテナ支部 #9

  4. 動作イメー ジ GitHub にWebhook を登録するだけ PR 作ったら確認環境が立ち上がる 2017/07/21 JAWS-UG コンテナ支部

    #9
  5. 背景 Review 環境の渋滞 多数の独立したプロダクト 既存ツー ル 2017/07/21 JAWS-UG コンテナ支部 #9

  6. Review 環境の渋滞 Development / Staging / Production 複数のエンジニア / 案件

    / レビュアー 声掛け運用で解決 2017/07/21 JAWS-UG コンテナ支部 #9
  7. 多数の独立したプロダクト 社内に10 以上のプロダクト それぞれ独自の開発体制 全社で画一的な環境を用意するのは現 実的でない 2017/07/21 JAWS-UG コンテナ支部 #9

  8. 全社共通の Review 基盤が 求められている 2017/07/21 JAWS-UG コンテナ支部 #9

  9. 既存ツー ル Heroku Review Apps メンテナンスフリー 設定が圧倒的に楽 IP によるアクセス制限ができない (Enterprise

    は可) ミドルウェアのバー ジョンが指定不可 2017/07/21 JAWS-UG コンテナ支部 #9
  10. 既存ツー ル Paus https://github.com/dtan4/paus Docker Swarm ベー ス docker-compose.yml を用意してgit

    push するとcontainer が立ち上がる Docker Swarm の管理が必要 2017/07/21 JAWS-UG コンテナ支部 #9
  11. ECS ベー スで実装しよう 2017/07/21 JAWS-UG コンテナ支部 #9

  12. 実装面 ( とツラみ) 2017/07/21 JAWS-UG コンテナ支部 #9

  13. EC2 1 台 Nginx Ruby on Rails ECS + SpotFleet

    ECR 全体構成 2017/07/21 JAWS-UG コンテナ支部 #9
  14. ECS + SpotFleet 必要そうなリソー スをざっくり見積も って運用 落ちても大きな問題がない環境なので あまり気を使っていない 今後AutoScale するようにしていく

    2017/07/21 JAWS-UG コンテナ支部 #9
  15. PR 作成時のワー クフロー 2017/07/21 JAWS-UG コンテナ支部 #9

  16. ブランチ指定してTask を実行 PR にhook して指定したブランチの最新のcommit をpull してきてTask を起動したい ECS はTaskDe

    nition でImage を指定するのでTask 起動時にImage を変更することはできない 悩んだ結果 ENTRYPOINT で頑張ることに 漂うコレジャナイ感 2017/07/21 JAWS-UG コンテナ支部 #9
  17. ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9

  18. ブランチ指定してTask を実行 2017/07/21 JAWS-UG コンテナ支部 #9

  19. ワー クフロー(Review 環境アクセス時) 2017/07/21 JAWS-UG コンテナ支部 #9

  20. ホストベー スルー ティング Task へのアクセスポー トは動的に変化 Nginx(OpenResty) + MySQL で動的にproxy

    初回アクセス時のみMySQL にアクセスし以降はキ ャッシュ Paus はVulcand を使用しているそう 漂うガンバッテル感 2017/07/21 JAWS-UG コンテナ支部 #9
  21. ホストベー スルー ティング 2017/07/21 JAWS-UG コンテナ支部 #9

  22. ECS を選んで思うこと やりたいことを比較的簡単に実現することが できた クラスタ管理はほとんど考える必要がない ので考えることが少なく済んだ Task 起動時にImage のTag を変更したい...!

    docker-compose.yml をAPI に投げられると嬉 しい 2017/07/21 JAWS-UG コンテナ支部 #9
  23. 最後に webapp-revieee はまだまだβ もう少しでCFn 一発で環境が立ち上がる状態にでき そう いい感じになったらブログ(http://tech.speee.jp/) とかで告知すると思います 使ってみてFB いただけると嬉しいです...!

    2017/07/21 JAWS-UG コンテナ支部 #9
  24. ありがとうございました 2017/07/21 JAWS-UG コンテナ支部 #9