連載
» 2017年12月15日 05時00分 公開

AWS re:Invent 2017、大量発表の文脈(2):AWSは「インフラを意識しないアプリ運用環境」を進化、コックロフト氏は「オープン」を約束 (1/2)

Amazon Web Services(AWS)は、2017年11月末から12月初めにかけて開催したAWS re:Invent 2017で、Amazon ECS for Kuberneteや「Fargate」、さらにサーバレスコンピューティングの「AWS Lambda」における機能強化などを発表した。こうした発表から見えてくるものは、インフラを意識しない運用環境の進化だ。

[三木泉,@IT]

 Amazon CTOのヴァーナー・ヴォーゲルズ(Werner Vogels)氏は、Amazon Web Services(AWS)が2017年11月末から12月初めにかけて開催したAWS re:Invent 2017で、「私がこれまでAWS re:Inventで行った基調講演のうち、最も気に入っているのは2012年のクラウドネイティブアプリケーション開発に関するものだ」と話した。

 この2012年の講演で、ヴォーゲルズ氏が第1に取り上げたのは、アプリケーションのコンポーネント化とステートレス化。2017年のAWS re:Inventで、AWSはKubernetesを採用したコンテナプラットフォームサービスの提供や、サーバレスコンピューティングの「AWS Lambda」における機能強化、さらにコンテナプラットフォームの抽象度を上げたサービスを発表。コンポーネント化されたアプリケーションの開発と運用のための環境を、さらに充実させた。

AWSはKubernetesプロジェクトへの貢献も約束

「Run Kubernetes for me.」

 AWSはKubernetesをコンテナオーケストレーションツールとして採用した、コンテナプラットフォームのマネージドサービス「Amazon Elastic Container Service for Kubernetes(以下、EKS)」を提供すると発表した(現時点ではプレビューの段階)。その理由として同社は、上記の顧客ニーズを挙げた。「Kubernetesのサービスをしてくれ」ではなく、「私の代わりにKubernetesを運用してくれ」という意味だ。

 AWSは2014年より、独自のコンテナオーケストレーション技術に基づく「Amazon EC2 Container Service(ECS)」を提供してきた。2017年12月上旬時点で、10万以上のコンテナクラスタが稼働しているという。一方で、多数のユーザーがKubernetesをコンピュートサービスAmazon EC2上で利用し、自らコンテナ環境を運用してきたと、AWSは説明している。

参照記事:
AWSの新サービスLambdaとECSは、何であり、何でないのか

 Kubernetesおよび関連ツールを推進する団体、Cloud Native Computing Foundation(CNCF)のエグゼクティブディレクターであるダン・コーン(Dan Kohn)氏も2017年7月、「現時点ではおそらく、(クラウドサービスで)最も多くのKubernetesがAWSで動いている」と話していた。

 AWSにおけるKubernetesの運用では、特に可用性確保のため、複数のアベイラビリティゾーンにまたがる構成とするのがベストプラクティスとされている。しかし、その運用は負荷が高い。そこでKubernetesを大規模に利用しているユーザーから、「自分たちに代わって運用してくれ」という声が多く聞かれるようになってきたのだという。

EKSは可用性の高い大規模なKubernetes環境をサービスとして提供、オープンソースのメリットをそのまま生かせることが特徴

 AWSはこれまでも多くのオープンソースソフトウェアをサービスに活用してきたが、今回発表したEKSでは、オープンソースのKubernetesに全く改変を加えずに提供する。ECSについても、CNCFが主導する標準を取り込んでいくという。さらにAWSはCNCFの活動に貢献していくという。

 AWSのクラウドアーキテクチャ戦略担当バイスプレジデント、エイドリアン・コックロフト氏は、re:Invent 2017の1週間後にCNCFが開催した「KubeCon + CloudNativeCon North America 2017」で、次のように話している。

 「Kubernetesをフォークすることはない。私たちが(Kubernetesに関して)やることは全て、アップストリームに提案する。コミュニティを説得できなければ取り下げる。ユーザーはあらゆるクラウドおよび自社のデータセンターで、完全に同一のコードを走らせることを望んでいる。AWSでカスタムバージョンを提供しても助けにはならない。私たちは純粋な(オープンソース)体験を提供したいと強く思っている」

 AWSでは、オープンソースのKubernetesをそのまま利用するだけではなく、Kubernetesプロジェクトに積極的に参加していくという。

「私たちは、Kubernetesに積極的に貢献するチームを構築しようとしているところだ」(コックロフト氏)

 サーバレスコンピューティングに関するワーキンググループへの参加を、コックロフト氏は例に挙げている。

 EKSでは、標準ネットワークインタフェースとして、CNCFが推進しているCNI(Container Network Interface)に対応し、AWSが開発したプラグインを通じてEKSクラスタをAmazon VPC内に参加できるようにする(すなわちユーザーは、Kubernetesによるコンテナ基盤をAmazon VPC内で動かせる)。なお、ECSでは既に、これと同一のメカニズムを使ってCNIに対応しているという。

 また、AWSのアイデンティティ管理機能であるIAM(Identity and Access Management)との統合ではHeptioと協業。オープンソースのツールを通じて、KubernetesのAPIを通じた認証/権限管理ができるようにしている。

 EKSでは他にも、HashiCorp Vaultを通じたシークレット情報管理に対応、さらに、CNCFがコンテナと外部のシークレット情報連携における標準として推進しようとしているSPIFEE(Secure Protection Framework for Everyone)にも協力しているという。

FargateでLambdaに似た利用モデルを実現

 ECSおよびEKSの抽象度を上げたコンテナ活用の新たな選択肢として、AWS re:Invent 2017でAWSが発表したのが「AWS Fargate」。使ったリソースの量で課金する。ECSについては正式リリース、EKSについては2018年中に対応するとしている。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。