【AWS re:Invent 2017】【初心者向け】Dockerから説明するAmazon ECS, EKS, Fargate

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

re:Inventでコンテナ関連の新サービスが複数発表されましたので、
ここで一度Dockerからおさらいしてみたいと思います。

Dockerって普通のVMと比べて何が良いの?

Dockerは構築作業が効率的です。

Dockerはイメージが構築ステップ毎の差分管理となっており、
構築ステップ毎にキャッシュを行うため、
構築方法を変更したときはそのステップの直前までのステップは
キャッシュを利用し一瞬で完了します。

Dockerはイメージの保管容量と送受信が効率的です。

Dockerはイメージが構築ステップ毎の差分管理となっており、
イメージの保管は同じ構築ステップの重複が省かれ容量を効率的に使用できます。
また、イメージ送受信時には構築ステップの異なる更新分だけを送受信できるので、
イメージの送受信を高速にできます。

Dockerは起動・終了が高速です。

「ハイパーバイザー型仮想化」のVMと比べ、
Dockerは「コンテナ型仮想化」 なので起動・終了が高速です。
この利点を活かし、
1台若しくは複数台のDockerホストをロードバランシングした「クラスター」を作成することで、
そのクラスターのDockerホストにサービスのデプロイやスケールを
高速に行うことができるようになります。

Amazon Elastic Container Service(ECS)って普通のDockerクラスターと比べて何が良いの?

DockerのクラスターをAWSの機能と連携した形で実行できます。

Dockerクラスターの構築ツールとしてはKubernetes, Docker swarm等がありますが、
それらを使用してAWS上にAWSの機能と連携した形でクラスターを作成・管理するのは
大変な作業となりますが、
Amazon ECSを使用すると、AWSのプラットフォームとインテグレートされている、
EC2のインスタンスを活用するクラスターが簡単に構築できます。

Amazon Elastic Container Service for Kubernetes(EKS)って普通のECSと比べて何が良いの?

コード変更なしで簡単に自身のKubernetesアプリケーションをAmazon EKSに移行することが可能です。

Amazon EKSはオープンソースのKubernetesを基に実行されますので、
Kubernetesコミュニティの全ての既存のプラグインとツールを使用できます。
標準のKubernetes環境で動作するアプリケーションと完全に互換性があります。

Amazon Elastic Container Service for Kubernetes(EKS)って普通のKubernetesと比べて何が良いの?

KubernetesのマスターがマルチAZで展開されます。

Kubernetesでクラスターを構成する上で、
Kubernetesの管理機能を提供する「マスター」のサーバーが必要となりますが、
EKSではマスターがマルチAZで展開されるため、単一障害点がありません。

不健全なマスターを自動的に検出して置き換え、マスターの自動バージョンアップとパッチ適用も行います。

Amazon EKSがアップグレード、パッチ当て、そして高可用性といったことを扱ってくれます。

AWS Fargateって普通のECSと比べて何が良いの?

クラスターを管理する必要がありません。

Fargateが自動的にを実行し、複数のアベイラビリティーゾーンに自動的にスケールします。
したがって、サーバも、クラスタも、プロビジョニングもありません。
実行可能にする必要のあるクラスターやその周辺のインフラストラクチャーを
自動的にセットアップします。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.