End-to-End Private Link
セキュリティ上の理由から、クライアントと CelerData Cloud サービス間、または CelerData クラスターと CelerData Cloud サービス間のすべてのトラフィックを保護し、機密データやクエリを保護したい場合があります。この要件を満たすために、クラウドプロバイダーの内部ネットワーク内でトラフィックを制限する End-to-End Private Link ソリューションを提供しています。
End-to-End Private Link ソリューションは、AWS PrivateLink または GCP Private Service Connect に依存しています。
このトピックでは、特定のトラフィックをパブリックインターネットに公開する可能性のある一般的なアーキテクチャと、クラウドプロバイダーのバックボーンネットワークを通じてすべてのトラフィックを安全にルーティングする End-to-End Private Link ソリューションを比較します。以下の段落では、AWS を例にとって、AWS 環境での End-to-End Private Link ソリューションを説明します。GCP の場合も同様です。
一般的なアーキテクチャ
標準セットアップでは、CelerData クラスターは CelerData Cloud BYOC コンソールを通じてパブリックサブネットに作成されます。ここで、パブリックサブネットとは、クラスターがパブリックインターネットを介して CelerData Cloud サービスと通信でき、クライアントもパブリックインターネットを介してクラスターにアクセスできることを意味します。通信の流れは次のとおりです。
- クラウドコンソールアクセス: ユーザーはパブリックインターネット (チャネル 5) を介して CelerData Cloud コンソールにログインし、クラスターを選択して開きます。
- クラスターコンソールアクセス: ユーザーはパブリックインターネット (チャネル 3) を介してクラスターコンソールにアクセスします。
- SQL クエリの送信:
- ユーザーはクラスターコンソールを使用して SQL クエリを送信します (チャネル 3)。クラスターコンソールはこれらのクエリをクラスターに転送します (チャネル 2)。クエリが実行された後、結果は同じチャネルを介して返されます。
- または、ユーザーは MySQL プロトコルを介してクラスターに直接 SQL クエリを送信します (チャネル 4)。クエリが実行された後、結果は同じチャネルを介して返されます。
- S3 データアクセス: クラスターは S3 (または GCP の Google Cloud Storage) からクエリプロファイルやその他のデータに アクセスします (チャネル 1)。
セキュリティ上の懸念は次のとおりです。
- チャネル 3、4、および 5 はパブリックインターネットにトラフィックを公開します。
- チャネル 1 および 2 は、VPC エンドポイント (または GCP の PSC エンドポイント) が構成されている場合、クラウドプロバイダーのバックボーンネットワークを使用します。そうでない場合、パブリックインターネットを通過する可能性があります。
End-to-End Private Link ソリューション
End-to-End Private Link ソリューションは、VPC エンドポイント (または GCP の PSC エンドポイント) を介してクラウドプロバイダーのバックボーンネットワークを通じてトラフィックをルーティングすることで、トラフィックを保護します。以下はその仕組みです。
-
接続用 VPC エンドポイント (または GCP の PSC エンドポイント) (チャネル 2): チャネル 2 に VPC エンドポイントを構成して、以前はチャネル 3 にあったトラフィックをチャネル 2 に統合できます。これにより、クラスターコンソールとクラスター間の通信が保護されます。
-
S3 用 PrivateLink: クラスターの S3 データへのアクセスを保護するために、S3 用の PrivateLink を構成することもできます (チャネル 1)。
注意
GCP の場合、Google API とサービスへのプライベートアクセス用のネットワークを構成する必要があります。
-
クライアントアクセスの保護 (チャネル 4): クラスター管理者が構成した VPN を介してクラスターにアクセスできます。これにより、MySQL プロトコルを介して送信された SQL クエリとその結果が VPC 内に留まることが保証されます。
End-to-End Private Link ソリューションの主な利点は次のとおりです。
- クラスターコンソールへのパブリックインターネットアクセス (チャネル 3-b) および直接 MySQL プロトコルアクセス (チャネル 4) が無効化され、SQL クエリと結果が保護されます。
- テストや特別なユースケースのためにクラスターコンソールへの一時的なパブリックアクセスを有効にすることができますが、通常の操作中は無効にしておくべきです。
- チャネル 5 (クラウドコンソールアクセス) は PrivateLink (または GCP Private Service Connect) によって保護されていませんが、SQL クエリや機密データは含まれていません。
デプロイと構成
End-to-End Private Link の有効化
クラスターをデプロイする際にのみ、End-to-End Private Link ソリューションを有効にできます。
- AWS 環境では、まず接続用の VPC エンドポイントを作成し、VPC エンドポイント ID をコピーし、デプロイメントウィザードの STEP3 で 高度なセキュリティ設定 を有効にした後に VPC エンドポイント ID フィールドに貼り付けます。詳細については、AWS でのデプロイを参照してください。
- GCP 環境では、まずPrivate Service Connect エンドポイントを作成し、PSC 接続 ID をコピーし、デプロイメントウィザードの STEP3 で 高度なセキュリティ設定 を有効にした後に PSC 接続 ID フィールドに貼り付けます。詳細については、GCP でのデプロイを参照してください。
インターネットアクセスのないプライベートサブネット (通常のケース) をクラスターに使用することもできます。
- AWS の場合、S3 用の VPC エンドポイントを作成することも確認してください。これがないと、クラスターはクエリプロファイルやその他の情報を S3 バケットに保存できません。また、外部カタログでデータをロードまたはクエリする際に S3 からデータを読み取ることができません。
- GCP の場合、PSC エンドポイ ントを作成する以外に、Google API とサービスへのプライベートアクセス用のネットワークを構成する必要があります。
Private Link ソリューションとネットワーク構成に不慣れな場合は、セットアップ後のアクセスを容易にするために クラスターコンソールへのパブリックアクセスを有効にする ことをお勧めします。パブリックアクセスが有効になっている場合、クラスターのユーザーはパブリックインターネットを介してコンソールにアクセスできます。GCP の場合、パブリックアクセスを無効にする前に、Private Link 用のネットワークを構成する必要があります。そうしないと、CelerData コンソールに接続できなくなります。
クラスターが正常にデプロイされ、Private Link ソリューションが実装されたら、接続を保護するためにパブリックアクセスを無効にすることができます。これにより、すべてのユーザーが Private Link を通じてのみクラスターコンソールにアクセスできるようになります。詳細については、Private Link を使用したパブリックアクセスの管理を参照してください。
End-to-End Private Link が有効になっている場合、クラスターのユーザーはクラスターコンソールにアクセスできます。
- パブリックアクセスが無効になって いる場合は、クラスター詳細ページの Open cluster ボタンをクリックして、プライベートサブネットを介してのみアクセスできます。
- パブリックアクセスが有効になっている場合は、プライベートサブネットとパブリックインターネットの両方を介してアクセスできます。
- パブリックインターネットを介してアクセスするには、クラスター詳細ページで Open cluster ボタンを直接クリックします。
- プライベートサブネットを介してアクセスするには、Open cluster ボタンの横にあるドロップダウンリストから Open cluster from private link を選択します。