Windows Server アプリケーションをご利用の皆様、Google Kubernetes Engine へようこそ
Google Cloud Japan Team
※この投稿は米国時間 2020 年 1 月 31 日に、Google Cloud blog に投稿されたものの抄訳です。
Kubernetes の活用では、場所を問わない容易なコンテナ管理の実現が期待されています。しかし最近まで Kubernetes がもたらすメリットは Linux ベースのアプリケーションに限定されていたため、Windows Server 上で実行されているエンタープライズ アプリケーションでは、その俊敏性、デプロイメントの速さ、シンプルな管理という利点を活かせませんでした。
昨年、コミュニティは Kubernetes のサポートを Windows Server コンテナに拡張しました。これに応じて、Windows Server コンテナを Google Kubernetes Engine(GKE)で実行できるようになりました。
GKE は、業界初の Kubernetes ベースのパブリック クラウド向けコンテナ管理ソリューションです。アナリストたちから高評価を受け、多様な業界のお客様に幅広くご利用いただいています。GKE での Windows のサポートは、Google Cloud における Windows Server ベースのアプリケーションのホスティングおよびモダナイゼーションで最高レベルの操作性を提供しようという、Google の取り組みの一環です。このため、Google では過去 6 か月にさまざまな機能を追加してきました。たとえば、お客様所有の Windows Server ライセンスを使用する機能(BYOL)、仮想表示、SQL Server と Active Directory 向けのマネージド サービスなどです。Volusion や Travix など、数多くのお客様が Windows ベースのアプリケーション ポートフォリオの実行とモダナイゼーションに Google Cloud を活用しています。
Windows Server アプリケーションにも広がる Kubernetes のメリット
Windows Server アプリケーションを Kubernetes 上のコンテナとして実行することで、これまで Linux アプリケーションが何年も享受してきたメリットの多くを手にすることができます。また、Windows Server コンテナを GKE 上で実行することで、ライセンス費用を削減することもできます。これは、多数の Windows Server コンテナを 1 つの Windows ノードに含めることができるためです。
GKE での Windows Server コンテナ サポートのベータリリース(バージョン 1.16.4)では、Windows コンテナと Linux コンテナを同じクラスタで並列実行できます。このリリースには他にも、Windows Server コンテナのセキュリティ、スケーラビリティ、統合、管理のニーズを満たすための機能がいくつか含まれています。以下で、その一部をご紹介します。
限定公開クラスタ: 公共のインターネットからのクラスタのノードおよびマスターへのアクセスを制限できるセキュリティおよびプライバシー機能。クラスタのノードには、信頼性の高い Google Virtual Private Cloud(VPC)内からのみアクセスできます。
ノードの自動アップグレード: GKE ノードのアップグレードを自動化することで、管理オーバーヘッドを削減し、操作性を高め、セキュリティを強化する機能。コンテナ イメージの構築には必ず Docker の「multi-arch」機能を使用してください。これにより、ノード OS バージョンとベース コンテナ イメージの間のバージョン不一致の問題を防ぐことができます。
リージョン クラスタ: マルチマスターを作成できる可用性および信頼性機能。マルチマスターとは、同じリージョン内の複数のゾーンにコントロール プレーンとノードの両方を広げる高可用性 Kubernetes クラスタです。これによって、コントロール プレーンの稼働時間が 99.95% に増加し(以前は 99.5%)、ダウンタイムのないアップグレードが実現します。
Group Managed Service Account(gMSA)のサポート: gMSA とは、複数のサーバーを対象に自動パスワード管理や簡略化されたサービス プリンシパル名(SPN)管理などの機能を提供する Active Directory アカウントの一種です。gMSA は Google Cloud の Managed Service for Microsoft Active Directory によってサポートされており、容易な管理を実現しています。
Microsoft 長期サービス チャネル(LTSC)または半期チャネル(SAC)の選択: サービス チャネルを選択することで、サポートと機能要件に最適なバージョンを選ぶことができます。
各機能の詳細やその他の情報については、ドキュメントを参照してください。
Windows Server 2008 および 2008 R2 のサポート終了が近づいているため、レガシー アプリケーションのアップグレードを検討されているケースもあるでしょう。今こそ、アプリケーションをコンテナ化して GKE にデプロイする絶好のタイミングかもしれません。一般的に、コンテナ化に適したアプリケーションは、カスタム開発された .NET アプリケーションやバッチおよびウェブ アプリケーションです。サードパーティの ISV から提供されたアプリケーションの場合は、そのコンテナ化について ISV にお問い合わせください。
お客様の声
Google が GKE での Windows Server コンテナ サポートのパイロット導入を開始してから数か月が経過しました。パイロットに参加したお客様からは、GKE のパフォーマンス、信頼性、セキュリティ、そして自動設定および構成による容易なクラスタ管理といった Google 独自の機能についてご好評いただいています。
Helix RE は建築物のデジタルモデルを作成するソフトウェアを開発しています。以前は Windows Kubernetes クラスタを手作業で設定し実行していましたが、近頃、GKE に切り替えました。同社からのコメントをご紹介します。
「以前は数週間かかっていた設定と構成が、数分で終了するようになりました。時間の節約になるだけでなく、自動スケーリング、高可用性、Stackdriver Logging や Monitoring などの機能も欠かせません。GKE で Windows を実行する場合も、GKE で Linux を実行する場合と同じスケーラビリティ、信頼性、管理の容易さを期待できます。」 - Helix RE 社クラウド アーキテクト Premkumar Masilamani 氏
パートナー ソリューションでさらに簡単に
アプリケーションのモダナイゼーションとは、コンテナをデプロイして管理することだけではありません。このため、Google では複数のパートナーと提携し、GKE 向けの Windows Server コンテナの開発、統合、デプロイを支援しています。これにより、シームレスな CI / CD およびコンテナ管理が実現します。以下にご紹介するパートナー様には、自社のソリューションを GKE 上の Windows と統合した実績があります。
CircleCI
CircleCI は、開発、テスト、提供プロセスを自動化することで、チームが信頼するコードを迅速にリリースできるようにしています。CircleCI の「orbs」は CircleCI 構成の再利用可能パッケージです。最新のツールと簡単に統合できるため、チームは自分たちで統合を構築する作業に 時間を費やす必要がありません。
「最新の Google Kubernetes Engine(GKE)Orb で Google とのパートナーシップを強化できることを嬉しく思っています。この orb は GKE で実行される Windows コンテナへのデプロイメントをサポートしており、ユーザーは CI / CD パイプラインから直接、数分でデプロイメントを自動的に実行できます。デプロイメントの自動化プロセスをシンプルにすることで、チームはプロセスに自信を持ち、新機能のリリースを迅速に行い、既存のインフラストラクチャを変更せずに最新のテクノロジーを活用できます。」 - CircleCI 社ビジネス開発担当 VP Tom Trahan 氏
CloudBees
CloudBees を利用する企業の開発者チームは、継続的インテグレーションと継続的デリバリー(CI / CD)によりソフトウェア配信にかかる期間を短縮できます。CloudBees のソリューションは、高品質なアプリケーションの提供を最適化する一方で、その安全性とコンプライアンスを確保します。
「Google Cloud Platform で Windows コンテナのサポートを提供できることを喜ばしく思います。この発表により、CloudBees のユーザーの選択肢が広がり、GCP で Microsoft ワークロードを実行できるようになりました。ソフトウェア配信のスピードアップが一番重要ですが、GCP で Windows コンテナを実行する CloudBees により、弊社のユーザーはすでに組織内に浸透している Microsoft テクノロジーを利用してモダナイゼーションを迅速に実現できます。」 - CloudBees 社最高戦略責任者 Francois Dechery 氏
GitLab
GitLab は単一アプリケーションとして提供される総合的な DevOps プラットフォームです。その目的は、開発チーム、セキュリティ チーム、Ops チームの連携方法を根本的に変えることです。
「GitLab と Google Cloud により、Windows 開発者コミュニティ内で DevOps と Kubernetes の導入の障壁が低くなっています。開発者は、GitLab.com の Windows Runners あるいは GitLab のセルフ マネージド機能を使用して Windows アプリケーションを Kubernetes に自動デプロイすることで、プロジェクトの作成、GKE クラスタのプロビジョニング、CI / CD パイプラインの実行がほんの数分で可能です。」 - GitLab 社シニア プロダクト マネージャー Darren Eastman 氏
詳細については、GitLab のブログと動画をご覧ください。
使ってみる
御社でもぜひ GKE 上の Windows Server コンテナをお試しください。まずは、Google のウェブサイトで詳細なドキュメントをご覧ください。GKE を初めて使用する場合は、まず Google Kubernetes Engine のページを参照し、Coursera のコース(Architecting with GKE)を受講してください。
ご不明な点がある場合は gke-windows@google.com までお問い合わせください。また、今後のリリース開発に役立つフィードバックやご意見もお待ちしています。
- By プロダクト マネージャー Venkat Gattamneni、プロダクト マネージャー Madhu Yennamani