はじめに
この記事の概要
クラウド構築において、最も地味で、最もミスが許されず、そして最も面倒くさい「ファイアウォール設定」。
「IPアドレスが変わったので開けてください」「開発環境だけ許可してください」……終わらない変更依頼と、肥大化する管理Excel。
OCIの比較的新しい機能「Zero Trust Packet Routing (ZPR)」、通称ジッパーで、「IPアドレス管理」という呪縛から解き放たれました。
まずZPRとは…?
「『IPアドレス』を捨てて、『意図』でつなぐ。」
従来の「IPアドレス(192.168...)を許可する」というネットワークの言語ではなく、「WebサーバーはDBにつなぐ」という人間の意図だけで通信を制御できる点を表現しています。
CIDR計算をしたくない!
私はもう、CIDR計算をしたくありません。
インフラSIerとして働いていると、システムは生き物のように成長します。当初はWebサーバー2台、DB2台の平和な構成だったはずが、気づけばマイクロサービス化が進み、コンテナが増殖し、連携するサブネットは複雑怪奇に絡み合います。
「WebサーバーからDBへの通信を通す」。
言葉にすればたったこれだけのことなのに、我々インフラ屋がやることは泥臭い作業の連続です。
- Webサーバー群のサブネット範囲を確認する(
10.0.1.0/24...だっけ?) - DBサーバー側のSecurity List(またはNSG)を開く。
- Ingressルールに
Source: 10.0.1.0/24, Port: 1521を追加する。 - 後日、WebサーバーがAuto Scalingで別サブネットにも配置されることになり、通信エラーで呼び出される。
- 焦って修正する際、誤って本番以外のIPも巻き込んで許可してしまう。
「IPアドレスでセキュリティを制御する」には管理用のExcelシートは更新が追いつかず、実環境と乖離していく。「誰だ、このルール追加したの?」とひたすらにログを洗う…
「もっとこう、人間の言葉(インテント)で制御させてくれよ!」
そんな悲痛な叫びは、OCIのZPR (Zero Trust Packet Routing)が解決してくれました。
「意図」だけで守る、新しい快感
ZPRの概念を聞いたとき、最初は疑いました。
ゼロトラストなんて言葉は聞き飽きています。
しかし、実際に触ってみてたいそう驚きました。
ZPRを一言で言うなら、「IPアドレスを捨てて、属性(Attribute)で語るファイアウォール」です。
これまで私がやっていた設定作業
Source: 10.0.1.0/24 -> Dest: 10.0.2.5 Allow
ZPRでの設定作業
in App:Network VCN allow App:Web-Server endpoints to connect to App:Database endpoints
これだけです。本当に、これだけなんです。
※実際はもちろん、これにポート番号やサービス名を添えます
【画像:ZPRのポリシー設定画面】
IPアドレスが何であろうと、サブネットがどこであろうと関係ありません。
「このリソースはWebサーバーである」という属性(Security Attribute)さえ付与しておけば、あとはZPRポリシーという「文章」を書くだけで通信が制御されます。
この瞬間、私の頭の中にあった「巨大なネットワーク図」と「IP管理表」がガラガラと崩れ去り、代わりにシンプルな「相関図」が浮かび上がりました。
設定ミスという「人災」を根絶する
実際に、社内の検証環境でZPRを導入してみました。
効果は劇的でした。
まず、Security Listのルール数が激減しました。
ZPRの導入によって、NSGは「VCN内部の広めのセグメントでの通信許可」といったシンプルな管理に留め、アプリケーション間の厳密なアクセス制御はZPRの「意図」に任せることができて設定ミスの恐怖から解放されます。
これまでは、「192.168.1.0/24 と 192.168.10.0/24 を見間違える」といった、あまりに人間臭いミスが常に隣り合わせでした。
しかし、ZPRなら間違えようがありません。
in App:Network VCN allow App:WebServer endpoints to connect to App:Database endpoints with protocol='tcp/1521'
このようにポリシーが自然言語(英語)に近い形で記述されるため、レビューの容易さが段違いです。インフラに詳しくないアプリ担当者が見ても、「ああ、WebからDBにつないでるんだな」と一目で分かります。
【画像:実際に記述したZPRポリシーコード】
「意図(Intent)」がそのまま「設定」になる。
これにより、私の体感ですが、ファイアウォール設定にかかる工数は半分以下、精神的な疲労度は9割減と言っても過言ではありません。
インフラ屋は、楽をしていい
OCIのZPRを触って痛感しました。
IPアドレスという物理的な制約に縛られず、本来やるべき「どのサーバーが、どこに繋がるべきか」という設計(デザイン)に集中する。それがこれからのインフラエンジニアの姿なのだと思います。
もしあなたが、数百行のSecurity List管理に追われ、深夜のアラートに怯えているなら
一度、その手を止めてOCIのコンソールを開き、ZPRを触ってみてください。
きっと、「今日は定時で帰ろう」と思えるはずです。



