このガイドでは、データのインジェスト、外部テーブル、そのほかのインテグレーションの用途で、ClickHouse Cloud を Azure Blob Storage に安全に接続する方法を説明します。
ClickHouse Cloud は、いくつかの認証方式を使って Azure Blob Storage に接続できます。
このガイドでは、適切な方法の選び方と、接続を安全に設定する方法を説明します。
サポートされているユースケース:
重要なネットワーク上の制限ClickHouse Cloud サービスと Azure Blob Storage コンテナーが同じ Azure リージョンにデプロイされている場合、IP ホワイトリスティングは機能しません。これは、Azure が同一リージョン内のトラフィックをパブリックインターネットや NAT ゲートウェイを経由させず、内部ネットワーク (VNet + Service Endpoints) 経由でルーティングするためです。
その結果、パブリック IP アドレスに基づく Azure ストレージ アカウントのファイアウォール ルールは適用されません。IP ホワイトリスティングが機能するのは、次の場合です:
- ClickHouse Cloud サービスがストレージ アカウントとは異なる Azure リージョンにある
- ClickHouse Cloud サービスが AWS/GCP 上にあり、Azure ストレージに接続している
IP ホワイトリスティングが機能しないのは、次の場合です:
- ClickHouse Cloud サービスとストレージが同じ Azure リージョンにある。この場合、IP ホワイトリスティングの代わりに、接続文字列を使って Shared Access Signatures (SAS) を使用するか、ABS と ClickHouse を別のリージョンにデプロイしてください。
クロスリージョンのみこのセクションは、ClickHouse Cloud サービスと Azure Blob Storage コンテナーが異なる Azure リージョンにある場合、または ClickHouse Cloud が AWS/GCP 上にある場合にのみ適用されます。
同一リージョンにデプロイする場合は、代わりに SAS token を使用してください。
ClickHouse Cloud の egress IPs を確認する
IP ベースのファイアウォールルールを設定するには、ClickHouse Cloud のリージョンに対応する egress IP アドレスを許可リストに追加する必要があります。次のコマンドを実行して、リージョンごとの egress IPs と ingress IPs の一覧を取得します。
他のリージョンを除外するには、以下の eastus を使用中のリージョンに置き換えてください。以下のような結果が表示されます。詳細は “Cloud IP addresses” を参照してください。Azure Storage のファイアウォールを設定する
Azure Portal で対象の Storage Account に移動します
- Networking → Firewalls and virtual networks に移動します
- Enabled from selected virtual networks and IP addresses を選択します
- 前のステップで取得した各 ClickHouse Cloud egress IP アドレスを Address range フィールドに追加します
ClickHouse Cloud のプライベート IP (10.x.x.x アドレス) は追加しないでください
- Save をクリックします
詳細は Configure Azure Storage firewalls docs を参照してください。
Azure Blob Storage で ClickPipes を使用する場合は、ClickPipes UI で認証を設定する必要があります。
詳細については、「最初の Azure ClickPipe を作成する」 を参照してください。
ClickPipes は、アウトバウンド接続用に個別の固定 IP アドレスを使用します。
IP ベースのファイアウォールルールを使用している場合、これらの IP を許可リストに追加する必要があります。詳細は、「固定 IP の一覧」 を参照してください。
このドキュメントの冒頭で説明した同一リージョンでの IP ホワイトリスティングの制限は、ClickPipes にも適用されます。
ClickPipes のサービスと Azure Blob Storage が同じリージョンにある場合は、IP ホワイトリスティングではなく SAS トークン認証を使用してください。