本日はパブリッククラウドでオープンシフト 安心安全に使いこなすためのアーキテクチャーというテーマで日本ヒューレットパッカーと株式会社の総道哲也さんと 日本マイクロソフト株式会社のおみぞでセッションを行っていきたいと思いますまずレッドハット製品をアジュール上で提供するということでレッドハットとマイクロソフトとのパートナーリングというのは 5年ぐらい続いている関係になっておりまして特にエンタープライズに向けたクーバーネティスの ディストリビューションであるオープンシフトについては注力をしている部分になっておりますさらにその製品の導入支援をしていただくパートナーとして HPEさんとも協業しておりましてレッドハット、マイクロソフト、HPEと予算者で協力体制を組んでおります本日はまず前半私の方から アジュールレッドハットオープンシフトのご紹介をして後半ですね総道さんの方からリファレンスアキテクチャーの紹介をしていただこうと思っておりますまずオープンシフト4なんですけれども よりスマートなクーバーネティスのブラッドフォームというところでもうすでにこのセッションを聞いている方々は もうご存知かもしれませんがオープンシフトはクーバーネティスにプラスアルファーで クラウドのサービスの機能だったりとかクラスタンドサービスの機能だったりとか デベロッパー向けのサービスの機能またアプリケーションのフレームワークなどをご提供しているスマートなクーバーネティスの プラッドフォームになっておりますそのスマートなオープンシフトをフルマネージドな形で ご提供するのがAzure Red Hatオープンシフトになりますこちらのマネージドのオープンシフトは 数分で簡単にAzure上にオープンシフトのクラスターをデプロイすることができます機能的にもエンタープライズグレードの オペレーションやセキュリティ コンプライアンスといったところに対応するということまたAzure開発に必要なCI CDの機能だったりとか さまざまなパースの機能との組み合わせが用意であることまたクラウドですので アプリケーションを動かすノードのスケールアウトやスケールアップというところも柔軟にできるというものになっております通常オープンシフトのクラスターを クラウドの上で実行した場合でも一番下のレイヤーのエアスの部分というのは クラウド側で面倒を見てくれるんですけれどもその上のネットワークだったりとか モニタリングだったりとかセキュリティといった部分というのは 自分で管理をしていかなくてはなりませんそういった部分を逆に担保してくれるというのがフルマネージドのオープンシフトである Azure Red Hatオープンシフトになりますこちらの場合には 利用する方々はインフラに関わる部分というのはMicrosoft Azureに任せることができて上でアプリケーションをどのように運用していくか 開発していくかというところに注力することができますこのAzure Red Hatオープンシフトは Azure上でとても簡単に利用していただくことができてデプロイ自体も AzureのCLIを使って 簡単にデプロイすることができますしまた Azureの契約だけで利用可能ですのでオープンシフトのライセンスを ベッド購入するという必要もありませんまた重量課金で使っていただけるので 使い出したいなと思った時に使っていただけますしやめたいなと思った時にも すぐ使うのを停止することもできるというメリットもあります実際 このオープンシフトを使ってみるには普通だと Red Hatオープンシフトクラスターマネージャーからオープンシフトデプロイしていくんですけれどもそこからプルシークレットを取得して AzureのCLIを使ってデプロイをして数分ですね 待つとクラスターが出来上がるというところでネットワークの構成なんかも組まれたクラスターを 簡単に利用することができますなぜ Azure Red Hatオープンシフトなのかと言いますとやっぱり Azureの上でオープンシフトを動かすことでAzureのインフラをうまく活用することができるというメリットがあります例えば パブリックなIPアドレスを付与して外部に公開できるようにするだったりとか仮想ネットワークを使って ネットワークを閉じた環境でも使えるようにするとかそういった部分というのが使えますまたですね マルチャーベイラビリティゾーンにクラスターをデプロイすることで可要性を高めることもできますし 高いSLAを実現することもできますさらにAzureはですね さまざまなコンプライアンス認証をもう取得しておりますので例えばFISCだったりとか PCI-DSSなんかの認証も取れていますので信頼できるクラウドのプラットフォームと洗練されたクーバーネティスのクラスターであるオープンシフトのイートこどりというのがこのAzure Red Hatオープンシフトになりますマネージドなサービスだと 結構ですね 管理 運用管理上 自由度がないんじゃないかというふうにご心配されることもあるかと思いますがAzure Red Hatオープンシフトの場合はですね 管理者にはクーバーネティスのクラスターアドミンロールを割り当てて都圏コンテナの実行ですとか CRDのインストールなんかもできますので柔軟なクラスター管理ができますまた 認証人間についてもオープンシフトが対応している認証プロバイダーを利用することができますしまたですね ロールのバインディングなんかも利用して権限文書というのも 明確にできるようになっていますあと オープンシフトでは オペレーターが使えるというところがやはり重要なポイントになってくるかと思いますがもちろん 普通上のオープンシフトと同様にオペレーターハブを利用することもできますしカスタメのオペレーターのインストールもできるようになっていますクラウドでせっかく動かすのであればクラウドの価値をいろいろ使っていきたいわけですがクラウドで動かすと やはりですね リソースが欲しいときに入手できたりとか 必要な分だけ使えるというところでコストの削減だったりとか コストの透明性というのが高まりますまた やっぱり パブリッククラウドは そのプラットフォームを運用していくことがやっぱりメインの仕事になっておりますのでパフォーマンスだったりとか 信頼性だったりといったところのサービスのクオリティも非常に高くなっておりますしさまざまなサービスとの連携させることで新たなシナリオの創造というのもできるようになっていますですので やっぱりですねAzure Red Hatオープンシフトを使ってまずはオープンシフトを試していこうというのは非常にクラウドの価値も利用できて 簡単に始められる方法ですで パブリッククラウドの場合にはマネージドのクーバーネーティスのサービスというのが大体提供されているんですが その中でもなぜオープンシフトのマネージドのサービスなのかと言いますとオープンシフトの場合には 元々ですね クーバーネーティスに持っているクラスターの管理の機能 プラスアルファーの機能もサポートされておりますのでさまざまなサービスメッシュの機能だったりとかロギングだったりとか メータリングの機能っていうのも使っていただけますまた せっかくAzureの上で動かすので他のサービスと合わせてAzure側で管理をしたいという場合もAzureの監視ツールなんかも使って動揺監視なんかをすることもできます結構エンタープライズで使うにあたってはきっと一番重要かなと思うところが サポート体制ですねレッドハットとマイクロソフトとの パートナーリングの中でサポートは一緒に提供する っていうふうになっておりますのでサポートリクエスト上げたときに 払い回しにされるなんていうこともなくしっかりしたサポートを 提供することができますのでエンタープライズのお客様も 安心してご利用いただけますやっぱりエンタープライズの 利用されるお客様っていうのはさまざまな難しい要件があったりしてネットワークを分離したいとか セキュアに使いたいとかそういった要件というのが 非常に多いかと思いますオープンシフトプラスAzureだとさまざまなデータベースだったりとかエピアマネジメント コグニティブサービスといったパースやサースのサービスと 連携することもできますしネットワークの分離だったりとかオンプレミストの兵器での 接続ということも容易に実現することができますまたクラスターのインフラとしての セキュリティを担保するという意味ではAzure ADを利用した 認証認可というところも実現できるようになっておりますのでエンタープライズのお客様が 安心して使っていただけるようなプラットフォームになっていますここからは実際に エンタープライズでの本番利用に向けた設計の 考慮点についてソードさんの方から お話いただきたいと思いますご紹介に預かりました 日本ヒューレットパッカードのソードと申します我々HPでは ポイントネクストという サービス事業部門でお客様向けのシステムの構築 設計 提案などを行っているんですけれども特に今回ご紹介するオープンシフトについても 様々な環境上でお客様向けに構築している 実績がございます今回マイクロソフトさんにお声がけいただいてAROのテクニカルリファレンサー アキテクチャーといったものを共同で作らせていただきましたので今日はそちらの内容のご紹介を 私の方から後半させていただきたいと思います前半パート大水さんの方でAROを非常にお手軽に始められますよ というご紹介もしていただきましたがもちろんエンタープライズで 本格利用していただくことも可能ですただしそのためには 最初にきちんと設計を行っていただく必要がありますですので この後半のパートではその設計のベストプラクティスを 一部ご紹介したいと思います後半ご紹介する内容は必ずしも 全てAzureだけに適用できるという話ではなくてパブリックラードでも一部 利用できる考え方もあるかなと思いますのでぜひ参考になさってくださいAROはコマンド一発で 簡単にデプロイができるわけですけれどもAROのクラスターを単体で使うということはほとんどなくて 大抵の場合には クラウドの場合他のクラウドリソースをデプロイして 連携させて使うというケースが多いかなと思います一方で AROはせっかくクマネテスの マネージュドサービスですのでクラウドリソースについても イヤースではなくてできるだけパースやサースといった マネージュドサービスを使っていただくことがシステム全体の運用負荷のフロードに つながるというふうに考えられますAROとそのパースやサースを 使っていただくにあたってAROのクラスターのほうは OCコマンドですとかCubeControlコマンドあと OpenShiftの Webコンソルを使って操作をしていただきますし AzureのリソースのほうはAZコマンドですとか Azure Portalから 操作をしていただくと操作が2系統になるというところが 設計上 初めに認識しておくべきポイントかなというふうに思いますですので 結論としてエンタープライズ向けのAROの設計ということを考えるときには OpenShiftのエンタープライズ向けの設計の観点とあとエンタープライズのクラウドの設計の観点 両方をミックスして織り混ぜて考えていただく必要がある ということになりますそれらは非常にタキに渡りますので 今回こうした設計観点をまとめさせていただいて AROをテクニカルリファレンサーアキテクチャーとして公開を 10月ぐらいからさせていただいていますアクセスするためのリンクURLなどは この後ご紹介したいと思うんですけれども今日はこういった中からエチブバス推して ご紹介をしていきたいと思います全体としては このページに書いてあるように大きく4つの設計観点がまとまっています1つはネットワーク構成 これは この後ご紹介したいと思いますそれからセキュリティ認証認可に関するお話また 基盤保守クラスター全体の 運用メンテナンスといったところまた CI-CDでファイプラインで開発をしていくにあたってその成果物の開発の方法や 持ち込みの方法などについてもまとめていますでは ネットワーク構成のお話を 一部ご紹介したいなと思いますがこの図は AROを規定のデフォルトの構成で展開するとさまざまなリソースが このように自動で展開されます左側にあるようにマスターノードですとか ワーカーノード こういったものはVMとして展開されるんですけれども そのほか関連するネットワークのリソースについてもロードバランサーや パブリックIPリソースという形で自動で連携して構成されますこういったデフォルトの構成を正しく理解して適切に設計構成しないと セキュリティ的には脆い ゆるいインフラ構成になってしまうこともあるのでそこに注意をしていただく必要があります例えば この例でいうとデフォルト構成で作ってAPIに対しては パブリックインターネットからアクセスできるようになっていますので場合によっては不正な第三者がアクセスして不正アクセスを許してしまうといったケースもある点に注意が必要ですそこでネットワーク構成の観点では さらに4つに分割してここにあるようにVNET分離 それからマスターAPIのプライベートかそれから入力経路 出力経路の制限といった観点で設計を紹介しています今日はおそらく時間の都合上2点に絞ってVNET分離とスターAPIのプライベートかについて紹介をしていきたいと思いますまずVNET つまり仮想ネットワークですねこれをどうやって分離するかといったお話なんですけれどもそもそもこれはAROに限らずエンタープライズでAzureのようなクラウドサービスを使っていただく時のネットワーク構成の話になるんですけれどもだいたいエンタープライズの場合にはオンプレの拠点からクラウドに繋いでいくAzureの場合にはExpress Rootを使ってAzureに並行季節をしていただいてAzureのリソースを使っていただくという形になると思いますけれどもさらにAzureネットワークの場合にはネットワークのデザインパターンとしてHUB&SPOKEというようなパターンがありますこれはExpress RootでオンプレとつなぐところをHUBとしてさらにその先にSPOKE VNETという形で業務システムをSPOKE VNETに置くとデプロイする配置するといった考え方をしていますそしてHUBとSPOKEの間はVNET Peeringという機能で接続をして結果的にオンプレの拠点からHUB VNETを通って業務システムがいるSPOKE VNETにアクセスができるこういったネットワークの設計をすることが割と一般的に多く見られますこれは構成が容易で割とイメージしやすいので使われている方も多いと思うんですけれども一方でセキュリティの観点から言うとこれはいわゆるオンプレを延伸して使ったミナシオンプレをAzureのところまで拡張したような考え方になっていてその時のセキュリティ設計として境界防御みたいな考え方で言うとその外から中に入るところだけを例えばファイアウォールなどでセキュリティをかけるみたいなことをしていると万が一ですね中に侵入されてしまった場合に水平攻撃を許してしまうといった危険・リスクがありますこの例で言うとスポークVネットにいるですねAROクラスターが仮に乗っ取られてしまった場合にハブVネットを通して逆向きにオンプレの拠点側に攻撃を仕掛けてしまうと言ったことに注意が必要です近年ではこうしたリスクに対してゼロトラストネットワークのような概念を用いてですねちゃんとおのおの業務システムのVネットを分離しましょうという考え方も出てきていますそれが下にあるVネット分離方式と言われている考え方になります下の図の違いというのは先ほどはスポークVネット上にAROを展開したわけですけれども下の図はスポークVネットのさらに先に隠されたVネット隠りVネットといったものを作りそこにAROクラスターを展開していきますそしてスポークVネットにはプライバイドリンクサービスといういわゆるIPアドレスのついたエンドポイントを作ってそこにアクセスをすると隠りVネットにアクセスが届くといった形になっていますですのでアクセス経路としては拠点からハブを通ってスポークを通ってスポーク上のプライバイドリンクのエンドポイントのアクセスをするとAROのクラスターにアクセスできるといった形になっていますこのようにしていただくと先ほどのように万が一隠りVネットがスポークVネット側にアクセスする経路といったものがありませんので水平攻撃を防御することができるこういった考え方がありますこの例は必ずしもエンタープライズで利用していただく際に必ずこうしてくださいといった話ではもちろんないんですけれどもARO以外にも業務システムでこのレベルのセキュリティデザインをしている場合にはAROもそのセキュリティレベルに合わせていただく必要があるかなと思っていて選択肢の一つとしてネットワークセキュリティデザインがありますよというご紹介になっています次にマスターIPAのプライベート化についてご紹介します通常AROクラスターをデフォルト規定の構成で作ると左の図のようにマスター濃度のロードバランサーはパブリックIPと連携してインターネット外からアクセスできるような形になります多くのエンタープライズではインターネット系のアクセスを許可しないといったケースが多くて右側にあるようにオプションでデプロイするとこのようになるんですけれどもマスターIPAをプライベート化するといった構成も可能になってきますこのようにすると外についていたロードバランサーがナイブロードバランサーに置き換わって結果的にAROクラスターがいるVNETの中からしかアクセスを許可しないといった構成になりますこの場合には図にありますようにそのVNET上に保守端末をデプロイしていただいてそこの保守端末からのみアクセスを許可するといったアクセス経路になりますそしてパブリックIPからはアクセスを許可しないといった制御が可能になりますこのような構成にした場合AROのアクセスは同一VNET上にある保守端末からアクセスするという話になるんですけれども冒頭話したようにAROだけではなくてその他のクラウドリソースにもアクセスをしたいそれがパースアスですみたいな時にはどうすればいいかというとリソースマネージャーのAPIのエンドポイントを叩いてAZコマンドもしくはポータルから操作をするわけですけれどもそこはインターネット上にあるので一度外に出なければいけないんですけれどもそのためのアクセス経路として保守端末から外に出る際にAzure Firewallを置いてルーティングを経由して必ずそこを通すというような形にすることによるアクセス経路の制限を行いますまた追加でAzure ADのアクセス制限をかけることも可能ですですのでこのようにAROのクラスターとAzureリソースはそれぞれでネットワークのセキュリティの設計を考慮してあげる必要があるという話になります今お話したようにネットワーク個性についてはいくつか考えることがありますそしてちょっと飛ばしてしまったんですけれども入力経路制限出力経路制限についても先ほどのネットワークに追加して考えることができて保守端末があったんですけれども保守端末にはどうやってログにすればいいのかということを考えるのが入力経路制限の例となりますそこはオンプレイから先ほどご紹介したようなプライベートリンクを使って平域経路で通るという方法もありますしまた最近ではAzure BastionみたいなAzure PortalからVMに石屋にアクセスできる機能を使って保守端末にアクセスをさせるといったようなケースもありますこういったことを考えるのがまた出力経路制限は逆に出ていく方になりますので例えばワーカーノード上のコンテナから外にあるサービス例えばパースのデータベースにつなぎたいというのが出力経路制限の例となりますがここでもファイアウォールを使ったりとかプライベートリンクといった平域経路でつなげるようなサービスを併用することによって石屋のアクセスを担保するといった考え方が一番のネットワーク構成のポイントということになりますそのほか認証認可とかメンテナンスの話それから試合CDにおける成果物の管理の仕方などなどがたくさんあるんですけれどもこうしたノウハウコンテンツについては今右上に写っているんですけれどもリンクにアクセスしていただくとドキュメントコンテンツとしてご覧いただくことができますまたドキュメントだけではなくて今ご紹介したような実際のAzureの構成をリソースの配置をスクリプトとしてもご提供していますので皆さんの環境でAzureサブスクリプションでアクセスしていただいて実際に今日ご紹介したのと同じようなAzureAROクラスタプラスその他のリソース構成といったものも作っていただくことが可能になっていますまたリンク先にはAROだけではなくてそのほかのAzureの様々なサービスについても同じようにリファレンスアキテクチャがたくさん公開されていますのでご興味があったらぜひご覧くださいそして少しビジーな図にはなるんですけれどもこういったベストプラクティスなリファレンスアキテクチャを適用するとだいたいこんなような図になりますよということを最後にお見せしたいと思います本来AROの最小限のクラスタの範囲というのは左側にあるマスターノード、ワーカーノードそれからロードバランサーといったところだけなんですけれども今日例えばご紹介したようなネットワークのセキュリティ制限みたいなことをかけてあげると右下にあるのはオンプレの経路を意識しているんですけれどもネット分離をしてセキュアにアクセスをさせるみたいなことも可能ですし右上にあるのはインターネットからの経路ということで先ほど少し紹介したAzure Bastionを通してアクセスをさせるみたいな経路に絞るということも可能ですまた多くは今日ご紹介していないんですけれども下の方にある運用管理系の様々なAzureのサービスと連携させていただくということも可能でこの場合Azure Firewallを経由して外に出ていってAzure ADと連携をしたりとか運用監視であるAzure Monitorと連携したりまたログを診断ストレージにおいてログアナレティクスといったログ分析のサービスと併用していただくことも可能ですそしてAzure DevOpsといったサービスを使ってコンテナの開発をAzureに行ってそのコンテナイメージをレジストリーに配置しそのままARをクラスタでプロイしていただくといったワークフローも実現可能となりますさらにこの図に表しているようなシステム構成を先ほどご紹介したリンクからスクリプトを使って構築していただくことが可能ですのでぜひトライしてみてはいかがでしょうか最後にご紹介になるんですけれども今日のご紹介したテクニカルリファレンスをいわゆるガイドの解説をさせていただくプラス実際にお客様の環境で構成して触っていただくハンズオンといったことを提供していますまたカスタマイズしてお客様の要件に合わせてQAや技術チェーンなどをさせていただくサービスということもアドオンできるようになっていますこのサービスについてもしくお興味を持たれた方はマイクロソフトさんまたはHPの担当営業までお問い合わせいただければなと思いますでは最後まとめのスライドで本日のセッションのまとめをさせていただきたいと思いますAzureのようなパブリッククラウドだからこそオープンシフトをすぐに試すことができます2つ目はエンタープライズに求められる環境もAzureのさまざまな機能を使って実現することができますそして弊社HPでは導入のための支援体制も整えており導入実績も豊富ですのでぜひお声かけいただければと思いますぜひAROでオープンシフトを始めてみてください本日はご清聴ありがとうございました