Metadata Agentを構築するネットワーク環境について知りたい。
はじめに
お客様のAWS環境に構築するMetadata Agent・Intelligence Agentは、Agentから対象のデータソース及びQuollioのAWSアカウントへアクセスできる環境であれば、ネットワーク自体はお客様側のセキュリティ要件に合わせて柔軟に構築いただけます。本ガイドでは、よくあるネットワークパターンをいくつかご紹介します。
パブリックIP自動割り当て
パブリックサブネット内に構築するケースでは、AWS Batchはインターネットゲートウェイを通して各種AWSサービスやQuollioのアカウント内のリソースへアクセスを行います。このパターンでは、コンピューティング環境となるAWS Batch(厳密にはAmazon ECS on Fargate)にアタッチされるENIにパブリックIPを割り当てて通信を行います。
AWSではパブリックIPが付与されたインスタンスがAWSサービスにアクセスする場合、通信はインターネットには出ずAWSのプライベートネットワーク内を経由します。Quollio Data CatalogのサービスはAWS上で構築されているため、PrivateLinkを使用しない場合でも、お客様とQuollioのAWSアカウント間の通信がインターネットに出ることはありません。そのため、セキュリティ要件が「トラフィックがインターネットに出ない」ということだけであれば、PrivateLinkを使用しない場合でも要件を満たしていると言えます。
AWSネットワークに関する補足として、よくある質問 - Amazon VPC | AWSより、以下の文を引用いたします。
Q:2つのインスタンスがパブリックIPアドレスを使用して通信する場合、またはインスタンスがパブリックなAWSのサービスエンドポイントと通信する場合、トラフィックはインターネットを経由しますか?
いいえ。パブリックIPアドレスを使用する場合、AWSでホストされているインスタンスとサービス間のすべての通信はAWSのプライベートネットワークを使用します。AWSネットワークから発信され、AWSネットワーク上の送信先を持つパケットは、AWS中国リージョンとの間のトラフィックを除いて、AWSグローバルネットワークにとどまります。
さらに、データセンターとリージョンを相互接続する AWSグローバルネットワークを流れるすべてのデータは、安全性が保証された施設を離れる前に、物理レイヤーで自動的に暗号化されます。すべてのVPCクロスリージョンピアリングトラフィックや、カスタマーまたはサービス間のトランスポート層セキュリティ(TLS)接続などといった追加の暗号化レイヤーもあります。
NAT Gateway
Metadata AgentはAmazon ECS on Fargateのサーバレス構成であるため、パブリックIPを固定したい場合はNAT Gateway等を経由する必要があります。上記は、データソースがAWSアカウント外にあり、データソース側でIPアドレスによるアクセス制御を行なう場合の構成です。
なお、Metadata AgentのCloudFormationテンプレート内ではNAT Gateway自体の構築は行いません。対象のデータソースの要件に合わせて事前にNAT Gatewayを作成いただき、NAT GatewayへのルーティングがあるサブネットにAWS Batchを構築します。
Network Firewall
Metadata Agentでは、Security Groupのインバウンドルールは外部のIPレンジに対して設定しないため、Metadata Agentのインスタンスに外部からアクセスすることはできませんが、アウトバウンドルールはデフォルトでは全開放する設定となっています。Security GroupやNetwork ACLに対して、特定のIPレンジでアウトバウンドトラフィックを制限することも可能ですが、SnowflakeのようなIPアドレスが不定かつ広範囲なサービスを対象とする場合、現時点のAWSの仕様上(2023年10月9日)では、そのIPレンジを全て設定することは実現が困難となっています。アウトバウンドトラフィックを制限する代替案として AWS Network Firewall を使用することも可能です。
AWS Network Firewallでは専用のサブネットをNAT Gatewayの前段に構築し、NAT GatewayからInternet Gatewayまでのトラフィックを経由させることで、IPレンジだけでなくドメインを使用したトラフィックの制御を行うことが可能です。比較的手軽に導入することができる一方、Network Firewallの使用料が別途発生し、かつMetadata Agentの実行時間がFirewallを使用しない場合と比較して長くなる、といったデメリットがあります。
AWS Network Firewallの詳細については、以下の公式ブログをご参照ください。
PrivateLink
Metadata Agentからインターネットゲートウェイへの経路を完全に遮断し、プライベートIPを使用して通信を行いたい場合はPrivateLinkを使用します。AWS Batchをプライベートサブネット内に構築し、VPC Endpointを経由して各種AWSサービスへアクセスします。
セキュリティ要件が厳しく専用のプライベートネットワークを必須とされる場合は、PrivateLinkでネットワーク環境を構築します。ただし、すべての通信をプライベートにする場合は最低5本のInterface Endpointを必要とするため、VPC Endpointのホスティングのみで月51.10USDの料金が発生します(2022年5月17日現在の料金)。
なお、SnowflakeのようなAWSアカウント外のデータソースとのプライベートネットワークに関しましては、基本的にはQuollioの管轄外となりますので、データソースを提供するベンダーの仕様に従って構築をお願いしております。
その他
Metadata Agentに関してご不明な点がある、またはいずれのパターンでも貴社のセキュリティ要件を満していない場合は、Quollioの担当者までご相談ください。弊社製品をご検討中のお客様は、下記のお問合せフォームよりご連絡ください。