GKE Autopilot とは? GKE Standard との違いや料金体系、利用時の注意点まで徹底解説!
- Cloud
- GKE
- GKE Autopilot
- コンテナ
GKE Autopilot をご存知でしょうか? Google が提供する Kubernetes のマネージドサービス「 Google Kubernetes Engine 」に追加された新しいモードのことです。この GKE Autopilot を活用することで、企業は様々なメリットを享受できます。
そこで本記事では、 GKE Autopilot とは何か?という基礎的な内容から、 GKE Autopilot のユースケースや料金体系、利用時の注意点、従来の GKE ( GKE Standard )との違いなど、あらゆる観点から一挙にご紹介します。
目次
Google Kubernetes Engine (GKE)とは?
はじめに、 Google Kubernetes Engine (以下 GKE と記載)の概要をおさらいしておきましょう。 GKE は Google Cloud (GCP)上で提供されている Kubernetes のマネージドサービスです。マスターノードは GKE が管理を行うため、ユーザー側は管理の必要がありません。
なお、 Kubernetes とは、複数のコンテナを管理するためのオーケストレーションツールです。 Google の全てのサービスはコンテナ上で稼働しており、毎週20億以上ものコンテナがデプロイされています。
その大規模な環境で運用を行うツールとして、 Google は Borg というオーケストレーションツールを開発しました。そして、何年にも渡って Borg を使用してきた経験やノウハウを活かし、 OSS として公開されたのが Kubernetes です。
GKE はコンソールを利用してクラスターを容易に構築でき、負荷に応じたノードの自動スケーリングも可能となっています。また、 Google Cloud (GCP)のサービスアカウントと連携して権限を制御するなど、セキュリティを強化するための機能も多く実装されています。
さらに、ロードバランサーとの連携によるネットワークトラフィックの負荷分散やロギング・モニタリングなど、利用企業にとって嬉しいポイントが数多く存在します。
このように GKEは、自社の構築や運用の負荷を軽減しながら、 Kubernetes 環境としてクラウド上で利用できるコンテナのプラットフォームとなっています。 Google Cloud (GCP)の各種機能とも容易に連携でき、様々なことを実現できる点も GKE が人気を集めている理由の一つと言えるでしょう。
Kubernetes に関心のある方は以下の記事がオススメです。
Kubernetes とは?概要、機能、メリット、活用事例まで徹底解説!
コンテナに関しては以下の記事で詳しく解説しておりますので、ご興味ある方はぜひご覧ください。
コンテナ化とは?仮想化との違いやメリット、デメリット、ユースケースまで詳しく紹介!
GKE でのDockerイメージを使ったコンテナの起動方法について解説した記事もありますので、ぜひご覧ください。
【GCP入門編・第7回】知らなきゃ損! Google Container Engine (GKE) での Dockerイメージを使ったコンテナの起動方法!
GKE Autopilot とは?
GKE Autopilot とは、2021年2月に発表された GKE の新しいモードです。新しいサービスが追加されたわけではないので、その点は注意してください。
GKE Autopilot の実装に伴い、従来の GKE は「 GKE Standard 」と名称が変更されました。基本的な仕組みは GKE Standard と同じですが、いくつか GKE Autopilot ならではの特徴が存在します。
例えば、ノードが完全マネージドで提供されている点が挙げられます。そのため、ノードを自社で運用する必要はなく、企業は Kubernetes 利用などの生産性の高い業務に集中できます。ノード管理の仕組みとしては、 Cluster autoscaler (CA)と Node auto provisioning (NAP)を使い、ノードを動的に作成、削除しています。
また、 GKE Autopilot では、 Pod 単位で 99.9% ( Monthly Uptime Percentage ) の SLO ( Service Level Objective :サービスレベル目標)が設定されています。対象となる条件は「2つ以上のゾーンに Pod が配置されていること」であり、 Pod とは別に Control Plane には 99.95% のSLO が設定されています。
GKE Autopilot と従来の GKE ( GKE Standard )の違い
以下、 GKE Autopilot と従来の GKE ( GKE Standard )の主な違いを表にまとめます。
ネットワークタイプVPC ネイティブクラスタVPC ネイティブクラスタ or Route based クラスタ
機能 | GKE Autopilot | GKE Standard |
---|---|---|
Control Plane | 完全マネージド | 完全マネージド |
ノード | 完全マネージド | マネージド |
課金 | Pod 単位 + クラスター管理費用 | ノード単位 + クラスター管理費用 |
SLA | Pod 単位 + Control Plane の SLA | ノード単位 + Control Plane の SLA |
アップグレード | ・Control Plane :自動 ・ノード:自動 |
・Control Plane :自動 ・ノード:自動 or 手動 |
クラスタタイプ | リージョンクラスタ | リージョン or Multi zonal or Single zonal クラスタ |
このように、 GKE Autopilot と従来の GKE ( GKE Standard )には様々な違いが存在します。それぞれの特徴を理解して、自社に最適なモードを選択することが大切なポイントです。
なお、 GKE Autopilot の方が Kubernetes の運用をより簡単に行えるので、まずは GKE Autopilot で対応可能かどうかを検討し、難しい場合には GKE Standard の利用を検討する、という流れがオススメです。
SLA については以下の記事で詳しく解説しておりますので、ぜひご覧ください。
SLA (サービス品質保証)とは?メリットやチェックすべき3つのポイントを徹底解説!
ゾーンやリージョンについては以下の記事で詳しく解説しております。
【クラウドの必須知識】「リージョン」と「ゾーン」の違いや選ぶときのポイントを徹底解説!
GKE Autopilot のユースケース
Kubernetes で動作するワークロードは様々なシーンで活用できますが、その中でも得意とするユースケースが存在します。
GKE Autopilot は Pod 単位での課金であり、ライフサイクルが短いようなテスト環境などの構築に適しています。その反面、ノードへのユーザーアクセスを制限するため、カーネルのチューニングを必要とする大量のトラフィックが発生するようなワークロードは苦手分野です。
以下、 GKE Autopilot の代表的なユースケースです。
- バッチ
- 非同期のワーカー
- 開発、テスト環境用途
- ステートレス
- オートスケールの速さをそこまで求めない
- 大量のリクエストやトラフィックを捌かない
場合によっては GKE Standard の方が適している場面もあるため、 GKE Autopilot の特徴を正しく理解して、状況に合わせたモード選択を行なってください。
GKE Autopilot の料金体系
GKE Autopilot では、作成された Pod のリソースのみに対して秒単位で課金されます。そのため、システム系の Pod に対する料金は発生しません。
Tokyo ( asia – northeast1)リージョンにおける金額は以下の通りです。
アイテム | 価格 |
---|---|
GKE Autopilot vCPU Price ( vCPU – hr ) | 0.0571米ドル |
GKE Autopilot Pod Memory Price ( GB – hr ) | 0.0063215米ドル |
GKE Autopilot Ephemeral Storage Price ( GB – hr ) | 0.0000704米ドル |
このように、 GKE Autopilot では、各アイテムに価格が設定されており、作成された Pod リソースに応じて料金が発生する仕組みとなっています。
GKE Autopilot 利用時の注意点
GKE Autopilot では、いくつか利用時の制約が設けられています。具体的な内容をご紹介しますので、事前に理解しておきましょう。
ワークロードの制限
ホストオプションの制限
ノード管理は GKE によって処理されるため、 HostPort と hostNetwork は使用できません。また、書き込みモードでは hostPath ボリュームの使用が禁止されています。読み取りモードの場合、 hostPath ボリュームの使用は /var/log/ パス接頭辞でのみ許可されます。なお、ワークロードでのホスト名前空間の使用は禁止されています。
Linux ワークロードの制限
GKE Autopilot は、ワークロードに関する次の Linux 機能のみをサポートします。
- SETPCAP
- MKNOD
- AUDIT_WRITE
- CHOWN
- DAC_OVERRIDE
- FOWNER
- FSETID
- KILL
- SETGID
- SETUID
- NET_BIND_SERVICE
- SYS_CHROOT
- SETFCAP
なお、 GKE バージョン 1.21 以降では、ワークロードで「 SYS_PTRACE 」の機能もサポートされています。
Container Threat Detection は未サポート
GKE Autopilot では、 Container Threat Detection はサポートされていません。
特権 Pod は未サポート
ワークロード内のコンテナに対する特権モードは、 kubelet やネットワーク設定の変更など、主にノードの変更で使用されます。また、 Autopilot クラスタでは、ノードの変更が許可されないため、こうしたタイプの Pod は許可されません。
セキュリティの制限
Pod のセキュリティポリシー
Autopilot クラスタでは、 Kubernetes PodSecurityPolicy はサポートされていません。また、バージョン 1.21 以前の GKE では、 OPA Gatekeeper と Policy Controller もサポート対象外となっています。
GKE Autopilot のセキュリティ境界
Kubernetes レイヤにーおいて、 GKE Autopilot モードには Kubernetes API が用意されていますが、特権 Pod などの特権付き Kubernetes プリミティブを使用する権限は削除されます。これは、ノードの仮想マシン(VM)に対してアクセス、変更、または直接制御を行う機能を制限することを目的としています。
その他の制限
証明書署名リクエスト
GKE Autopilot 内では、証明書署名のリクエストを作成することはできません。
外部モニタリングツール
ほとんどの外部モニタリングツールでは、制限付きのアクセス権が必要になります。複数の Google Cloud パートナーが提供するソリューションを GKE Autopilot で使用することは可能ですが、すべてがサポートされているわけではありません。また、 Autopilot クラスタにカスタムモニタリングツールをインストールすることは不可となります。
マネージド名前空間
kube-system の名前空間はマネージドで提供されています。つまり、この名前空間内のすべてのリソースは変更することができず、新しいリソースを作成することも不可となります。
ノードの変更不可
Autopilot クラスタの場合、ノードは GKE によって管理されるため、変更することができません。
変換なし
標準クラスタを GKE Autopilot モードに変更することはできません。また、 Autopilot クラスタの Standard モードへの変更も不可となります。
外部からの限定公開クラスタへのダイレクトな受信接続は不可
プライベートノードのある Autopilot クラスタには外部 IP がないため、受信接続を直接受け入れることはできません。また、 NodePort にサービスをデプロイすると、これらのサービスにインターネットなどの VPC の外部からアクセスすることはできなくなります。
Pod のバースト不可
標準クラスタでは、ノードで未使用の容量を集中利用するように Pod を構成できます。しかし、 Autopilot クラスタでは、すべての Pod でリクエストに対する上限が設定されているため、リソースバースト機能は使用できません。 Pod の仕様でリソースリクエストに十分なリソースを定義し、バースト機能に依存しないことが重要です。
SSH 不可
GKE Autopilot では、ノードのプロビジョニングや管理を行わないため、 SSH アクセスは許可されません。ノードの健全性やノード上で実行されているすべての Kubernetes コンポーネントに関する処理など、ノードのすべての運用面は GKE によって処理されます。
リソースの上限
Autopilot クラスタでは、各 Pod は保証型の QoS クラス Pod として扱われ、リソースリクエストと同じ上限が設定されます。リソース上限が指定されていない場合、 GKE Autopilot はリソースリクエストと同じリソース上限を自動的に設定します。なお、リソース上限を指定した場合は上限がオーバーライドされ、リソースリクエストと同じ値に設定されます。
まとめ
本記事では、 GKE Autopilot とは何か?という基礎的な内容から、 GKE Autopilot のユースケースや料金体系、利用時の注意点、従来の GKE ( GKE Standard )との違いなど、あらゆる観点から一挙にご紹介しました。
GKE の新モード「 GKE Autopilot 」が登場したことで、 Kubernetes の運用をより簡単に行えるようになりました。コンテナを利用している企業にとっては、 GKE Autopilot はとても有効なツールであると言えるでしょう。
なお、 GKE は Google Cloud (GCP)に内包されているサービスであるため、 GKE Autopilot を利用するためには Google Cloud (GCP)の契約が必要になります。 Google Cloud (GCP)には、 GKE 以外にもビッグデータ解析ツール「 BigQuery 」や高性能な ETL ツール「 Dataflow 」など、様々なサービスが用意されており、あらゆるシーンにおける業務効率化や生産性向上に寄与します。
本記事を参考にして、 Google Cloud (GCP)の導入および GKE Autopilot の活用を検討してみてはいかがでしょうか?
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!