Snowflake Postgresネットワーク

デフォルトでは、Snowflake Postgresは、選択したクラウドリージョンの新しいプライベートネットワーク内で新しいインスタンスをそれぞれプロビジョニングします。各ネットワークは、同じクラウドリージョン内の他のネットワークから分離され、プライベートです。

デフォルトでは、Snowflake Postgresインスタンスは受信接続を許可しません。Snowflake Postgresインスタンスのトラフィックは、次の2つの方法のいずれかで有効にできます。

  • Postgresのイングレスおよび/またはエグレスネットワークルールを含むネットワークポリシーをアタッチします。このオプションは、すべてのアカウントで利用できます。

  • クラウドベンダープライベートネットワークとプライベートリンク接続を構成します。このオプションはBusiness Critical Edition以上のアカウントで利用可能です。

Snowflake Postgresネットワークのポリシーとルール

Snowflake Postgresインスタンス関数に関する ネットワークポリシー および ネットワークルール は、他のSnowflakeリソースと同様ですが、重要な違いがいくつかあります。

  • Snowflakeアカウント、ユーザー、およびその他のセキュリティ統合に対するのと同じように、Snowflake Postgresインスタンスと一緒に使用するために、ネットワークポリシーが アクティベートされている 必要はありません。Snowflake Postgresインスタンスのネットワークポリシーは、代わりにインスタンスの作成時にインスタンスに直接アタッチされます。既存のインスタンスのネットワークポリシーも変更できます。

  • Snowflake Postgresインスタンスは、ネットワークポリシーの ALLOWED_NETWORK_RULE_LIST および BLOCKED_NETWORK_RULE_LIST プロパティのみを使用します。BLOCKED_IP_LIST および ALLOWED_IP_LIST プロパティは無視されます。

  • Snowflake Postgresインスタンスのネットワークルールは、Postgres IngressまたはPostgres Egressモードのいずれかを使用する必要があります。これらのモードを使用するルールは現在、 IPv4 型に制限されています。

  • ネットワークポリシーでPostgres IngressまたはPostgres Egress以外のモードを使用するネットワークルールは、それらを使用するSnowflake Postgresインスタンスでは無視されます。

警告

Snowflakeでは、ネットワークポリシーをできるだけ制限的にすることを推奨しています。``0.0.0.0/0``ネットワークルールを使用してポリシーを適用すると、サーバーはインターネット上のどこからの接続にも公開されます。このためSnowflakeでは、Snowflake Postgresインスタンスに対して``0.0.0.0/0``ルールのポリシーを使用しないことを推奨しています。

権限

  • 新しいネットワークポリシーを作成するには、Snowflakeユーザーはアカウントで、CREATE NETWORK POLICY権限を持っている必要があります。

  • 新しいネットワークポリシーを作成するには、Snowflakeユーザーはアカウントに対するCREATE NETWORK RULE権限を持っている必要があります。

  • Snowflakeインスタンスに既存のネットワークポリシーをアタッチするには、Snowflakeユーザーがネットワークポリシーを所有するか、ポリシーの所有者がポリシーに対するUsageを GRANT する必要があります。

Snowflake Postgresネットワークポリシーとルールの例

例:

  • オフィスから新しいPostgresインスタンスへの受信トラフィックを許可したいと考えています。オフィスのネットワークルーターのパブリック IP アドレスは 23.206.171.35 だとします。

  • また、新しいPostgresインスタンスから、Postgres外部データラッパー接続を介して、オフィスのPostgresサーバーへの送信トラフィックを許可したいと考えています。

このために、Postgres IngressネットワークルールとPostgres Egressネットワークルールの両方を持つ新しいポリシーを作成します。

  1. 2つの新しいネットワークルールを作成します23.206.171.35/32 を両方の唯一のネットワーク識別子として使用し、片方の Mode として「Postgres Ingress」を、もう1つの Mode として「Postgres Egress」を使用します。

  2. Allowed リストに新しいルール両方を含む 新しいネットワークポリシーを作成します

  3. ナビゲーションメニューで Postgres を選択します。

  4. + Create を選択します。

  5. 必要なインスタンス構成の詳細を選択する場合は、 Network policy 選択ボックスで新しいポリシーを選択します。下の画像では、 OFFICE POLICY EXAMPLE という名前のポリシーを選択しています。

ネットワークポリシーを持つSnowflake Postgresを作成する

インスタンス作成時にイングレスルールを作成

Snowflake Postgresインスタンスを作成する前にネットワークポリシーとルールを作成する代わりに、Snowsightを介してSnowflake Postgresインスタンスを作成する時に、Postgresイングレスルールを使用してポリシーを作成できます。

  1. ナビゲーションメニューで Postgres を選択します。

  2. Postgres Instances ページで、右上にある Create ボタンを選択します。

  3. インスタンス構成を選択しますが、 Network policy の選択は空白のままにします。

  4. Create`を選択すると、新しいダイアログに``snowflake_admin` Postgresユーザーの:doc:接続認証情報</user-guide/snowflake-postgres/connecting-to-snowflakepg>`が表示されます。これらの認証情報を安全な場所に保存したら、 :ui:`Continue to network settings を選択します。

  5. Network Settings ダイアログ(以下に表示)で、Postgresイングレスインスタンスを作成したい IP アドレスおよび/または CIDR 値を入力して、Enterを推すと、それぞれがリストに追加されます。

  6. Details セクションを展開し、必要に応じて新しいネットワークルールおよび/またはポリシー名を編集します。

  7. Save を選択すると、新しいPostgresイングレスネットワークポリシーが作成され、アクティブになるとインスタンスに自動的にアタッチされます。

インスタンス作成時にSnowflake Postgresイングレスネットワークポリシーを作成する