AWS、4つのコンテナに関する新機能を発表

Amazon.com, Inc.の関連会社であるAmazon Web Services, Inc.(AWS)は、「AWS re:Invent」にて、顧客のモダンアプリケーション開発、デプロイ、スケーリングをサポートする4つの新たなコンテナ分野におけるイノベーションを発表した。

コンテナとは、あらゆる環境下でアプリケーションを迅速かつ確実にパッケージ化して実行する開発者向けの標準的な手段であり、リソースを有効活用し、コストを削減できるという。AWSは現在、コンテナアプリケーションのプロビジョニング、デプロイ、管理のさらなる容易化に取り組んでおり、今回、顧客のデータセンター内でAmazon Elastic Container Service(ECS)やAmazon Elastic Kubernetes Service(EKS)の実行を可能にする機能や、コンテナやサーバーレスアプリケーションの開発・デプロイを自動化する新サービスを追加した。さらに開発者に対して、コンテナソフトウェアをパブリックに共有・デプロイするための、容易かつ可用性の高い手段として、新たなコンテナレジストリを提供する。

多くの企業は顧客に対して、単一のマネージドKubernetesコンテナサービスを提供しているが、開発者が変わればニーズの優先順位も変わるため、こうした手法には限界がある。そこでAWSは、オープンソースのKubernetesオーケストレーションエンジンの使用を最も優先する開発者向けには、Amazon EKSを提供している。一方、AWSの他のサービスとの連携やAWSスタイルのAPIの快適性、クラスタの管理、スケジューリング、モニタリング向けの合理化された構成を優先する開発者には、Amazon ECSを提供している。また、サーバーやクラスタのことを考えずにコンテナを実行すること、いわゆるサーバーレスを検討する顧客には、AWS Fargateを提供している。開発者の多様なニーズに応えるため、サーバーレスコンテナサービスや、コンテナサービスの包括的な製品群を提供しているプロバイダーは、AWSのほかにない。顧客が異なるワークロードで上記の3つのコンテナサービスすべてを同時に使用するケースも珍しくなく、いずれのサービスも急速に成長し続けているという。

■Amazon ECS Anywhere、Amazon EKS Anywhere:顧客のデータセンター内でAmazon ECSとAmazon EKSを実行可能に

コンテナ内でのアプリケーションの実行を希望する顧客は、オンプレミスのアプリケーションとクラウドのアプリケーションのデプロイと管理において、それぞれ別のプロセスを経る必要がある。こうした状況では、オンプレミス環境のコンテナオーケストレーションソフトウェアを手動でインストール、運用、管理する必要がある。AWS環境とオンプレミス環境では、異なるツールの使用が求められるため、顧客は、複数の専門領域やスキルセットにおいて、常に最新の知識を備えていることが求められる。これは、運用の負担につながるだけでなく、新しいビジネスにつながる機能の提供のスピードも遅くなってしまう。その代わりに顧客が求めているのは、Amazon ECSやAmazon EKSで使用しているものと同様のモニタリング、クラスタ管理、デプロイのパイプラインを使用して、自社のデータセンターとAWS環境で動作する完全マネージド型のソリューションだ。

・Amazon ECS Anywhere:顧客はAWS環境で利用しているものと同様のクラウドベースの完全マネージド型・高可用のコンテナオーケストレーションサービスを使用し、自社のデータセンター内でAmazon ECSを実行できる。Amazon ECS Anywhereによって、すべてのコンテナベースのアプリケーションで一貫したツールとAPIを利用できると同時に、クラウドと自社データセンターの両方の環境におけるクラスタ管理、ワークロードのスケジューリング、モニタリングにおいて、Amazon ECSと同じ体験を提供する。Amazon ECS Anywhereがあれば、オンプレミス環境での自社のコンテナオーケストレーターの実行、更新、保守が不要となり、コンテナをクラウドに移行し、ハイブリッド環境で管理することが容易になる。Amazon ECS Anywhereは、2021年上半期中の提供開始予定だという。

・Amazon EKS Anywhere:これまでのAmazon EKSと同様の一貫性のある運用により、自社のデータセンターとクラウド環境でKubernetesを実行できるようになる。Amazon EKS Anywhereは、あらゆるインフラストラクチャ(ベアメタル、VMware vSphere、クラウド仮想マシン)に対応しており、顧客には一貫したKubernetes管理ツールを提供する。このツールは、OS、コンテナレジストリ、ログの収集、モニタリング、ネットワーキング、ストレージのデフォルト構成で、クラスタのインストール作業を容易に行えるように最適化されている。Amazon EKS Anywhereは、Amazon EKSで展開されるKubernetesディストリビューションのAmazon EKS Distroを使用している。そのため、顧客は最新のソフトウェアアップデートやセキュリティパッチの拡大など、Amazon EKSのベストプラクティスと一貫性のある形で、クラスタを容易に作成できる。Amazon EKS Anywhereによって、Kubernetesクラスタをオンプレミス環境にインストールし、運用に必要なベンダーサポート契約や各種ツール群をとりまとめる負担を解消する。Amazon EKS Anywhereは、2021年上半期中の提供開始予定とのことだ。

■AWS Proton:コンテナとサーバーレスアプリケーションの開発とデプロイを自動化する開発者向けの新サービス

コンテナとサーバーレスアプリケーションは運用面で確実なメリットをもたらすが、それによって、顧客によるコードの開発やデプロイの方法が変わることにもなる。現在、開発者がAmazon EC2インスタンスで従来型のアプリケーションを構築する場合、アプリケーションが単一ブロックのコードとして構築されるケースが多く、そのためAWS CloudFormationテンプレート(インフラストラクチャのプロビジョニング)、AWS CodePipeline(継続的インテグレーション/継続的デリバリー(CI/CD)プロセスの設定)、Amazon CloudWatch(デプロイのモニタリング)など、コードの開発やデプロイをサポートするための実績あるツール群が揃っている。実際のところ、EC2上でアプリケーションをいったん稼働させても、アプリケーションのコンポーネントは特に変わらず、一般的にコードは単一のリリース内で保守されるため、それを調整し続けることは比較的容易な作業だ。一方で、コンテナやサーバーレスアプリケーションは、比較的小規模なコードの塊(チャンク)で組み立てられており、独立して開発・保守し、アプリケーションを構築・拡張する際につなぎ合わせるケースが多くなっている。それぞれのチャンクには、個々のインフラストラクチャが採用されており、更新と保守が必要となる。こうしたチャンクは、別々のチームが開発・運用することが多く、各チームは自由にコンポーネントを更新できることから、従来型のアプリケーションに比べて、より頻繁に変更が発生する。顧客がコンテナとサーバーレスアプリケーションの開発に移行する中で、インフラストラクチャのプロビジョニング、コードのデプロイ、モニタリングツールにおける様々な変更を調整することは困難だ。そのため、顧客はリソースのプロビジョニング、コードのデプロイ、モニタリングなど、あらゆるタスクを一括管理する統合型ソリューションを必要としている。インフラストラクチャチームが開発者へのガイダンスの提供に努め、ベストプラクティスを導入できるよう、自社のカスタムツールを作成するケースもあるが、コンテナとサーバーレスアプリケーションの開発・デプロイの複雑さは、多くの企業でアプリケーションの開発を遅らせるため、課題となっているという。

最新のアプリケーション管理サービスであるAWS Protonは、コンテナやサーバーレスのように、演算単位が小さく動的な場合において、アプリケーションのプロビジョニング、デプロイ、モニタリングをシンプル化する。AWS Protonを使用すると、アプリケーションコンポーネントを「スタック」(アプリケーションで使用されるコードの塊のさまざまな組み合わせ)として定義できる。AWS Protonには、セキュリティ、アーキテクチャ、ツールなど、AWSのベストプラクティスが組み込まれたキュレーション済みのアプリケーションスタックのセットも備えており、インフラストラクチャチームは開発チームに信頼できるスタックを迅速・容易に配布できる。さらに、様々な用途向けのスタックを開発チームに提供でき、これらのスタックは、複数のチームがスタックを同時にデプロイした場合も標準化され、最新状態が維持される。AWS Protonを利用することで、開発者はこのようなアプリケーションスタックを保存、再利用できるほか、コンテナとサーバーレスアプリケーションのデプロイ環境と、開発中のアプリケーションのモニタリング機能、さらにはスタックの最新コンポーネントによってアプリケーションの自動更新もできるようになる。またAWS Protonは、コンテナとサーバーレスアプリケーション向けのコード、CI/CDパイプライン、モニタリングなどのインフラストラクチャのデプロイを自動化する。インフラストラクチャチームはAWS Protonを利用することで、アプリケーションの開発プロセスを手動で管理することなく、一貫した方法でサーバーレス/コンテナ技術を自社のアプリケーションに使用できる環境を、開発者に提供できるようになる。AWS Protonは現在、プレビュー版を提供中だ。

■Amazon Elastic Container Registry Public(Amazon ECR Public):コンテナソフトウェアをパブリックに共有・デプロイ可能に

コンテナベースのアプリケーションを構築する開発者の多くは、OS、データベース、アプリケーションコンポーネントなど、コンテナイメージとしてパブリックに配布されている共通のソフトウェアパッケージを活用している。開発者は、Amazon ECRなどのコンテナレジストリサービスを使用し、コンテナイメージを社内用に管理している。現在、Amazon ECRを活用する顧客は、毎週30億個以上のイメージをダウンロードしており、これにより開発者は、自社のアプリケーションで使用するためのコンテナをデプロイできる。しかし、開発者が言語ライブラリ、Webサーバー、データベースなど、人気のソフトウェアをイメージとしてパブリックに配布したい場合、現状ではAmazon ECRからこれらをダウンロードすることはできない。その代わりに、Docker Hubのような、パブリックなWebサイトやレジストリからイメージをダウンロードする必要があるが、匿名ユーザーや無料プランではイメージをプルする際のスピードが制限されるため、可用性が保証されず、結果として非効率的で信頼性の低いソフトウェアデリバリーになる。こうした依存状態を回避するため、開発者はこれらの共通イメージをローカルに複製して管理することが必要となるが、最新バージョンのイメージとの同期状態を維持することは難しく、運用の複雑さが増すとともに、アプリケーションの迅速なスケーリングも制限される。複数のリージョンでパブリックイメージからコンテナを実行するAWSの顧客は、イベントのログ管理やネットワークポリシーの管理にあたり、ローカルイメージのコピーをそれぞれのリージョンに複製する必要があるが、そのプロセスで求められる迅速かつ確実なイメージのダウンロードが課題となっている。

こうした課題を解決できるよう、Amazon ECRでは、開発者がコンテナイメージを保存、管理、共有、デプロイするためのパブリックレジストリを追加しており、これによって誰でも検索・ダウンロードが可能となる。顧客はAmazon ECR Publicを使用することで、プライベートとパブリック、両方のコンテナイメージをホストでき、パブリックなWebサイトやレジスタの使用が不要になる。今後は、自社のコンテナレポジトリを運用することも、基本インフラストラクチャの拡張を気にする必要もなく、1度のコマンドでパブリックコンテナイメージを迅速に公開できる。これらのイメージは、地理的に複製されており、世界中で高信頼の可用性を実現しており、ダウンロードの高速化によって、イメージをオンデマンドで迅速に提供できる。Amazon ECR Publicは、可用性の高いサービスであり、顧客はパブリックコンテナイメージのほか、あらゆる開発者が利用可能なポリシー構成など、関連ファイルを配布できる。さらに、「Amazon ECR Public Gallery」と呼ばれる新たなWebサイトにより、誰でもパブリックコンテナイメージを閲覧・検索し、開発者の提供した詳細情報やプルコマンドを見ることができる。その際、AWSへのサインインは不要。Amazon ECR Publicは、パブリックイメージの最新バージョンを公開した際に、顧客へ通知する。Amazon ECR Publicは、現在提供中だ。

AWSのコンピュートサービス担当バイスプレジデントであるディーパック・シン(Deepak Singh)氏は、次のように述べている。「移植性の向上、リソースの効率利用、コスト削減のため、お客様はコンテナ内でのワークロードの実行を望まれますが、こうした大きな優位性があるにも関わらず、AWSには、コンテナの管理、デプロイ、共有の容易化に関するご要望が寄せられています。このたび発表したイノベーションは、クラウドとお客様のデータセンター内でAmazon ECSとAmazon EKSの一貫したエクスペリエンスをお届けすることで、業界をリードするAWSのコンテナ機能をさらに拡大しています。これによって、コンテナとサーバーレスアプリケーションの開発・デプロイは大幅にシンプルになり、コンテナイメージをより簡単に保存、管理、共有できる、完全マネージド型のコンテナレジストリを提供します。」

フォルクスワーゲングループ(The Volkswagen Group)は、乗用車のフォルクスワーゲン、アウディ、ベントレー、ブガッティ、ランボルギーニ、ポルシェ、バイクのドゥカティを含む、世界を代表する12の自動車ブランドを製造している。同グループには、小型商用車、トラック、バスの大手メーカーであるトレイトンも含まれる。Volkswagen AGのグループソフトウェア開発担当責任者であるピーター・ガルザレラ(Peter Garzarella)氏は、次のように述べている。「当社は自社のソフトウェア開発チームが、インフラストラクチャのアーキテクチャやコンプライアンスを特に気にすることなく、ビジネス上の課題を解決する環境が必要です。今回のAWS Protonによって、ボタンを押すだけで、コンプライアンスに準拠し、進化を続ける使いやすいクラウドインフラストラクチャを社内チームに提供できます。」

Article Tags

Special Features

連載特集
See More