アプリ屋がAWSの主要サービスのイメージを語ってみる

この記事を書いたチーム:tenko

本記事の目的

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

突然ですが、エンジニアは大きく分けて2つの種類に分類できるのではないかと思います。
アプリケーションエンジニアと、インフラエンジニアです。

中にはアプリケーションもインフラ(クラウド)周りも両方守備範囲にしているフルスタックなエンジニアもいるにはいますが、基本的には皆専門領域を持って業務を行っているという方が大半だと思います

かくいう私はアプリケーションエンジニアとして日々業務を行っていますが、プロジェクトの都合上、インフラエンジニアの方とインフラ構築について会話をする場面が発生します。

その際にAWSのサービスの概要についてなんとなくわかっているのとわかっていなのだと、話のスムーズさが断然変わってきます。構築はインフラエンジニアの方にお任せするので、各サービスの特徴やどんなことができるかが、なんとなくわかってることが重要です。

というわけで、AWSの主要サービスに関して私のざっくりとしたイメージをご紹介します。

本記事ではとにかくインフラエンジニアの方と話をするための最低限のイメージを紹介するもので、正確性は問いませんので悪しからず。

AWS各サービスのイメージ

EC2(Elastic Compute Cloud)

クラウド上に仮想サーバを立てることができるサービス。
一番シンプルにアプリケーションを動かしたり、サーバが必要なときに使う。

S3(Simple Storage Service)

クラウドストレージサービス。
DBに保存しないファイルや、データのバックアップなどを保存するために使う。

RDS(Relational Database Service)

データベースの管理サービス。
MySQL, PostgreSQLなど様々なDBを利用できる。

ECS(Elastic Container Service)

コンテナの管理を行うサービス。
コンテナの実行環境としてEC2Fargateを選択できる。

EKS(Elastic Kubernetes Service)

Kubernetesを簡単に実行できるサービス。
こちらもFargateを利用してサーバを管理せずにコンテナを実行することができる。

ECR(Elastic Container Repository)

Dockerコンテナイメージのデプロイなどができるサービス。
Docker hubのプライベート版(?)

Fargate

ECSEKSでコンテナを実行する環境。
Fargateを使えば、EC2インスタンスを管理する必要がなくなる。

Lambda

最小限のプログラム言語の実行環境。
簡単な関数とかを配置して、定期実行させたり、何かのリクエストに応じて関数を実行したりできる。

CloudWatch

リソースの監視、ログの集約などができるサービス。
大体ここにログを見にいく。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス