Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
M&Aクラウドにおける AWS ElasticBeanstalkの活用
Search
y-tsuzaki
February 27, 2020
Technology
1
870
M&Aクラウドにおける AWS ElasticBeanstalkの活用
Coral Capital主催「AWS×スタートアップ オンラインLT大会(Coral Developers Night #3)」 一般LT枠
y-tsuzaki
February 27, 2020
Tweet
Share
More Decks by y-tsuzaki
See All by y-tsuzaki
PHPカンファレンス福岡2024 【超特急】SQLアンチパターン総おさらいLT
ytsuzaki
0
1.1k
PHPカンファレンス北海道2024 リーダブルSQL
ytsuzaki
5
620
ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
ytsuzaki
1
360
【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
ytsuzaki
0
360
PHPerKaigi 2022 【Laravel】 サクッとN + 1問題を見つけて倒しチャオ!
ytsuzaki
1
2.9k
【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】
ytsuzaki
2
790
Nuxt Composition API 使ってみた
ytsuzaki
0
180
Nuxt.js x Composition API x TypeScript
ytsuzaki
0
700
PHPerKaigi 2021 LT PHPで簡単コード生成! 同じようなコードをたくさん書くなら コード生成しチャイナ!
ytsuzaki
0
110
Other Decks in Technology
See All in Technology
デスクトップだけじゃないUbuntu
mtyshibata
0
570
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
1
230
偏光画像処理ライブラリを作った話
elerac
1
130
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
120
短縮URLをお手軽に導入しよう
nakasho
0
110
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
150
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly
i35_267
1
550
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
160
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
280
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.7k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1.1k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Git: the NoSQL Database
bkeepers
PRO
427
65k
The Invisible Side of Design
smashingmag
299
50k
A Philosophy of Restraint
colly
203
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Embracing the Ebb and Flow
colly
84
4.6k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Music & Morning Musume
bryan
46
6.4k
Adopting Sorbet at Scale
ufuk
74
9.2k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
M&Aクラウドにおける AWS ElasticBeanstalkの活用 つざき Twitter : @ytzk_ Qiita : zackey2
株式会社M&Aクラウド つざき @ytzk_ SIer -> Web受託開発会社 -> ITスタートアップ(1年目) WEBフロントエンド・バックエンド・ちょっとインフラ 銭湯・サウナ・キャンプが好き
自己紹介
話すこと ・M&AクラウドのElasticBeanstalkを活用した環境構成 ・ElasticBeanstalk選定理由 ・ElasticBeanstalkのメリット・デメリット ・ElasticBeanstalk ワーカー環境の活用 話さないこと 他のアーキテクチャやクラウドサービスとの比較 対象 新規サービスをこれから作ろうとしてる方
M&Aクラウド?
M&Aクラウドは、 M&Aクラウドという M&Aのマッチングプラットフォームを運営する スタートアップ企業です
設立 5期目 サービスローンチから 2年目 従業員数 21名 エンジニア 5名
None
None
サーバーサイド PHP7.2, Laravel6.4, MySQL5.7 フロントエンド JavaScript, sass, Vue.js, 一部Nuxt.js(Typescript) 開発ツール
GitHub CircleCI
ローンチ当初の環境構成
None
ElasticBeanstalkとは
(釈迦に説法だと思うので割愛)
ElasticBeanstalk選定の理由
- エンジニア一人だけ - インフラはそれほど詳しくない - 早くサービスをローンチしたい - サービスが当たるかどうかわからない - サービスの機能追加が優先
- 本番環境でDockerを使うことがそれほど一般的ではな かった - どうやらElasticBeanstalkが良さそう(口コミ)
ElasticBeanstalkのいい点
- 簡単に冗長構成のWebサイトを公開できる - LBやセキュリティグループやサブネットなどの細々し た設定をしなくていい - ミドルウェアのインストールなども自動でやってくれる - PHPプラットフォームを選択すればPHPの動作に必 要なミドルウェアが自動でインストールされる
- リリースが楽 - eb コマンドで簡単にコードをデプロイできる - Webコンソールから環境変数の追加変更 - 複数環境作るときに楽 - Webコンソールからオートスケールの設定
ElasticBeanstalkのいまいちな点
- リリースに時間がかかる - インスタンス1台5分程度かかる 2台構成で10分程度 - 環境変数を変更するだけでも同じくかかる - PHPのバージョンアップが遅い -
PHP7.3リリースからおよそ8ヶ月後に追加
現在の環境構成
None
全文検索機能追加 ワーカーサーバーの導入 Nuxt.jsによる一部ページの 置き換え
1年半経ってもElasticBeanstalkを使ったWebサーバで問 題なく機能拡張できている
ワーカー環境の活用
- ElasticBeanstalkの2種類の環境枠 - ウェブサーバー環境 - ワーカー環境 - ワーカー環境はバックグラウンド処理専用のサーバ - インターネットに公開されないサーバ
- SQSのキューを監視してジョブをlocalhostのアプリケー ションにPOSTしてくれる - ジョブの並列実行可能 - Cronのように指定時刻にアプリケーションにPOSTしてく れる機能もある
- M&Aクラウドでは 非同期メール送信、定時メール送信をワーカー環境で実行 するようにした - ワーカー環境導入の結果 - メール送信 100通 /
分 → 800通 / 分 - 並列数を増やせばもっと早くできそうだがSESの上限を 超えないくらいに設定
まとめ Elasitic Beanstalkは - 素早くサービスを始められる - サービスが成長しても使い続けられる インフラに割くリソースがなく スモールスタートでサービスをローンチしたい場合に 適切なソリューション