📝
サーバレス系開発者がAmazon EC2についてまとめてみる
はじめに
普段、AWSを使っていわゆるサーバレス的なアーキテクチャで開発をしています。
ただし、教養として(?)AWSのいろいろを知っておかねばならない気がしています。
まずはEC2について自分なりに勉強してまとめてみることにしました。
ちなみに、以前podcastでも語ってたので興味があればどうそ(情報量はそんなに変わらなそう)
Amazon EC2についてのまとめ
- EC2とは
- 仮想サーバのレンタルサービス
- 様々なユースケースに対応
- 別なサービスと組み合わせると、物理のレイヤから選べるオプションもあるので、逆に何ができないのか分からないと言えるレベル
- EC2をおすすめしないケースについて
- マネージドサービスじゃないし、立ち上げてないと使えない
- 例えばDBならDynamoDBとか、RDSとか使ったほうがいいのでは?
- そもそもEC2だけ使うようなケースなら、さくらのレンサバとかの方が便利じゃない?
- とはいえ、全部が全部マネージドサービスに対応していたり、他サービスやEC2自体のオプションで対応できるわけではない
- 個人的なEC2との付き合い方
- 最初はEC2に全部の機能を入れてしまってもいいや、って思ってる
- 最も低いレイヤーからトライ&エラーしていける
- 切り出せるところをだんだんマネージドサービスに切り出していきたい
- 最初から切り出せるなら切り出したほうがいい
- 使わないときは停止しておけばいい
- 長期間使うなら予算組んでリザーブドインスタンス買うとか、Saving Plans使うといい
- 最初はEC2に全部の機能を入れてしまってもいいや、って思ってる
- 何でもできる
- 基本的には、仮想サーバをレンタルするので、好きに使ってください、なのだけど、色々なケースに対応している。
- 例えば・・・
- 起動したけど、使うのやっぱやめた
- terminateしたらすぐ止めます
- やめたんだけど、データ残しておきたい
- EBSのスナップショットを取得してください
- s3-backedならどこかにデータを退避しておいてください
- (もうここまでの時点で、作ったり壊したりは自由なので、だいたいはなんとかなる。さらに↓)
- 構築がめんどくさい
- AMI使ってテンプレから構築できます
- 起動したけど、スペック変えたい
- 変更してください。後から変更できます
- 障害でインスタンス落ちた
- EBSのスナップショットから復旧してください
- 復旧めんどくさい
- Auto recovery設定しておけば自動でやります
- そもそも落ちても動くようにして欲しい
- リージョンやAZで分散できます
- Auto Scaling設定しておけば冗長化できます
- Launch Templateも組んでおいて
- そもそも落ちそうになる前に教えて欲しい
- CloudWatch アラームとか組んでください
- アクセス制限したい
- ファイアウォール設定してください
- Security Groupの設定すればできます
- キーペア使ってください
- その他、VPCとか使って色々制限できます
- ファイアウォール設定してください
- 高い
- スポットインスタンス買ってください
- 途中で落ちて困るならSaving Plansかリザーブドインスタンス使ってください
- 何にどれくらい掛かってるか分からない
- Cost Explorer使ってください
- 予算超える前に教えて欲しい
- Budget設定してください
- BYOLライセンス使えないのでは?クラウドだとリソースを共有されているので。
- 使えます。
- Dedicated Hosts使ってください
- ・・・あと他に何か要りますか?という気持ちになってくる、くらい様々なケースに対応している
- 起動したけど、使うのやっぱやめた
まとめ
- EC2は仮想サーバのレンタルサービス
- 様々なユースケースに対応
- 簡単に作ったり壊したりできる
- 作ったり壊したりできるのは他のサービスもそうだけど、EC2なら最も低いレイヤーからトライ&エラーしていける
- 迷ったら使ってみては
参考
- Amazon EC2 とは - Amazon Elastic Compute Cloud https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html
Discussion