見出し画像

AWSクラウドプラクティショナー奮闘記③~AWSのコンテナサービスについてざっくりまとめる~

こんにちは!
先日何を思ったのか料理した直後のフライパンを手で持ってしまい火傷をかました営業部の瀧川です。

今回は、AWSのコンテナサービスをまとめようと思います。

1.ECS?ECK?ECR?Fargate?コンテナ・・・?理解しないと乗り越えられないクラウドプラクティショナー


変わらず絶賛クラウドプラクティショナーの勉強中で、変わらずUdemyの模擬問題を解いているのですが、初期の頃は問題の中に「コンテナ」という言葉が出てきたら問答無用で「ECS(Amazon Elastic Container Service)」を選択していました。

サービス名にcontainerって入ってるじゃん・・・
多分緑本にはそれ以外コンテナが関係しそうなサービス載ってなかったし・・・

しかし、現実はそう甘くなかったです。
ECS以外にもEKS,ECR,Fargateと3つもコンテナ関連のサービスがあるようなんです。
(あくまで模擬問題を解いていく中で出てきたものなのでAWS全体ではもっとあります)
ただどのサービス説明を読んでもピンと来ず・・・
当たり前ですね、そもそもコンテナって何だ?と思いつつ初期にはコンテナの理解を避けてECS=コンテナ!脳だったので。
ということで、今回は簡単にAWSのコンテナサービスについてまとめます。
あくまで非エンジニアの自分なりの理解なので技術者の方が見たら失笑してしまうかもしれません。

2.コンテナとは

コンテナとは、アプリケーションの実行環境をパッケージ化し、ホストOSからプロセスやネットワークなどのリソースを隔離した、一種の仮想環境です。アプリケーションの側からは、それぞれのコンテナは別のコンピューター上で稼働しているように見えます。

https://juku-jp.vmware.com/whatsvm/containers-benefits-why-kubernetes/
上記記事より引用しました。
メリットや課題など詳しく記載されているので見てみてください。

とりあえず自分なりのコンテナのまとめは以下です。

----------

・アプリケーションの実行環境がパッケージ化されているから管理が簡単!
・場所を選ばずにアプリケーションを稼働できる!開発環境、テスト環境、本番環境など複数の環境にも対応可能!

アプリケーションの開発では、「開発環境で動いたものがテスト環境では動かない」ということがよくあるそうです。
コンテナというのはそのまま物流のコンテナから来ていると思いますが、
港から船に乗せても中身は変わらないですよね。
同じようにアプリケーション開発でも実行環境がコンテナにまとめてあり、それをどの環境に移動しても中身は変わらないって感じで理解してます。

----------

他にもリソースを節約できたり色々メリットはあるみたいですが、今回はこのくらいの理解で留めておきます。

3.Amazon Elastic Container Service(ECS)とは

AWSの説明を引用します。

Amazon ECS は、フルマネージドコンテナオーケストレーションサービスであり、コンテナ化されたアプリケーションを簡単にデプロイ、管理、およびスケーリングできます。

NTT東日本社の記事を引用します。

Amazon ECS(以下ECSとします。)は、Dockerコンテナを簡単に実行、停止、管理できるサービスです。ECSを利用することで、アプリケーションを簡単に実行することが可能となります。

自分の理解は
Dockerコンテナを簡単に実行、停止、管理できるAWSが開発したコンテナ管理サービス
に落ち着きました。

4.Amazon Elastic Kubernetes Service(EKS)とは

Amazon Elastic Kubernetes Service (Amazon EKS) は、クラウドまたはオンプレミスで Kubernetes アプリケーションを実行、スケールするマネージドコンテナサービスです。

自分の理解は
Kubernetesを簡単に実行できるサービス
に落ち着きました。

5.Amazon Elastic Container Repository(ECR)とは

FEnet社の記事を引用します。(AWSの記事は私にはよくわからなかったため割愛します。)

AWS ECRは、完全マネージド型のDockerコンテナレジストリで、このレジストリを使用するとDockerコンテナイメージを簡単に保存や管理、デプロイができます。

自分の理解は
Dockerコンテナイメージを簡単に保存や管理、デプロイができる完全マネージド型サービス。コンテナのイメージを保存!
で落ち着きました。

6.AWS Fargateとは

AWSの説明を引用します。

AWS Fargate はAmazon ECSで使用できるテクノロジーであり、サーバーやAmazon EC2インスタンスの クラスターを管理することなくコンテナを実行できます。Fargate を使用すると、コンテナを実行するために仮想マシンのクラスターをプロビジョニング、設定、スケールする必要はありません。これにより、サーバータイプの選択、クラスターをスケールするタイミングの決定、クラスターのパッキングの最適化を行う必要がなくなります。

NTT東日本社の記事を引用します。

AWS Fargateとは、Amazon Elastic Container Service (ECS) と Amazon Elastic Kubernetes Service (EKS) で動作する、ホストマシンを意識せずにコンテナを実行できる環境です。AWS Fargateを利用すれば、コンテナとコンテナの実行環境の2重管理が不要になります。
いわゆる、コンテナ向けのサーバーレスコンピューティングです。

自分の理解は
ECSとEKSで動作するコンテナ向けのサーバーレスコンピューティング
に落ち着きました。


7.その他自分のメモ

大体自分の中に落とし込んでも、やはりエンジニアではないと馴染みのない「コンテナ」
模擬問題を解く中で、ECSとFargateがどう使われているのか違うかわからず誤った選択肢を選んでしまうことがありました。

そのためクラウドプラクティショナー模擬問題を解く中で押さえておきたいこととしては以下になります。

・FargateはECSのようにコンテナそのものは実行できない!ECSの中でインスタンスの代わりにコンピュータエンジンとして利用される!

Kubernetesって?というところも落とし込め!!と思われるかもしれませんが、今回は一旦このへんで。

8.おまけ

先日キラキラ女子に連れられて帝国ホテルでキラキラごっこしてきました。

iOS の画像 (28)

シースリーインデックス株式会社https://www.c3index.co.jp/
【本社】 〒460-0011 名古屋市中区大須3-30-40 万松寺ビル9F
     TEL 052-265-3770 FAX 052-265-3775
【東京】 〒107-0052 東京都港区赤坂1丁目5-12 第二虎ノ門ビル3F
     TEL 03-6388-9225 FAX 03-6388-9556

この記事が気に入ったらサポートをしてみませんか?