承認済みネットワークによる承認

このページでは、IP アドレスを使用する Cloud SQL インスタンスへの接続に承認済みネットワーク設定を使用する方法について説明します。

はじめに

Cloud SQL インスタンスに接続する場合は、次の 2 つの点を考慮します。

  • 接続オプションによって、接続に使用するネットワーク パスが決まります。
  • 認証オプションによって、接続が許可されるユーザーが決まります。

初めて Cloud SQL インスタンスを作成する場合、デフォルトの設定ではインスタンスにパブリック IP アドレスを割り当てます。このオプションを使用する場合、IP アドレスはインスタンスの概要ページで確認できます。そのページにあるインスタンス名をクリックします。

インスタンスがパブリック IP アドレスのみを持つ場合でも、Cloud SQL Auth Proxy を使用して安全に接続できます。Cloud SQL Auth Proxy と Cloud SQL インスタンスの間のトラフィックは、すべて暗号化されます。プロキシを使用せず、独自のパブリック IP アドレスからクライアントを接続する場合は、クライアントのパブリック アドレスを承認済みネットワークとして追加する必要があります。

承認済みネットワークの構成

クライアント アプリケーションの IP アドレスまたはアドレス範囲は、次の場合に authorized networks として構成する必要があります。

  • クライアント アプリケーションが、パブリック IP アドレスで Cloud SQL インスタンスに直接接続している。
  • クライアント アプリケーションが、プライベート IP アドレスで Cloud SQL インスタンスに直接接続していて、クライアントの IP アドレスが RFC 1918 以外のアドレスになっている。

IP アドレスは、単一のエンドポイントにすることも、CIDR 表記の範囲にすることもできます。

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. SQL ナビゲーション メニューから [接続] を選択します。
  4. [パブリック IP] チェックボックスをオンにします。
  5. [ネットワークを追加] をクリックします。
  6. [名前] フィールドに、新しいネットワークの名前を入力します。
  7. [ネットワーク] フィールドに、接続を許可する IP アドレスまたはアドレス範囲を入力します。

    CIDR 表記を使用します。

  8. [完了] をクリックします。
  9. [保存] をクリックしてインスタンスを更新します。

gcloud

承認済みネットワークを構成すると、既存の承認済みネットワークのリストが置き換えられます。

gcloud sql instances patch INSTANCE_ID \
--authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
    

REST v1

承認済みネットワークを構成すると、既存の承認済みネットワークのリストが置き換えられます。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID
  • network_range_1: 認可済みの IP アドレスまたは範囲
  • network_range_2: 別の認可済み IP アドレスまたは範囲

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": network_range_2"}]
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

REST v1beta4

承認済みネットワークを構成すると、既存の承認済みネットワークのリストが置き換えられます。

リクエストのデータを使用する前に、次のように置き換えます。

  • project-id: プロジェクト ID
  • instance-id: インスタンス ID
  • network_range_1: 認可済みの IP アドレスまたは範囲
  • network_range_2: 別の認可済み IP アドレスまたは範囲

HTTP メソッドと URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 本文のリクエスト:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": network_range_2"}]
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

制限事項

一部の IP アドレス範囲は、承認済みネットワークとして追加できません。

アドレス範囲
127.0.0.0/8 ループバック アドレス範囲
10.0.0.0/8 RFC 1918 アドレス範囲。これらは、Cloud SQL によって承認済みネットワークに自動的かつ暗黙的に含まれます。
172.16.0.0/12 RFC 1918 アドレス範囲。これらは、Cloud SQL によって承認済みネットワークに自動的かつ暗黙的に含まれます。
172.17.0.0/16 Docker ブリッジ ネットワーク用に予約されています。
192.168.0.0/16 RFC 1918 アドレス範囲。これらは、Cloud SQL によって承認済みネットワークに自動的かつ暗黙的に含まれます。
0.0.0.0/8 RFC 3330 null ネットワーク
169.254.0.0/16 RFC 3927 と RFC 2373、リンクローカル ネットワーク
192.0.2.0/24 RFC 3330 と RFC 3849、ドキュメント ネットワーク
224.0.0.0/4 RFC 3330、IPv6 マルチキャスト ネットワーク
240.0.0.0/4 このブロック(旧称: クラス E アドレス空間)は、将来の使用のために予約されています。RFC 1112、セクション 4 をご覧ください。

次のステップ