【printf!】 IT系若手エンジニアのブログです
MENU
AWS

【AWS】コンピューティングサービス一覧 | 主要サービス編(特徴・使い分け・読み方)【AWS認定試験 SAA/DVA/CLF対策】

Kei

本ページでは、AWSが提供するコンピューティングサービスを一覧で整理します!

EC2やLambdaといった主要なものから、App RunnerやLightsailといった少しマイナーなものまで、俯瞰的に整理してみました。

スマトラ
スマトラ
AWS認定試験対策メモ

AWS 認定クラウドプラクティショナー
(AWS Certified Cloud Practitioner, CLF)

AWS 認定ソリューションアーキテクト アソシエイト
(AWS Certified Solutions Architect – Associate, SAA)

AWS 認定デベロッパー アソシエイト
(AWS Certified Developer – Associate, DVA)

AWSのコンピューティングサービス一覧

AWSのコンピューティングサービスを調べると、下記のように大量のサービスが出てきます。申し訳程度に書いてある解説も分かりにくいですし、全て横並びに書かれてしまうとサービス間の関係性も見えこないため、整理していきます。

(AWS公式サイト) https://aws.amazon.com/jp/products/compute

中核となるサービス

まず、中核となるサービスは下記の通りです。

EC2

仮想サーバーを提供(IaaS)

ECS/EKS

コンテナの実行環境を提供(PaaS/CaaS)

Lambda

サーバーレスでプログラム実行環境を提供(FaaS)

AWSでシステムを構築するとき、このどれかはほぼ必ず使用されると言ってもいいくらい、重要なサービス達です。AWS認定試験(Cloud Practitioner、Associate系3試験)でも頻出となっています。

その他サービス

他のサービスには、上記の中核となるサービスから派生したサービスであったり、これらを使いやすくする便利サービスが多いです。

EC2の関連サービス

  • EC2 Auto Scaling
  • EC2 スポット (Spot Instance)

ECS/EKSの関連サービス

  • Fargate
  • ECS/EKS Anyware
  • ECR

開発や運用などをより簡単にしてくれるサービス

  • App Runner
  • Lightsail
  • Elastic Beanstalk
  • AWS Batch
こちらは、続編となるこの記事で整理しています!
【AWS】コンピューティングサービス一覧 | お手軽開発向けサービス編(特徴・使い分け・読み方)【AWS認定試験 SAA/DVA/CLF対策】
【AWS】コンピューティングサービス一覧 | お手軽開発向けサービス編(特徴・使い分け・読み方)【AWS認定試験 SAA/DVA/CLF対策】

以下では、これらを順に整理していきます。

EC2と関連サービス

EC2

EC2 (Elastic Compute Cloud)

EC2 (Elastic Compute Cloud, イーシーツー) は、仮想サーバーを提供するコンピューティングサービスです。インスタンスという単位でサーバーが管理されます。
IaaS (Infrastructure as a Service)に分類され、CPU、メモリ、ストレージ、OSなどを自由に選択し、ユーザー自身で管理を行います。そのカスタマイズの柔軟性が魅力です。

Auto Scaling

EC2 Auto Scaling(オートスケーリング)は、EC2で利用できる機能の一つで、負荷に応じてEC2インスタンスを自動的に増減する仕組みです。事前に設定したルールに基づいてスケールイン/アウトを実行してくれます。時間帯などによって負荷が増減する場合に最適です。

Spot Instance

EC2 Spot Instance(スポットインスタンス)は、EC2のインスタンスの購入方式の一つで、AWS側で余ったEC2リソースを安く使える方式です。余りを利用するので、余りが少なくなったら予告なく止められる可能性があり、用途はある程度限られます。たとえば機械学習の学習処理は時間とお金がかかるため、安く利用可能なスポットインスタンスと相性が良いです。

スマトラ
スマトラ

スポットインスタンス以外には以下の方式がありますね。

  • オンデマンドインスタンス
    デフォルト設定の、従量課金制の方式
  • リザーブドインスタンス
    1年or3年の使用期間を指定して、割安に使用する方式

ECS/EKSと関連サービス

ECS
EKS
ECR
Fargate

ECS (Elastic Container Service)

EC2 (Elastic Container Service, イーシーエス) は、Dockerコンテナの実行環境を提供するコンピューティングサービスです。
PaaS (Platform as a Service)や CaaS(Container as a Service)に分類され、コンテナ化されたアプリケーションを簡単にデプロイ・管理できます。

デプロイ先を選ぶことができ、それぞれ関連サービスとして名前が付いていたりします。FargateやECS Anywareは下で解説します。

デプロイ先
  • EC2(設定を細かく制御できるが、EC2インスタンスの管理が必要)
  • Fargate(サーバーレスで、より手軽に利用)
  • オンプレミス環境(= ECS Anyware)

EKS (Elastic Kubernetes Service)

EKS (Elastic Kubernetes Service, イーケーエス) は、KubernetesをAWSでマネージド実行するサービスです。
ECSはAWS独自の仕組みのコンテナ実行を管理する一方、EKSはKubernetesで管理します。基本的にECSよりも複雑で、Kubernetes経験者が利用を選択するイメージと思っておいて大丈夫です。

Kubernetes(クバネティス)は、コンテナ化されたアプリケーションを自動的にデプロイ・スケーリング・管理するためのオープンソースのプラットフォームです。

EKSもECSと同様にデプロイ先を選ぶことができ、FargateやEKS Anywareを利用可能です。

Fargate

Fargate(ファーゲート)は、ECSやEKSで利用できるサーバーレスのコンテナ実行環境です。有名なサービスですが、単体で使う訳ではなく、ECSやEKSと併せて使うというポイントを押さえておきましょう。

ECSやEKSをEC2にデプロイするとEC2インスタンスの管理が必要になりますが、Fargateを利用することでそれが不要(AWSがやってくれる)になります。

ECS Anyware / EKS Anyware

ECS Anyware/EKS Anyware(イーシーエス エニーウェア/イーケーエス エニーウェア)は、ECSやEKSの仕組みをオンプレミス環境で構築するサービスです。既存のオンプレミス環境のリソースを活用したいけど、その他の諸々はAWSにお任せしたい、というニーズに応えることができます。

ECR (Elastic Container Registry)

ECR (Elastic Container Registry) は、Dockerコンテナイメージを保存、管理、デプロイするためのDockerコンテナレジストリサービスです。Dockerには、コンテナイメージを管理するレジストリという仕組みがあり、ECRではその管理をAWSが行ってくれます。

あくまで「コンテナイメージを管理する仕組み」ですので、ECR自体が実行環境を提供しているわけではありません。ECSやEKSと一緒に利用されるサービスとなっています。

Lambda

Lambda

Lambda (ラムダ) は、サーバーレスでプログラム実行環境を提供するサービスです。FaaS (Function as a Service)に分類され、ユーザーはプログラムのソースコードをアップロードするだけで利用可能です。
サーバーレスアーキテクチャの中核を担うサービスとなっています。

Lambdaについてはこちらの記事でも紹介していますので、必要に応じて参照してください。

AWS Lambdaとは?【AWS認定試験 SAA/DVA/CLF対策】
AWS Lambdaとは?【AWS認定試験 SAA/DVA/CLF対策】

その他のコンピューティングサービス

記事のボリュームが大きくなってしまったため、こちらは別記事で紹介予定しています。興味のある方はご覧ください!

こちらは、続編となるこの記事で整理しています!
【AWS】コンピューティングサービス一覧 | お手軽開発向けサービス編(特徴・使い分け・読み方)【AWS認定試験 SAA/DVA/CLF対策】
【AWS】コンピューティングサービス一覧 | お手軽開発向けサービス編(特徴・使い分け・読み方)【AWS認定試験 SAA/DVA/CLF対策】

まとめ

ここまで、AWSの主要コンピューティングサービスであるEC2、ECS、EKS、Lambdaとその関連サービスをご紹介しました。

ひとつひとつのサービスに対する理解も重要ですが、適切にサービスを使い分けるには、提供サービスの全体像(ラインナップ)を俯瞰的に捉えておくことが大事だと思います。特にコンピューティングサービスは、他と組み合わせて使うような関連サービスが多く、その関係性を理解しておくと知識が定着しやすいと思います。
本記事が、少しでもその理解の助けになれば幸いです。

ABOUT ME
スマトラ
スマトラ
IT系若手エンジニア
大手メーカーでクラウドアプリを開発しているエンジニア。
訳あって今はIT系だが、学生時代は航空宇宙工学を専攻で、電気回路設計や組み込み開発も経験あり。 自分の人生を人生ゲームだと思って、前向きに頑張る毎日を送る。
このブログでは、自身が勉強したこと、やったこと、考えたことなどを備忘録も兼ねて書いています。
記事URLをコピーしました