AWS での Kubernetes
オープンソースコンテナの管理およびオーケストレーション
Kubernetes は、コンテナ化アプリケーションを大規模にデプロイおよび管理できるオープンソースソフトウェアです。Kubernetes では、デプロイ、メンテナンス、スケーリングのプロセスにより、Amazon EC2 コンピューティングインスタンスのクラスターが管理され、これらのインスタンスでコンテナが実行されます。Kubernetes では、同じツールセットを使用して、オンプレミスやクラウド上で、すべてのタイプのコンテナ化アプリケーションを実行できます。
AWS では、スケーラブルで可用性の高い仮想マシンインフラストラクチャ、コミュニティによってサポートされたサービス統合、Amazon Elastic Container Service for Kubernetes (EKS) (Kubernetes 準拠の認定を受けているマネージドサービス) により、クラウドで簡単に Kubernetes を実行できます。
Kubernetes の仕組み
Kubernetes では、利用可能なコンピューティングリソースおよび各コンテナのリソース要件に基づいて、コンピューティングインスタンスのクラスターを管理し、クラスター上で実行するコンテナをスケジュールします。コンテナはポッドという論理グループ内で実行され、ユーザーは 1 つまたは複数のコンテナをまとめて 1 つのポッドとして実行およびスケーリングできます。
Kubernetes コントロールプレーンソフトウェアでは、使用率またはユーザー定義のその他のメトリクスに基づいて、ポッドをいつどこで実行するかの判断、トラフィックルーティングの管理、ポッドのスケーリングが実施されます。Kubernetes では、リソース要件に基づいてクラスターでポッドが自動的に開始されます。ポッドまたはインスタンスに障害が発生した場合は、ポッドが自動的に再開されます。各ポッドには IP アドレスと単一の DNS 名が割り当てられており、Kubernetes ではこれを利用して、サービス間およびサービスと外部トラフィック間の接続が行われます。
Kubernetes を使用する利点
Kubernetes はオープンソースプロジェクトであるため、Kubernetes を使用すれば、運用ツールの変更は不要で、どこからでもコンテナ化アプリケーションを実行できます。Kubernetes は、大規模なコミュニティのボランティアによって保守されており、常に改善されています。さらに、他の多くのオープンソースプロジェクトやベンダーによって、アプリケーションアーキテクチャを改善および拡張できる Kubernetes 互換ソフトウェアが作成および保守されています。
アプリケーションを大規模に実行
Kubernetes では、複雑なコンテナ化アプリケーションを定義し、サーバーのクラスター全体で大規模に実行できます。
アプリケーションをシームレスに移行
Kubernetes では、同じ運用ツールを使用し、コンテナ化アプリケーションをローカルの開発マシンからクラウド上の本番デプロイにシームレスに移行させることができます。
どこでも実行可能
スケーラブルで可用性の高い Kubernetes クラスターを AWS で実行しながら、オンプレミスで実行している Kubernetes のデプロイと完全な互換性を保つことができます。
新機能の追加
オープンソースプロジェクトとして、Kubernetes に新機能を追加することは容易です。大規模なコミュニティの開発者や企業によって、Kubernetes のユーザーに役立つ拡張機能、統合機能、プラグイン機能が作成されています。
AWS で Kubernetes を実行
AWS では、簡単に Kubernetes を実行できます。Amazon EC2 を使用して自分で Kubernetes インフラストラクチャを管理するか、Amazon EKS を使用して自動的にプロビジョニングされた、マネージド Kubernetes コントロールプレーンを取得するかを選ぶことができます。どちらにしても、VPC、IAM、サービスディスカバリなどの AWS のサービス、および AWS のセキュリティ、スケーラビリティ、高可用性に対して、コミュニティによってサポートされた強力な統合が得られます。
| 目的 |
お勧めする選択肢 | |
|---|---|---|
| Kubernetes のデプロイを完全に管理する。強力なインスタンスタイプを選択し、Kubernetes をプロビジョニングおよび実行する。 | Amazon EC2 | |
| マスターインスタンスおよび etcd のプロビジョニングや管理を行うことなく、Kubernetes を実行する。 |
Amazon EKS | ![]() |
| コンテナイメージの保存、暗号化、管理を行って迅速にデプロイする。 |
Amazon ECR |
![]() |
AWS コミュニティ Kubernetes コラボレーション
AWS では Kubernetes のコードベースに貢献するなど、Kubernetes コミュニティと積極的に協力して、Kuberentes ユーザーが AWS のサービスや機能を活用しやすくなるようにしています。
Kubernetes に関するよくある質問
AWS での Kubernetes の詳細

