この記事はFIXER Advent Calendar 2023( FIXER Advent Calendar 2023 - Adventar ) 12月5日の記事です。
最近Azure Database for MySQL フレキシブルサーバー (以降MySQLと略します)がプライベートリンクと対応したので、既存のネットワーク構成との違いを簡単に書こうと思います。
以下は公式ドキュメント。
General Availability: Azure Private Link for MySQL – Flexible Server | Azure の更新情報 | Microsoft Azure
ネットワーク構成の違い
パブリック
MySQLにはホワイトリスト方式のパブリックファイアウォール機能があります。任意のIPを登録することで、それ以外のIPからのアクセスを拒否することができます。また、AzureリソースからMySQLへのパブリック通信に関しては、Azure内の任意のリソースから許可する設定をオンにすることで通信が可能となります。
VNet統合
MySQLをプライベート空間に閉じ込めたい時に選択される構成です。VNet空間にMySQLを所属させ、VNet内のIPをMySQLに割り当てています。可用性オプションによっては1つのIPでは足りないので、MySQLの構成に合わせたVNetのIP設計が必要です。
注意点として、VNet統合ではパブリックファイアウォールが利用できません。そのため、例えば踏み台サーバーをVNet内に配置していないとMySQLにアクセスできなくなります。
プライベートリンク
MySQLをプライベート空間に閉じ込めたい時に選択される構成です。VNet統合とは異なり、VNet空間にMySQLを所属させません。プライベートエンドポイントからMySQLを呼び出すようなイメージです。
MySQLのプライベートリンクは上記で述べたパブリックファイアウォール機能と併用することが可能です。プライベートなアクセスとパブリックなアクセスを共存することができるため、踏み台サーバーが必須ではありません。ただし注意点として、プライベートエンドポイントは1つにつき1,300円ほどの月額料金が発生するのでコストを少し考慮する必要があります。
他にもプライベートリンクの共通した特徴として、通信の呼び出しは一方向のみ許可されるというものがあります。
例えばオンプレミスとAzureを繋ぐ構成ですと、オンプレミス側(オンプレミスのIPを使っているSpokeVNet等)及びAzure側(Azureに閉じたIPを持つVNet)からそれぞれプライベートエンドポイントを中継してAzureリソースを呼び出すようにすることで、セキュリティリスクを軽減することが可能です。IPアドレスもプライベートエンドポイント分のみで済むのでIPアドレスの節約に繋がります。設計難易度は上がりますが効率的な運用が可能な構成をとることができます。
終わり
間違ってたこと書いてたら教えてください。