CloudNative Days Tokyo 2023から、ドコモのAPI基盤のGKE移行とSysdig採用の事例を紹介
2023年12月11日、12日の両日にハイブリッド形式で開催されたCloudNative Days Tokyo 2023の事例講演から、株式会社NTTドコモの加藤雅俊氏によるセッションを紹介する。
タイトルは『B2Cデジタルサービス向け統合API基盤「RAFTEL」のセキュリティ強化策』。同社のAPI基盤のリニューアルと、そこにおけるコンテナセキュリティ製品「Sysdig」などを採用したセキュリティ強化およびDevSecOpsへの取り組みについて紹介がなされた。
ばらばらだった認証や決済などのアセットを、
APIプラットフォームRAFTELに統合
まずRAFTELとは何かについて説明していこう。
ドコモの社内には、認証や決済などさまざまな基幹システムがあり、APIを介して呼び出せる。これらはコアアセットとして活用できるが、古いシステムであり、あちこちに分散しているうえに、API仕様もそれぞれまったく異なっている。そのため、社内経験の長い生き字引のような人が仕様を読み解いてようやくサービスが開発できる、というようなことも起こっていた。
これを打破するために作られたのが、API基盤のRAFTELだ。分散したAPIを一つのシステムに統合し、APIの仕様もなるべく統一することで、社内からアセットへと容易にアクセスできるようにする。さらに、複数APIのマッシュアップなども用意して、より開発しやすい環境を提供している。
これにより、サービス開発者からするとRAFTELだけ見に行けばよい状況を作って、開発を効率化しているというわけだ。
RAFTELは2019年より稼動し、決済サービスのd払いや、映像配信サービスのLemino(旧dTV)など、幅広いサービスが利用している。現在60以上のサービスから利用されており、利用者数の合計はのべ約8000万人、1日の処理件数は約5.3億となっている。
RAFTELをリニューアル、GKE上で再構築
現在、このRAFTELのシステムはリニューアル中であり、GKE上で再構築して順次移行している。2024年3月までに移行を完了する予定だという。
リニューアルした理由としては、RAFTELの役割が変わってきたことが大きい。APIを利用するサービスやシステムが増えて、使われる側の基盤システムも増えた。またもともとは、各サービスのサーバーからAPIを使う想定だったが、今ではWebやスマートフォンアプリからも直接APIアクセスするようになり、トラフィックが増えた。例えばLeminoで人気スポーツ中継をしたときなどには、トラフィックが劇的に増加することもあるという。こうした背景から、柔軟にキャパシティコントロールがしたかったという。
RAFTELではもともと前段のAPI管理にApigeeを利用していた。リニューアルにあたって、RAFTEL利用システムから見たApigeeは変わらないようにして、その先のクラウドを1つにまとめるということで、Google Cloudを採用した。
そのうえで、コンテナ運用の標準をKubernetesにすることからGKEを選んだ。さらに、GKEの中でもStandardを選んだ。これはまず、自分たちでKubernetesの構築運用をしっかり理解しておきたいことがあったからだ。また約60個のサービスの中には昼間のトラフィックが高いサービスもあれば夜間のトラフィックが高いサービスもあり、ノードプールのアップグレードなどによる瞬断があるとサービスに影響してしまうため、自分たちが望むタイミングでコントロールしたいという理由もあった。
GKEの苦労話としては、まず、一からKubernetesを勉強したため、構築や試験、システムの移行などでさまざまな問題が出たことが挙げられる。これはGoogleのプロフェッショナルサービスの支援を受けて乗り切り、初回の移行までは半年弱ほどで終えたという。
またノードプールのアップグレードにBlue/Green方式を採用したが、どうしてもエラーやレスポンス遅延などが発生した。これについては運用やアプリケーション実装など対策がなされてきているという。
より高いレベルのセキュリティ対策や
運用効率化を求めて
システム構成としては、社内のシステムからはApigeeを経由して呼び出される。一方、スマートフォンからは、モバイルネットワークからインターコネクトを経由して呼び出されるようになっている。
リニューアルにおける方針の一つとして、社内ルールを順守した社内のサーバーだけではなく、スマートフォンアプリやWebからも接続するようになったことから、より高いレベルでのセキュリティ対策が必要とされた。
また組織の状況として、これまでRAFTELではDevOpsを回せるチームを実現してきた。これをもとに、組織での大規模コンテナ運用を見据えて、先行してKubernetesにおけるDevSecOpsを確立し、ノウハウを蓄積したいということもあった。
Sysdigを採用して
セキュリティ対策とDevSecOps確立へ
こうしたKubernetesの運用効率化とセキュリティ対策のためにSysdigを採用した。Sysdigは、システムレベルでコンテナの挙動を把握するセキュリティ製品群だ。
Sysdigを採用した理由としては、まずSysdigのUIがKubernetes意識した構成になっていて、メトリクスやログなどのKubernetes上の挙動も容易に確認ができるということが挙げられる。
また、Sysdigのエージェントはシステムコールをフックしてノード上の挙動を把握できるアーキテクチャを採用していることもメリットだった。Kubernetes上の障害やセキュリティインシデントの調査時に、システムコールのキャプチャーを取って可視化でき、管理運用の難易度を下げられると考えたのだ。
そのほか、コンテナスキャンにより使っているライブラリとその脆弱性を確認できる機能があることや、振る舞い検知ができることなども選定理由となった。
監視・運用においては、従来のRAFTELからNew Relicを利用している。リニューアル後もNew Relicをベースに見ることは変わらない。そこにSysdigを採用することで、New Relicで見ていて何か問題があったときに、調査しきれない部分をSysdigの領域に入っていって詳細分析するという形をとる。
そして、準備中も含め、DevSecOpsを含むSysdig活用の全体像が紹介された。
Sysdigの振る舞い検知のFalcoでGitHubのログから脅威検知をする。またsysdig-cli-scannerで、CIパイプラインでDockerイメージをスキャンして脅威検出する。Google Cloudのログを利用した疑わしい活動の検出もする。さらにCSPM(Cloud Security Posture Management)として、稼動中のPodを定期的にチェックする。そして必要に応じてシステムコールをキャプチャーして、コンテナの稼動状況を把握できるようにする。
NTTドコモでは認証や決済などの各種アセットをAPIで使えるが、整備されておらず使いにくかったという、外からはわからない事情から始まったセッション。それをAPI基盤によってサービス側から使いやすくしたこと、そしてそれをGKEでリニューアルしたことが語られた。
さらにはスマートフォン時代に対応していく中でのセキュリティ対策としてSysdigを導入し、DevSecOpsまでを目指すことが語られた点に興味深さを感じたセッションだった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Cloud Operator Days Tokyo 2021開催、New Relicとドコモのセッションを振り返る
- Observability Conference 2022、利用者目線のオブザーバビリティ実装をドコモのSREが解説
- 3/11「Observability Conference 2022」開催せまる! 実行委員オススメのみどころを紹介
- コンテナ環境のモニタリングやセキュリティ対策を一気通貫で提供、世界300社以上に採用が進むSysdigの真価
- コンテナセキュリティのSysdigのCEOに、オープンコアベンダーとは異なる戦略について訊いた
- Dockerコンテナの監視を行うサービス
- CloudNative Days Fukuoka 2023、GoogleによるGKE上のGateway APIの解説セッションを紹介
- パフォーマンス管理から「オブザーバビリティ」にブランディングを変えたNew Relicが新価格体系を発表
- コンテナは場所を選ばない!「オンプレ or クラウド×コンテナ」(後編)
- コンテナ開発へのDevSecOpsの適用