Amazon Web Services ブログ

AWS Fargateの紹介 – インフラストラクチャの管理不要でコンテナを起動

コンテナは、開発者がアプリケーションを開発・パッケージ・デプロイするのに強力な手法の1つです。AWSでは、十万以上のアクティブなECSクラスタが稼働しており、毎週数億の新しいコンテナが起動しています。これは、2016年からすると400%を超えるお客様成長率です。Amazon ECSやKubernetesといったコンテナのオーケストレーションソリューションは、コンテナワークロードのデプロイ・管理・スケールをより容易にし、敏捷性を増します。しかし、それらのどのソリューションも下回りとなるインフラストラクチャの可用性、キャパシティやメンテナンスを行う必要が依然としてあります。AWSにおいて、私たちはこれを差別化とならない重労働を取り除く機会と考えました。私たちは、コンテナがもたらすスピード、敏捷性や不変性のメリットを十分にお客様にご利用いただき、インフラストラクチャの管理ではなくアプリケーションの構築に注力いただきたいと思っています。

AWS Fargate

AWS Fargateは、コンテナをデプロイする最も簡単な方法です。端的に言うと、FargateはEC2に似ていますが、仮想マシンを提供する代わりに、コンテナを提供します。これにより、下回りとなるインスタンス群の管理をせずとも、コンテナを基本的な計算単位として利用することができる技術です。やるべきことは、コンテナイメージ構築し、CPUやメモリの要件を指定し、ネットワークやIAMポリシーを定義し、そしてコンテナを起動することです。Fargateでは、アプリケーションの要件に対して最も近い設定を柔軟に行うことができ、請求は秒単位となります。

一番いいところはなんでしょうか?それは、ECSの基本的な仕組み、APIやAWSとの連携が引き続き利用できることです。Fargateは、Amazon Virtual Private CloudAWS Identity and Access Management(IAM)Amazon CloudWatch、そしてロードバランサーとネイティブに統合されています。Fargateタスクはawsvpcネットワーキングモードを利用し、お客様のVPC内のリソースと安全に通信するためにENIを提供します。既に起動しているあらゆるECSタスクは、コマンドラインスイッチのFargateモードで起動し直すことが可能です。AWS Command Line Interface (CLI)を使用したFargateタスクの起動は簡単です。

aws ecs run-task --launch-type FARGATE --cluster BlogCluster --task-definition blog --network-configuration "awsvpcConfiguration={subnets=[subnet-b563fcd3]}"

また、コンソールを使用し、Fargate機能を選択してタスク定義を作成し、Fargate launch typeでタスクを起動することも簡単に行えます。

数個のタスクを起動すると、クラスタ上で動いていることが確認できます:

ECSのクラスタが混在可能であることに気づくと思います。FargateとEC2のどちらのタスクも持つことができます。

タスクをもう少し詳しく見てみると、VPCにFargateがプロビジョンしたENIとタスクが使っている全てのコンテナを含めた役に立つ情報をみることができます。Logsタブでは簡単にタスクのCloudWatch Logsにもアクセスすることができます。

次に、Fargateの設定オプションと価格の詳細をみてみましょう。

価格体系

AWS Fargateは、オンデマンド価格体系を採用しています。アプリケーションで使用されたvCPUとメモリリソースの総量に対して秒単位で請求されます。価格は、1vCPU 1時間あたり$0.0506、1GBメモリ 1時間あたり$0.0127です。FargateではvCPUとメモリの50の設定オプションにより幅広い範囲のワークロードをサポートできます。設定オプションは以下になります。

CPU (vCPU) Memory Values (GB)
0.25 0.5, 1, 2
0.5 1, 2, 3, 4
1 Min. 2GB and Max. 8GB, in 1GB increments
2 Min. 4GB and Max. 16GB, in 1GB increments
4 Min. 8GB and Max. 30GB in 1GB increments

知っておいて欲しいこと

  • アプリケーションのリソース要件に最も近づくようにFargateを設定でき、コンテナが必要とするリソースに対してのみ課金されます。数十個から数万個ものコンテナを数秒で起動することができます。
  • FargateタスクはEC2上のタスクと同じように実行されます。タスクをVPCに足し、ロードバランサを設定し、IAM Roleを紐付けることができます。

ロードマップ

秘密を漏らすことはできませんが、AWS Fargateには本当にエキサイティングなロードマップがあります。2018年にAmazon EKSを使用したFargateコンテナのサポートを予定していることをお伝えします。私たちは常にお客様からのフィードバックを非常に大切にしています。どうぞAmazon ECSフォーラムにあなたの考えを投稿いただき、私たちに教えてください。

FargateはUS East(北部バージニア)リージョンで本日から利用可能です。他のリージョン対応もすぐに予定されています。

Randall

原文: Introducing AWS Fargate – Run Containers without Managing Infrastructure (翻訳: SA原田)