オンプレミスまたはエッジコンテナアプリケーションを AWS で管理できるようにする ECS Anywhere が一般提供されました。
Elastic Container Service は、コンテナオーケストレーションにおける Kubernetes の代替となる AWS のサービスです。AWS は EKS (Elastic Kubernetes Service) も提供していますが、ECS の方が使いやすく、IAM (Identity and Access Management) や ELB (Elastic Load Balancer) などの他の AWS サービスと緊密に統合されています。
昨年 12 月に同社の re:Invent で発表された ECS Anywhere により、顧客は独自のインフラストラクチャ上の ECS 上でコンテナを実行できるようになります。
ECSは、さまざまなハイブリッドシナリオで実行できるようになります。ECS Anywhereとの大きな違いは、顧客が管理するハードウェア上で実行されることです。
AWSはかつてハイブリッドクラウドという概念に冷淡でしたが、今ではこのテーマに関する専用マイクロサイトを開設するほど積極的に取り組んでいます。「ほとんどのアプリケーションはクラウドで実行できますが、低レイテンシ、ローカルデータ処理、データレジデンシー要件などの理由から、オンプレミスまたは特定の場所に残しておく必要があるアプリケーションもあります」とAWSは認めています。
ハイブリッドサービスには現在、Outpostsが含まれています。Outpostsでは、AWSがオンプレミスでハードウェアをインストールし、AWSリージョンの拡張としてお客様に代わって管理します。一方、ECS Anywhereと今後リリースされるEKS Anywhereでは、お客様が自社のハードウェアにAWSソフトウェアをインストールし、AWSコンソールから管理できます。
ECS は、クラスターリソースを自動管理する Fargate 上でサーバーレスで実行しない限り、インスタンスで構成されるクラスター上でコンテナを実行します。ECS Anywhere は、オンプレミスのサーバーまたは VM を「外部インスタンス」として登録することで機能します。
これには、オンプレミス ネットワークと AWS VPC (仮想プライベート クラウド) 間の VPN が必要です。
外部インスタンスを登録すると、各オンプレミスサーバーまたはVMで実行するスクリプトが生成されます。x86_64とARM64の両方のアーキテクチャがサポートされており、OSはCentOS 7および8、RHEL 7、Fedora 32および33、openSUSE Tumbleweed、Ubuntu 18または20、Debian 9または10、SUSE Enterprise Server 15など、サポートされているLinuxバージョンのいずれかである必要があります。設定が完了すると、外部インスタンスがECSコンソールに表示され、タスクを実行できるようになります。タスクとは、連携して動作するように設計されたコンテナのセットです。
- AWSが新しい専用オンプレミスハードウェアと連携ストレージ層を発表
- EKSの魅力: AWSのコンテナゲームがハイブリッド化される中、Canonicalは「スナップインストールするだけ」と語る
- GoogleはKubernetesコンテナ技術が非常に複雑であるため、すべてを自動的に実行するAutopilot機能を導入する必要があることを認めています。
- AWS App Runner: GitHub からデプロイされたアプリケーションへの高速パスですが、最初のリリースでは機能が制限されています
- ちょっとした実験をしてみませんか?AWS に障害注入シミュレータが登場、カオスが到来
制限事項
「Amazon ECS 外部インスタンスは、送信トラフィックを生成したりデータを処理したりするアプリケーションの実行に最適化されています」とドキュメントには説明されています。
ELB はサポートされていないため、Web サービスなどのアプリケーションの実行は最適ではありませんが、ロード バランサーを手動で構成することは可能です。
AWS と ECS Anywhere インスタンス間のリンクがダウンするとどうなるでしょうか? オンプレミスのタスクは引き続き実行されますが、タスクロールの認証情報は 6 時間ごとに期限切れになり、ドキュメントによると、期限切れになるとタスクは「他の AWS サービスと通信できなくなります」。
ECS Anywhereは、ネットワークが切断された環境には適していません。同社は「コンテナの管理に必要な情報のみが、AWSリージョンで稼働するECSコントロールプレーンに送信される」と説明しています。
つまり、顧客データはオンプレミスに残ります。
ECS Anywhereの料金は、マネージドECS Anywhereインスタンス1つにつき、インスタンス時間あたり0.01025ドルです。これは、AWS上のECSの料金とは異なります。AWS上のECSでは、お客様は使用したリソースに対してのみ料金を支払います(ECSには追加料金はかかりません)。言い換えれば、AWS経由のオーケストレーションを利用することで、タスク1つあたり月額約7.50ドルの費用がかかります。
自宅のRaspberry PiクラスターでECS Anywhereを試すのに十分です
詳細な投稿では、クラスターに4台のRaspberry Pi 4コンピューターを使用してECS Anywhereを試す方法を説明しています。この例では、オペレーティングシステムはUbuntu 20です。
AWSは、同様のモデルを採用したEKS Anywhereもプレビューしており、今年後半に提供開始予定としている。
ECS Anywhereにより、AWSはGoogle(Anthos)やMicrosoft(Azure Arc)に続き、オンプレミスのワークロードをパブリッククラウドに統合するよう顧客を説得しようとしています。そのメリットは、管理の一貫性とクラウドとオンプレミス間のワークロード移行の容易さですが、プライベート管理のインフラストラクチャ上でアプリケーションを実行するためにAWSに料金を支払う必要もあります。®