webサービスを開発していると、スモールスタートでの展開が多いです。しかし、ユーザーの数が増えていくことを見越して、インフラ環境を、最初から大きく構築するケースも、もちろん、存在します。
今回ご紹介するAMAZON ECS(Amazon Elastic Container Service)というサービスは、AWS(アマゾンウェブサービス)の中で、サーバのコンテナを作れるサービスです。
大量のwebやDBサーバを1つのコンテナにいれることで、OSやミドルウェアを1つ設定すれば、コンテナの中は、同じ設定で稼働するようになるサービスです。
つまり、インフラを大きく用意しなくちゃいけないとき、大量のトラフィックや大量のプログラム処理をしなくてはいけないときに、インフラの設定に時間やコストがかからなくなるサービスです。
この記事では、ECS入門として、そもそも、ECSとは何か?コンテナとは何か?といったところを解説していきます。
ECSとは
AMAZON ECS(Amazon Elastic Container Service) 公式ホームページ
https://aws.amazon.com/jp/ecs/
ECSとは、アマゾンのウェブサービス、AWS上で、サーバをたくさん集めたコンテナを、設置、稼働できるサービスです。
コンテナの概念については、あとで解説しますが、
ものすごく簡単に言うと、
たくさんのPCを1つ1つ設定していくのは大変ですよね。
ECSは、この1つ1つのPC設定を不要にしてくれて、1つのPCの設定をすれば、それが共通化されるようにしてくれるサービスです。
しかも、メモリなど、PCを動かすエネルギーを共有的に利用してくれて、自動で、配分してくれるので、めちゃくちゃ便利なサービスです。
要するに、たくさんのサーバ設定、環境構築をしないといけないときでも、環境構築の手間を削減して、アプリケーションの構築にリソースをさけるようになるサービスなんですよね。
コンテナとは
コンテナとは、ベースの1台のPCをベースとして、そのOSのうえに、仮想的に作る空間のことを示します。
このため、コンテナの技術を活用すると、当然ですが、OSをインストールする必要がありません。
また、OSが共有されているため、設定が簡単です!手間が減っているわけです。
そして、Dockerエンジンがあれば、稼働の汎用性が高い!!
ただ、OSを共通利用するので、別のOSは使えません。
Dockerエンジンとは、物理サーバの環境でも、仮想環境でも、クラウド環境でもアプリケーション本体を実行できるエンジンです。要するに、アプリケーションの実行プログラムといえましょう。
ECS クチコミ
ECSのクチコミ情報を、ツイッターで探してみました。
使ってみた感想、レビューが結構あります。
ここまでで一番難しかった所は、AWSでのインフラ構築。
ただ、ここを調べながらやったおかげでRails6をデプロイする際に必要なコマンドや、ECSデプロイする際のインフラ構成がどうなっているのか、少しではあるが理解できた気がする。そしてすごく単純に考えれば理解もしやすいという事。— TKG (@Tkg19880125) January 20, 2021
開発してたアプリのDocker化に成功した
次はAWSのECSとやらにコンテナ載せてみたい— そーや? (@Kinokunizaka45) January 16, 2021
しかし10年前はレンタルサーバー→オンプレ(KVM)の移行をやったし、その後オンプレからAWSの移行もしたし、今はEC2からECSの移行やってるし、10年間移行ばっかりしてるなこいつ
— fujiwara (@fujiwara) January 20, 2021
Amazono ECSは、Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービスです。これにより、コンテナ化されたアプリケーションを AWS で簡単に実行およびスケールできます。
— やっす (@ysudyuk) January 14, 2021
ECS 構成要素
ECSの構成要素は主に以下の4点です。
- クラスター
- Task Definition
- タスク
- サービス
この4点です。
クラスターは、コロナで有名になりましたが、グループの意味合いです。
Task Definitionは、コンテナ実行の定義情報
タスクは、コンテナの実行数。
サービスは、タスクの数を管理する機能です。
ECS 簡単に始める方法
Amazon ECSを使えるようになるためには、まずは、作ってみることが1番ですよね。
そこで、Fargate を使用した Amazon ECS の開始方法 というAWSの参照ページをご紹介します。
Fargate を使用した Amazon ECS の開始方法
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/getting-started-fargate.html
実はとっても簡単で、
- AWSマネジメントコンソールにログイン
- ECSの初回起動ウィザードを動かす
あとは、このウィザードに沿って、入力をしていくだけです。
- コンテナイメージ 定義
- タスク定義作成時のパラメータ指定
- サービス定義
- クラスターの設定
まずは、慣れるより、TRYですね。
まとめ ECS これからも利用シーンは増加傾向に
webサービスは、利用者がどんどん増えています。
また、複雑なプログラムも増えています。
このことから、ECSは、今後も利用者が増加していくことでしょう。
EC2数台でも、ECSで環境構築した方が、てっとりばやいうえに、
メンテナンスもしやすいですからね。
セキュリティ対策も、どんどんECS側に増加していますし。
今後も、ECSから、目が離せませんね。
【無料】簡単チャットボット作成ツール BotEditor(ボットエディター)を解説
AWS 関連記事
【AWS】Docker コンテナ ECS入門 大量 webアプリケーション 環境 を 簡単構築
https://saras-wati.net/web-make/system/aws-ecs-first/
【VPS】ワードプレス 簡単導入 Amazon Lightsail セキュリティ 高く おすすめ
https://saras-wati.net/web-make/amazon-lightsail/
google クラウド を学ぶ。AWSとの違いは? クラウドサービス 比較
https://saras-wati.net/web-make/google-cloud-aws202006/
【AWS】Docker コンテナ ECS入門 大量 webアプリケーション 環境 を 簡単構築
https://saras-wati.net/web-make/system/aws-ecs-first/
AWS Transcribe とは 使い方 議事録 日本語 精度 どう? 注意点 料金 解説
https://saras-wati.net/news/worksbace/aws-transcribe-minutes-howto/
【SEO】Amazon CloudFront 設定 方法 AWS CDN で UX 改善!表示速度改善!!
https://saras-wati.net/knowhow/amazon-cloudfront-setting-howto/