Amazon Web Services(AWS)は、2017年11月末から12月初めにかけて開催したAWS re:Invent 2017で、Amazon ECS for Kuberneteや「Fargate」、さらにサーバレスコンピューティングの「AWS Lambda」における機能強化などを発表した。こうした発表から見えてくるものは、インフラを意識しない運用環境の進化だ。
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」における機能強化、さらにコンテナプラットフォームの抽象度を上げたサービスを発表。コンポーネント化されたアプリケーションの開発と運用のための環境を、さらに充実させた。
「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を大規模に利用しているユーザーから、「自分たちに代わって運用してくれ」という声が多く聞かれるようになってきたのだという。
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)にも協力しているという。
ECSおよびEKSの抽象度を上げたコンテナ活用の新たな選択肢として、AWS re:Invent 2017でAWSが発表したのが「AWS Fargate」。使ったリソースの量で課金する。ECSについては正式リリース、EKSについては2018年中に対応するとしている。
Copyright © ITmedia, Inc. All Rights Reserved.