IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

グーグルのクラウドを支えるテクノロジー

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第190回 CAPA: ネットワークの構成変更を安全に実行するアーキテクチャー(パート1) (中井悦司) 2025年1月

はじめに

 今回からは、2023年に公開された論文「CAPA: An Architecture For Operating Cluster Networks With High Availability」に基づいて、データセンターネットワークの構成変更を安全に実行するためにGoogleのエンジニアが開発した、CAPA(containment and prevention architecture)と呼ばれるアーキテクチャーを紹介していきます。今回は、CAPAが必要とされる背景と、CAPAのアーキテクチャー概要を説明します。

データセンターネットワークの構成変更に伴う課題

 クラウドプロバイダーやネットワークプロバイダーが管理する大規模なデータセンターネットワークでは、さまざまなレイヤーでの冗長化が行われており、理論上は無停止での稼働を実現するアーキテクチャーが採用されています。しかしながら、現実にはエンドユーザーに影響を与えるネットワーク障害が発生することがあります。Googleのネットワーク管理チームの経験では、その多く(2018年のデータでデータセンターネットワークの障害の58%以上)が、構成変更の管理作業に起因します。構成変更に伴う障害を防止するためのさまざまなベストプラクティスが知られていますが、冒頭の論文によると、大規模なデータセンターネットワークでは、このようなベストプラクティスを確実に適用する上でのいくつかの課題があります。そのため、構成変更に伴う想定外のネットワーク障害を防止するには、これらの課題を解決する仕組みが必要であり、Googleのデータセンターでは、2018年から、その実現を目指したCAPAと呼ばれるアーキテクチャーを導入しています。
 冒頭の論文では、CAPAが解決するべき課題を大きく次の4つに整理しています。

  1. システムの規模と複雑さ:大規模なデータセンターネットワークは、さまざまなサブシステムが相互作用する分散システムとして構成されており、管理対象のコンポーネントや必要な管理作業の種類が膨大になります。そのため、これらのすべてに確実にベストプラクティスを適用することが困難です。
  2. 障害ドメインの分離が困難:システムを冗長化する際は、障害の影響が相互に伝搬しない、独立した障害ドメインを構成することが大切です。しかしながら、ネットワークシステムは相互接続されていることが本質的に必要であり、完全に独立した障害ドメインを実現することが困難です。
  3. 安全性とベロシティの両立:構成変更を安全に実施するには、複数の変更作業を同時に行わず、1つ1つの変更について、変更が確実に完了したことをチェックしながら進めることが大切です。しかしながら、大規模なネットワークでは一定期間内に完了することが必要な多数の変更作業が発生するため、これは現実的ではありません。依存関係を適切に管理しながら、複数の変更を同時に(かつ安全に)実行する必要があります。
  4. ソフトウェア開発に対するオーバーヘッド:現代のネットワークシステムはさまざまなソフトウェアコンポーネントに依存しており、これらのソフトウェアのすべてにおいて、安全性を担保するためのベストプラクティスを要求すると、ソフトウェア開発に対するオーバーヘッドが大きくなります。特に、構成情報を保存する分散ストレージなど、ネットワークシステム以外の目的にも利用される共通コンポーネントについては、ネットワークシステムからのすべての要求を受け入れるのは困難です。
CAPAのアーキテクチャー概要

 前述の課題を解決するには、ネットワークの構成変更を実施する際に、さまざまなベストプラクティスを自動的に適用する仕組みが必要となります。CAPAでは、ネットワークの構成変更を実施する個々の管理者、あるいは、ネットワークの構成変更を実施するソフトウェアシステムを開発する個々のエンジニアにベストプラクティスの適用を要求するのではなく、事前に用意されたAPIを通して変更作業を行うことで、ベストプラクティスに基づいた安全な構成変更を実現します。
 詳細については次回以降に解説しますが、大きくは、図1のような仕組みになります。

fig01

図1 CAPAのアーキテクチャー概要(論文より抜粋)

 図1の最上段の「Operations Workflows」は、システムの構成変更を行うソフトウェアシステムです。そして、最下段の「Production Critical Systems」がベストプラクティスを確実に適用するべきネットワークシステムのコンポーネント群です。ソフトウェアシステムは、これらのコンポーネントを直接に操作するのではなく、中段にある「Regulation Systems」を介して必要な変更を行います。ソフトウェアシステムは、Regulation Systemsに対して、変更処理の個々のステップを指示するのではなく、「最終的にこうなって欲しい」という状態を宣言的に指定します。Regulation Systemsは、それを実現するための適切なステップを計算して、システムの状態をチェックしながら必要な変更処理を行っていきます。この仕組みであれば、Regulation Systemsがベストプラクティスに従った安全な構成変更を行うように設計しておけば、これを利用する個々の管理者やソフトウェアエンジニアに頼ることなく、安全な構成変更が実現できることになります。

次回予告

 今回は、2023年に公開された論文「CAPA: An Architecture For Operating Cluster Networks With High Availability」に基づいて、データセンターネットワークの構成変更を安全に実行するためにGoogleのエンジニアが開発したアーキテクチャー「CAPA」について、CAPAが必要とされる背景と、CAPAのアーキテクチャー概要を説明しました。次回は、CAPAによる処理の流れを具体例で説明します。

Disclaimer:この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes