デジタル庁ガバメントクラウドチームの取り組みを紹介

矢ヶ崎哲宏氏(以下、矢ヶ崎):今、紹介いただきました矢ヶ崎と申します。よろしくお願いいたします。

(会場拍手)

ありがとうございます(笑)。今日は朝からご覧いただき、ありがとうございます。本日、私からは「デジタル庁クラウドチームにおけるクラウドスマートを前提としたクラウドネイティブの取り組み」と、ちょっと長いタイトルですが、そういった内容をお話ししたいと思います。よろしくお願いいたします。

本日のアジェンダです。まず「ガバメントクラウドとは」というところを説明します。これはもう知っている方もいるかもしれないんですが、その方はちょっと復習も兼ねてという感じになります。

次に、2022年9月末に「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」というものが出たので、こちらについての概要をお話しします。

そして、これらを踏まえた上で、ガバメントクラウドチームとして我々がどういった取り組みを行っているのかを紹介したいと思います。よろしくお願いします。

あらためて、私は矢ヶ崎と申します。現在デジタル庁のガバメントクラウドチームでクラウドエンジニアをやっている者です。ます。クラウドネイティブな使い方に向けたアーキテクティングとか、設計、ガバメントクラウド自体の構築。また、デジタル庁に関連する各種システムのちょっとした実装、コーディングなどもあわせて行っています。よろしくお願いします。

「ガバメントクラウド」とは

まず「ガバメントクラウドとは」というところです。こちらはデジタル庁のWebサイトに載っている情報で、ガバメントクラウドとは、政府共通のクラウドサービスの利用環境になります。この特徴としては、クラウドサービスの利点を最大限に活用するように設計しているところになります。迅速、柔軟、セキュア、コスト効率が高いシステム構築を可能とすることを前提に構築をしています。

(スライドを示して)また、下のほうの細かい字も見てもらえればと思いますが、現代的なアプリケーション開発、いわゆるモダンアプリケーション開発を前提にして、最新のクラウド技術を最大限に活用できるような設計になっています。また同時に、ガバナンス機能ですね。そしてテンプレートを活用して、効率的な開発が行えるようにしています。

ガバメントクラウドですが、やはり利用者の方々が非常に多いところがもう1つの特徴になります。

ガバメントクラウドの利用者(ということは)、実際にこのガバメントクラウド上でシステムを構築してもらう方々というところでいうと、もちろん開発運用事業者の方々になります。その方々が作るシステムが政府のシステム群であり、また地方公共団体のシステム群であります。

なので、例えば地方公共団体でも1,700以上あるし、そのターゲットとなる利用者の方々が非常に多いところが特徴になります。

また、それに伴って開発する事業者の方々も非常に多い数になるし、そのシステムを最終的に利用する方々というところだと、日本に関係する人々、みなさまがユーザーになるので、こちらも非常に数が多いところが特徴的な部分になります。

この非常に多い数のところをいかにスケーラブルに作れるようにしていくか。また、こういった大規模な環境をいかに効率的に管理していくかが、ガバメントクラウドの特徴の1つになっています。

「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」の改定

こういったガバメントクラウドを考えているところですが、「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」というものが9月に出たので、このお話もちょっとしたいと思います。

(スライドを示して)こちらが9月30日に出たドキュメントで、標準ガイドラインの位置づけになっているものです。

この内容ですが、政府情報システムのシステム方式において、今までクラウドサービスの採用をデフォルト、第1候補としていましたが、そこで単にクラウドを利用するのではなく、クラウドを適切に、ここでいう「スマートに」利用するための考え方を示した標準ガイドラインになっています。

この内容をもう少しだけお話ししますと。この基本方針にはもともと旧方針というものがあって、「政府情報システムにおけるクラウドサービスの利用に係る基本方針」というものが2018年6月に初版として出ていました。この内容では、「クラウドファースト」という考え方が書いてあって、まずはクラウドの利用を検討するというところでした。

クラウドを利用していくのはもちろんいいことだと思いますが、今回の改定では、ただ単純にクラウドを利用するのではなくて、クラウドを賢く適切に利用するということで、「クラウドスマート」という表記がしてあります。 なのでタイトルにも「適切な」が追加されていて、「適切な利用に係る基本方針」という名前に変わっています。

また、このクラウドスマートのスマートというところは、モダン技術の利用をする、特にクラウドにおけるマネージドサービスと、あとはInfrastructure as Code。こちらを活用していきましょうという内容になっています。

実際の文章はデジタル庁のWebサイトから見ることができるので、細かいところを見てもらえるとうれしいです。(スライドを示して)ざっくり図に表しますとこのようなかたちになっています。

まずクラウドスマートを目的とする。クラウドスマートを利用して何を達成するかが、上の「目的」の部分になっています。開発期間の短縮とかコスト削減、セキュリティの向上。こういったところを目的としています。

これをやっていくにあたっては、アプリケーションのモダナイゼーションという、モダン化をやっていかないといけません。それに対して基盤の部分、より下のレイヤーの部分でいうと、「クラウドを適切に使っていきましょう」という部分になります。

例えばマネージドサービスを使ってもらって、(そうすると)必ずしも自らサーバーを構築する必要はなくなるので、こちらをうまく使ってもらうことによって管理のところ(の手間)を減らしたり、スケーラブルにしたり(する)ということになります。

また、このマネージドサービスを使ってもらうと、データの暗号化、認証とか、クラウド利用におけるさまざまな設定を適切に行うことで、自分で実装するのではなく、マネージドサービスにそういった部分を任せることもできます。

Infrastructure as Codeに関しては、そういったインフラをちゃんとコードとして管理していって、今までパラメーターシートや、そのパラメーターシートを基に手動で設定するところで差異が出たりするところをなくしていったり、また、コードとして管理することによって、同じ環境で素早く作ることができるので、こちらを使っていきましょうということになっています。

(スライドを示して)また、右のほうを見てもらうと、「SaaSの活用」も書いてあります。もちろんSaaSもクラウドの1つではあるので、SaaSをうまく使っていきましょうということですね。

SaaSは、開発量の削減という観点から幅広く優先的にその利用を検討する内容になっていて、同じようなものを作らないでうまく使っていきましょうということになっています。

あとはさらに右のほうだと、小規模システム移行の時は統廃合も検討ということで、単独での刷新が難しい場合、またほかのシステムへの統合や廃止で、それで事が足りる場合があると思うので、そういったこともちゃんと検討していきましょうというところになります。

下の「注意点」となっているところですね。ちょっと細かいですが、上の手段をうまくやっていくための注意点になります。

例えばオンプレミスの時に使っていたような手順とか考え方、そういったものを単純に踏襲しないということです。「今まではこういうやり方でやってきたから、こうやっていきましょう」というところは、ちゃんと考えて、続けるなら続ける、続けないなら続けないというようにやっていきましょうというところです。

あとは、オンプレミスの時にもあったと思いますが、システム監視ですね。いわゆるシステムを維持していく、保守していくという監視の考え方だけではなく、改善していけるように、今どういう状態になっているのかをちゃんと見ていきましょうという内容になっています。あとはダッシュボードによる状況の可視化とか。

あとは1システム内のマルチクラウドは避けるということで、ガバメントクラウドは複数のクラウドサービスプロバイダーを選べるようなかたちになっていますが、その各システムのクラウドの利点・特徴を無理に平準化・標準化してしまうと、その各クラウドの良さも薄れちゃうし、あとは各クラウドの学習コストもかかってくるので、1システム内でマルチクラウドを無理にやるのは避けましょうというかたちになっています。

また、境界型セキュリティのみに依存しない。ゼロトラストの考え方を入れて、例えば閉域網だけに頼るとかはやめていきましょうと。

また予防的統制、発見的統制、クラウドに最適化した監査。こういうところもちゃんと考えていきましょうということになっています。

こういった基本方針があるので、それを踏まえた上で、「ガバメントクラウドチームの取り組みは今このようなことをやっています」という紹介をしたいと思います。

ガバメントクラウドチームの取り組み

もちろんガバメントクラウド上に各システムが載るわけですが、ガバメントクラウド自体もモダンに作っていく必要があるので、そういった取り組みをやっています。

ガバメントクラウド自体もIaCテンプレートを活用しています。また、ガードレール方式の技術ガバナンスを採用しています。そして、クラウドネイティブな構成をベースとしたサンプルのIaCテンプレートを配布して、その上に載るシステム、実際に動作するシステムも、クラウドネイティブなかたちで実装しやすくすることをしています。また、ちゃんとスケールして、運用コストが低くなるようなアーキテクチャを検討します。

また、夜間バッチなどの定期バッチをできるだけ排除して、クラウドだからリソースは柔軟に増減できるので、なるべくリアルタイムな処理に寄せていくことにしていきたいところです。

また、通知やダッシュボードを活用して、システムの価値を定量的に計測するところになっています。これはいわゆるシステム監視で、CPUとかリソースの利用率とか、そういったところがどういったシステムの本当の価値につながっているかをちゃんと見ていきましょうというところです。

あとは無理にCSPを共通化しない。マネージドサービスを活用していきましょうということですね。そして「成長するチーム」。これは後ほどお話ししたいと思います。

ガバメントクラウド実装で意識していること

(スライドを示して)この内容をもう少し見ていくと、マルチアカウント管理、IaCテンプレート、ガードレールで実現する技術ガバナンスとなっていますが、この真ん中のちょっと黒い部分。こちらがガバメントクラウドそのものを表している部分になります。

一番下が実際のクラウドサービス、CSPの部分になります。上が実際にCSPを使ったシステムを構築する部分になりますが、ガバメントクラウドではそこの部分に対してガバナンスをちゃんと利かせるというところ、またクラウドネイティブを推進していくところ。そういったところが真ん中の部分に入っています。

ただガバナンスを強く利かせようとすると、なかなか使い勝手が悪くなったりすることもあります。上の利用システムに対してIaCテンプレートを提供して、そちらを参考に実装してもらうこともやっています。

このガバナンスをいかにスケーラブルにするかが非常にポイントになっています。やはり圧倒的な量を扱うアカウント数とか、実際の利用数とか、そういったものが非常に多いです。なので、少量を扱うシステムとは圧倒的にアーキテクチャが違います。そのため、徹底的に手作業をなくしていくところを検討しています。

これは極端な例ですが、例えば毎月10万円ぐらい分の工数がかかる手作業があって、「毎月10万円分だから手作業でできるでしょう」みたいなところがあるかもしれません。そういったところでも、例えば1,000組織分同じオペレーションを毎月するとなった場合には、10万円×1,000組織なので、毎月1億円かかっちゃうことになります。

なので、この10万円の手作業はスケールを考えると馬鹿にならないということになるので、そういったところも徹底的に排除していくことを考えています。

また、ガバメントクラウド自体の利用をするにあたっても、手作業をなるべくなくそうと今はやっています。セルフサービスでガバメントクラウドを申請して使い始められる。また、Q&Aのやりとりのようなものもシステム上でちゃんとやりとりして、FAQのようなものを作って、自分で解決できるようにしていく。そういったところも取り組んでいます。

また、ガバナンスというところでは予防的統制、発見的統制をうまく組み合わせて、なるべく利用者が自由に利用できる。それでいてガバナンスもコントロールできることを意識して実装をしています。

(スライドを示して)これはガバナンスに関する図になります。この左側がそのゲートキーパー方式による技術ガバナンス。いわゆる関所を設けるようなイメージで、踏み台とか、マニュアルの承認とか、そういったところが必要になる技術ガバナンス方式。

従来だとこのようなかたちだったかと思いますが、この右側のガードレール方式に今寄せていこうとしています。ガードレールを敷くことによって、「これは絶対にやってはいけない」「横に落ちてはいけない」というものは予防的統制で防ぎつつ、それ以外の部分はなるべく柔軟に使ってもらうために発見的統制をやっていく。

また、テクノロジーの進歩は非常に速いので、その時点ですべてを防げたとしても、明日防げているかわからない。そういったものをちゃんと見落とさないように、発見的統制をきっちり入れていこうということになっています。これによって利用者がガチガチな環境で「これは扱いづらいよ」とならないように、ガバナンスを利かせていくところがポイントになってくるかなと思います。

あとは、クラウドネイティブアーキテクチャの例示。そしてこういったものをテンプレートとして配ることによってクラウドネイティブに近いかたちで実際の利用システムを実装しやすいようにしています。

そして「定量的計測」というところで、こちらはちょっと特殊な言葉かもしれませんが、モニタリング、オブザーバビリティ、ビジュアライゼーション。こういったものをうまく活用して、従来のシステム運用からサービス運用に昇華していきましょうという考え方になっています。

今までのいわゆるシステム監視、維持、保守というところではなくて、このシステムが実際どのような効果を発揮しているのかというところを、システムのメトリクスとともにビジネスメトリクスも見ていって、その関連をちゃんとつかんで改善していきましょうという考え方になります。

どういった部分が何に影響を与えていて、システムの価値がどういう状態になっているのか。こういったところをちゃんと見ていきましょうということですね。

極端な例ですが、例えばインフラレイヤーとかでも、落ちていたらユーザーが使えないので、当たり前ですけれどもUXが最悪ですし、ワンクリックして1分待つとかそういうふうになると、それもUXが最悪です。そうなると、もうUI以前の問題で、そもそもUXが最悪になっちゃうということをちゃんとわかるようにしていきましょうというところになります。

あとは、そのわかるというところでいうと、可視化が非常に重要になってきています。ビジネスメトリクスですね。実際、ユーザーにとっての価値はどういうところなのかをベースに、システムメトリクスを見ていきましょうと言っています。

また、このダッシュボードを活用して、定期報告だけではなくて、ちゃんと能動的に見たい時に見られる状態にしておくところがポイントになってきています。

こちらの定量的計測でも、例えばこの申請システムのようなものだったとすると、申請数とかそういったものがこのシステムにとっての価値になるので、ちゃんとそれを見ていきましょうということです。

そして、この利用システムだけじゃなくて、ガバメントクラウド自体もメトリクスをちゃんと取っていって改善をしていきましょうということにしています。また、利用システムの各種アクティビティの情報を基に、このガバメントクラウドの利用の最適化をしていきたいと考えています。

開発・運用担当の事業者と一緒に成長していく

最後に「成長するチーム」ということで、今のような特に政府のシステムにとっては非常に先進的な取り組みをやっていこうとしているので、こういったシステム開発とか運用とかをやっていくためには、新しい技術、そういった学習が必要になってきます。

我々ガバメントクラウドチームだけで学習しても、もちろんうまくいくわけがありません。なので、開発・運用をやってもらっている事業者の方々、そういった方々と一緒に成長していって、一緒のチームとしてクラウドネイティブの取り組みをより良くしていきたいと考えています。

システムとチームを成長させ、より良いシステムの状態を実現する

最後に「まとめ」になります。ガバメントクラウドというところは、最新のクラウド技術を最大限に活用して、迅速、柔軟、セキュア、コスト効率の高いシステムを構築できるように考えている、政府共通のクラウドサービスの利用環境になっています。

2個目としては、「政府情報システムにおけるクラウドサービスの適切な利用に係る基本方針」というものが2022年の9月30日に出て、その中にはクラウドファーストからクラウドスマートということが書いてあります。ガバメントクラウドチームでは、クラウドスマートでクラウドネイティブになるような取り組みを実施しています。

これはあくまでもクラウドスマート、クラウドネイティブという手段なので、結果としてちゃんと定量的に把握して、継続的に改善できるようなかたち(にする)。そしてシステムとチームを成長させていって、より良いシステムの状態にしていくことに取り組んでいます。

ということで私からの発表は以上になります。一緒にクラウドネイティブ化してくれるエンジニアの方々、アーキテクトの方々も募集しているので、ぜひ興味があった場合は、こちらも見てもらえると幸いです。

では以上になります。ご清聴ありがとうございました。