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

M&Aクラウドにおける
AWS ElasticBeanstalkの活用


y-tsuzaki
February 27, 2020

M&Aクラウドにおける
AWS ElasticBeanstalkの活用


Coral Capital主催「AWS×スタートアップ オンラインLT大会(Coral Developers Night #3)」 一般LT枠

y-tsuzaki

February 27, 2020
Tweet

More Decks by y-tsuzaki

Other Decks in Technology

Transcript

  1. M&Aクラウドにおける

    AWS ElasticBeanstalkの活用

    つざき
    Twitter : @ytzk_
    Qiita : zackey2

    View Slide

  2. 株式会社M&Aクラウド
    つざき @ytzk_
    SIer -> Web受託開発会社 -> ITスタートアップ(1年目)
    WEBフロントエンド・バックエンド・ちょっとインフラ
    銭湯・サウナ・キャンプが好き
    自己紹介

    View Slide

  3. 話すこと
    ・M&AクラウドのElasticBeanstalkを活用した環境構成
    ・ElasticBeanstalk選定理由
    ・ElasticBeanstalkのメリット・デメリット
    ・ElasticBeanstalk ワーカー環境の活用
    話さないこと
     他のアーキテクチャやクラウドサービスとの比較
    対象
     新規サービスをこれから作ろうとしてる方

    View Slide

  4. M&Aクラウド?

    View Slide

  5. M&Aクラウドは、
    M&Aクラウドという
    M&Aのマッチングプラットフォームを運営する
    スタートアップ企業です

    View Slide

  6. 設立 5期目
    サービスローンチから 2年目
    従業員数 21名
    エンジニア 5名

    View Slide

  7. View Slide

  8. View Slide

  9. サーバーサイド
    PHP7.2, Laravel6.4, MySQL5.7
    フロントエンド
    JavaScript, sass, Vue.js, 一部Nuxt.js(Typescript)
    開発ツール
    GitHub CircleCI

    View Slide

  10. ローンチ当初の環境構成

    View Slide

  11. View Slide

  12. ElasticBeanstalkとは

    View Slide

  13. (釈迦に説法だと思うので割愛)

    View Slide

  14. ElasticBeanstalk選定の理由

    View Slide

  15. - エンジニア一人だけ
    - インフラはそれほど詳しくない
    - 早くサービスをローンチしたい
    - サービスが当たるかどうかわからない
    - サービスの機能追加が優先
    - 本番環境でDockerを使うことがそれほど一般的ではな
    かった
    - どうやらElasticBeanstalkが良さそう(口コミ)

    View Slide

  16. ElasticBeanstalkのいい点

    View Slide

  17. - 簡単に冗長構成のWebサイトを公開できる
    - LBやセキュリティグループやサブネットなどの細々し
    た設定をしなくていい
    - ミドルウェアのインストールなども自動でやってくれる
    - PHPプラットフォームを選択すればPHPの動作に必
    要なミドルウェアが自動でインストールされる
    - リリースが楽
    - eb コマンドで簡単にコードをデプロイできる
    - Webコンソールから環境変数の追加変更
    - 複数環境作るときに楽
    - Webコンソールからオートスケールの設定

    View Slide

  18. ElasticBeanstalkのいまいちな点

    View Slide

  19. - リリースに時間がかかる
    - インスタンス1台5分程度かかる
    2台構成で10分程度
    - 環境変数を変更するだけでも同じくかかる
    - PHPのバージョンアップが遅い
    - PHP7.3リリースからおよそ8ヶ月後に追加

    View Slide

  20. 現在の環境構成

    View Slide

  21. View Slide

  22. 全文検索機能追加
    ワーカーサーバーの導入
    Nuxt.jsによる一部ページの
    置き換え

    View Slide

  23. 1年半経ってもElasticBeanstalkを使ったWebサーバで問
    題なく機能拡張できている

    View Slide

  24. ワーカー環境の活用

    View Slide

  25. - ElasticBeanstalkの2種類の環境枠
    - ウェブサーバー環境
    - ワーカー環境
    - ワーカー環境はバックグラウンド処理専用のサーバ
    - インターネットに公開されないサーバ
    - SQSのキューを監視してジョブをlocalhostのアプリケー
    ションにPOSTしてくれる
    - ジョブの並列実行可能
    - Cronのように指定時刻にアプリケーションにPOSTしてく
    れる機能もある

    View Slide

  26. - M&Aクラウドでは
    非同期メール送信、定時メール送信をワーカー環境で実行
    するようにした
    - ワーカー環境導入の結果
    - メール送信 100通 / 分 → 800通 / 分
    - 並列数を増やせばもっと早くできそうだがSESの上限を
    超えないくらいに設定

    View Slide

  27. まとめ
    Elasitic Beanstalkは
    - 素早くサービスを始められる
    - サービスが成長しても使い続けられる
    インフラに割くリソースがなく
    スモールスタートでサービスをローンチしたい場合に
    適切なソリューション

    View Slide