📝

サーバレス系開発者がAmazon EC2についてまとめてみる

2021/05/24に公開

はじめに

普段、AWSを使っていわゆるサーバレス的なアーキテクチャで開発をしています。
ただし、教養として(?)AWSのいろいろを知っておかねばならない気がしています。
まずはEC2について自分なりに勉強してまとめてみることにしました。

ちなみに、以前podcastでも語ってたので興味があればどうそ(情報量はそんなに変わらなそう)

Amazon EC2についてのまとめ

  • EC2とは
    • 仮想サーバのレンタルサービス
  • 様々なユースケースに対応
    • 別なサービスと組み合わせると、物理のレイヤから選べるオプションもあるので、逆に何ができないのか分からないと言えるレベル
  • EC2をおすすめしないケースについて
    • マネージドサービスじゃないし、立ち上げてないと使えない
    • 例えばDBならDynamoDBとか、RDSとか使ったほうがいいのでは?
    • そもそもEC2だけ使うようなケースなら、さくらのレンサバとかの方が便利じゃない?
    • とはいえ、全部が全部マネージドサービスに対応していたり、他サービスやEC2自体のオプションで対応できるわけではない
  • 個人的なEC2との付き合い方
    • 最初はEC2に全部の機能を入れてしまってもいいや、って思ってる
      • 最も低いレイヤーからトライ&エラーしていける
    • 切り出せるところをだんだんマネージドサービスに切り出していきたい
      • 最初から切り出せるなら切り出したほうがいい
    • 使わないときは停止しておけばいい
      • 長期間使うなら予算組んでリザーブドインスタンス買うとか、Saving Plans使うといい
  • 何でもできる
    • 基本的には、仮想サーバをレンタルするので、好きに使ってください、なのだけど、色々なケースに対応している。
    • 例えば・・・
      • 起動したけど、使うのやっぱやめた
        • 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なら最も低いレイヤーからトライ&エラーしていける
    • 迷ったら使ってみては

参考

Discussion