[AWS]コンピューティングサービスについてまとめてみた

はじめに

AWSのコンピューティングサービスについてまとめてみた

やってみたこと

初心者向けになるべくシンプルにまとめてみた

AWSのコンピューティング系サービスの概要

特徴的なものは以下の3つ

  • EC2
  • ECS
  • Lambda

また、EC2の活用にあたって実質欠かせないものとして次のサービスが存在する

  • ELB
  • Auto Scaling

SPOFをなるべく作らず、コストも使った分だけ支払い、かつ必要な時に必要な性能が発揮できるようにAWSサービスの選択とオプションの設定を選択する必要がある。

EC2について

  • 仮想サーバを提供するコンピューティングサービス
  • ELBやAuto Scalingを組み合わせて、必要な時に必要な性能を発揮できるようにする必要がある
  • インスタンスという単位で仮想サーバを起動・停止・削除できる
    • インスタンスタイプという形で、スペックを選ぶことができる
      • 逆に言うと、CPUやメモリを個別に指定することはできない
  • 費用は起動中だけ計上される
    • ただし、停止中でも、EBS(ストレージ)が接続されているとその費用はかかる
  • インスタンスには3つの運用形態がある
    • リザーブドインスタンス
    • スポットインスタンス
    • オンデマンドインスタンス
  • Saving Plansをうまく利用して費用がお得になる

ELBについて

  • SPOFをなるべく作らない、という方針で設計する際に便利なサービス
  • 設定に応じて、リクエストの受付先を自動振り分けしてくれる
    • 例えば、ヘルスチェックを通して、ELB側から状況をチェックし、応答が2回なかったら切り替えるなど

Auto Scaling

  • システムの利用状況に応じて、自動的にELBに紐づくインスタンスの台数を増減させるサービス
    • 最小インスタンス数、最大インスタンス数などを設定し、それに応じて動作する
      • スケーリングポリシーの指定によって条件指定を行う
  • ただし、サーバをステートレスに設計する必要がある。
  • なるべくAZをまたがってインスタンスを配置する設計にする。

ECSについて

  • コンテナを提供するコンピューティングサービス

Lambdaについて

  • サーバを用意しなくてもプログラムを実行できる環境を提供するサービス
  • セットアップやメンテナンスの必要がないので、開発に集中できる

最後に

結局の所・・・

使い分け

  • 今回出てきたサービスから選ぶとしたら・・・
    • まずLambdaでできないか考える
    • 次にECSでできないか考える
    • 最後に、EC2を検討する
      • ただし、いかにして動かさないかを追求する

参考

コメントを残す

メールアドレスが公開されることはありません。