MD5 認証を使用する
Cloud Router は、Border Gateway Protocol(BGP)を使用して、Virtual Private Cloud(VPC)ネットワークとピア ネットワーク間のルートを交換します。デフォルトでは、Cloud Router BGP セッションは認証されていません。ただし、特定のプロダクトで Cloud Router を使用する場合は、必要に応じて MD5 認証を使用するように BGP セッションを構成できます。
MD5 認証を使用できるプロダクトは次のとおりです。
サードパーティ製のネットワーク仮想アプライアンスでも MD5 認証を使用できます。詳細については、Network Connectivity Center のドキュメントの Router アプライアンスをご覧ください。
MD5 認証を使用するようにセッションを構成するときに、シークレット共有キーを指定します。この鍵は、Cloud Router の構成時とピアルーターの構成時に使用します。必要な設定手順を完了すると、Cloud Router はその鍵を使用して BGP ピアを認証します。Cloud Router では、RFC 2385 のモデルを使用して MD5 認証が適用されます。
ピアの作成時に MD5 認証を追加できます。また、既存のセッションに認証を追加することもできます。セッションが使用する鍵の変更や認証の削除も可能です。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Google Cloud CLI を使用している場合は、次のコマンドを実行してプロジェクト ID を設定します。このページの
gcloud
の説明では、プロジェクト ID がすでに設定されていることを前提としています。gcloud config set project PROJECT_ID
-
次のコマンドを実行して、ID が設定されていることを確認します。
gcloud config list --format='text(core.project)'
認証を使用するセッションを作成する
一部のネットワーク接続プロダクトでは、リソースの作成中に MD5 認証を使用するように BGP ピアを構成できます。これらのプロダクトには、HA VPN と Dedicated Interconnect があります。
詳しくは、以下のセクションをご覧ください。
- ピア VPN ゲートウェイへの HA VPN トンネルを作成する
- Google Cloud ネットワーク間の HA VPN を作成する
- VLAN アタッチメントを作成する(Dedicated Interconnect)
レイヤ 2 Partner Interconnect の VLAN アタッチメントを作成する場合は、まずアタッチメントを作成してから、BGP ピアを更新して MD5 認証を追加します。BGP セッションの更新中に認証を追加する方法については、次のセクションをご覧ください。レイヤ 3 接続がある場合は、手順についてはサービス プロバイダにお問い合わせください。
既存のセッションに認証を追加する
既存の BGP ピアに認証を追加する場合は、次のいずれかの手順を行います。認証を追加するときに、使用する鍵がピアルーターで使用されている鍵と同じであることを確認してください。
Google Cloud では MD5 認証鍵は表示されません。構成が適切に完了すると、鍵名のみが表示されます。
- gcloud または UI を使用して MD5 認証を構成すると、Google Cloud によって鍵名が
PEER_NAME-key
の形式で自動的に生成されます。 - API で MD5 認証を構成する場合は、鍵名を指定できます。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
[名前] フィールドで、適切な Cloud Router の名前をクリックします。
[ルーターの詳細] ページで、変更する BGP セッションの名前をクリックします。
[BGP セッションの詳細] ページで、[
編集] を選択します。MD5 認証を追加するには:
- [MD5 認証] セクションで、[有効] を選択します。ページが更新され、テキスト フィールドが追加されます。
- セキュリティ キーを入力するか、新しいセキュリティ キーを生成するために [生成してコピー] をクリックします。
- 鍵をメモしておきます。このページから移動すると、鍵を取得できなくなります。
[保存] をクリックします。
gcloud
gcloud CLI を使用してセッションを更新するには、gcloud compute routers update-bgp-peer
コマンドを使用します。
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
次の値を置き換えます。
ROUTER_NAME
: Cloud Router の名前PEER_NAME
: BGP ピアの名前REGION
: Google Cloud リージョンSECRET_KEY
: シークレットの共有 MD5 認証鍵
API
API を使用してセッションを更新するには、compute.routers.patch
メソッドを使用します。このメソッドを使用してセッションに認証を追加する場合、リクエストで次の 2 つのことを行う必要があります。
- キーのエントリを
md5AuthenticationKeys
配列に追加します。エントリを追加する際に、キーの名前と値の両方を指定します。 bgpPeers
配列を更新して、md5AuthenticationKeyName
フィールドの値を含めます。このフィールドは、名前でキーを参照します。
md5AuthenticationKeys
配列にパッチを適用するときは、配列内の各アイテムの name
を指定する必要があります(一部のアイテムを削除する場合を除きます)。ただし、各アイテムの key
フィールドの値を指定する必要はありません。この値を省略すると、Cloud Router は以前に使用された値を保持します。この動作は、鍵の機密性を保護することを目的としています。これは、他のパッチメソッドとは異なり、配列項目の各フィールドに値を指定する必要があります。
bgpPeers
配列にパッチを適用するときは、(一部のピアまたは一部の値を削除する場合を除き)すべての項目のすべてのフィールドに値を指定する必要があります。
たとえば、Cloud Router にピア 2 つがあり、1 つは MD5 認証を使用するものと、使用しないものがあるとします。最初のピアを変更せずに、2 番目のピアに MD5 認証を追加する場合、次のようなリクエストを使用します。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME_1", }, { "name": "KEY_NAME_2", "key": "SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME_1", "md5AuthenticationKeyName": "KEY_NAME_1", "interfaceName": "INTERFACE_NAME_1", "ipAddress": "IP_ADDRESS_1", "peerIpAddress": "PEER_IP_ADDRESS_1", "peerAsn": "PEER_ASN_1" }, { "name": "PEER_NAME_2", "md5AuthenticationKeyName": "KEY_NAME_2", "interfaceName": "INTERFACE_NAME_2", "ipAddress": "IP_ADDRESS_2", "peerIpAddress": "PEER_IP_ADDRESS_2", "peerAsn": "PEER_ASN_2" } ], }
次の値を置き換えます。
PROJECT_ID
: Cloud Router が含まれるプロジェクトREGION
: Google Cloud リージョンROUTER_NAME
: Cloud Router の名前KEY_NAME_1
: 現在使用されている鍵の名前(PEER_NAME_1
)KEY_NAME_2
:PEER_NAME_2
に追加する新しい鍵の名前。名前をメモしておきます。後で API を使用して変更するときに、この名前が必要になります。SECRET_KEY
:PEER_NAME_2
に追加するシークレット MD5 認証鍵PEER_NAME_1
: 変更しない BGP ピアの名前INTERFACE_NAME_1
: 変更しない BGP ピアリング セッションのインターフェースの名前IP_ADDRESS_1
: Cloud Router の IP アドレス(変更しないピア用)PEER_IP_ADDRESS_1
: 変更しないピアの IP アドレスPEER_ASN_1
: 変更しないピアの BGP 自律システム番号(ASN)PEER_NAME_2
: MD5 認証を使用するように更新する BGP ピアの名前INTERFACE_NAME_2
: BGP ピアリング セッションのインターフェースの名前IP_ADDRESS_2
: Cloud Router の IP アドレスPEER_IP_ADDRESS_2
: ピアルーターの IP アドレスPEER_ASN_2
: この BGP ピアの BGP 自律システム番号(ASN)
認証鍵を更新する
Cloud Router がピアリング セッションに使用する鍵を変更するには、次のいずれかの方法を使用します。Cloud Router の鍵を更新するときは、使用する鍵が、ピアルーターで使用されている鍵と同じであることを確認してください。
Google Cloud では MD5 認証鍵は表示されません。構成が適切に完了すると、鍵名のみが表示されます。
- gcloud または UI を使用して MD5 認証を構成すると、Google Cloud によって鍵名が
PEER_NAME-key
の形式で自動的に生成されます。 - API で MD5 認証を構成する場合は、鍵名を指定できます。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
[名前] フィールドで、適切な Cloud Router の名前をクリックします。
[ルーターの詳細] ページで、変更する BGP セッションの名前をクリックします。
[BGP セッションの詳細] ページで、[
編集] を選択します。[MD5 認証] セクションで、[MD5 認証キーの更新] をクリックします。
[MD5 認証キー] フィールドに新しいシークレット認証キーを入力します。フィールドに入力するには、[生成してコピー] をクリックします。
鍵をメモしておきます。このページから移動すると、鍵を取得できなくなります。
[保存] をクリックします。
gcloud
セッションを更新するには、gcloud compute routers update-bgp-peer
コマンドを使用します。
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
次の値を置き換えます。
ROUTER_NAME
: Cloud Router の名前PEER_NAME
: BGP ピアの名前REGION
: Google Cloud リージョンSECRET_KEY
: 使用する新しいシークレット MD5 認証鍵
API
セッションを更新するには、compute.routers.patch
メソッドを使用します。たとえば、次のようなリクエストを使用します。
この例では、識別された特定のピアだけでなく、ピア配列全体が置き換えられます。つまり、PEER_NAME
を除くすべてのピアが削除されます。KEY_NAME
を除くすべての鍵を削除し、新しい値 UPDATED_SECRET_KEY
で KEY_NAME
を更新します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME", "key": "UPDATED_SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME", "md5AuthenticationKeyName": "KEY_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "peerAsn": "PEER_ASN" } ], }
次の値を置き換えます。
PROJECT_ID
: Cloud Router が含まれるプロジェクトREGION
: Google Cloud リージョンROUTER_NAME
: Cloud Router の名前KEY_NAME
: 更新する鍵の名前。API を使用して MD5 認証を操作する場合は、鍵名で鍵を参照する必要があります。UPDATED_SECRET_KEY
: 新しいシークレット MD5 認証鍵PEER_NAME
: BGP ピアの名前INTERFACE_NAME
: BGP ピアリング セッションのインターフェースの名前IP_ADDRESS
: Cloud Router の IP アドレスPEER_IP_ADDRESS
: ピアルーターの IP アドレスPEER_ASN
: この BGP ピアの BGP 自律システム番号(ASN)
認証ステータスを確認する
MD5 認証のステータスを確認するには、次の手順を行います。Cloud Router の詳細の表示もご覧ください。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
[名前] フィールドで、適切な Cloud Router の名前をクリックします。
[ルーターの詳細] ページで、[MD5 認証] 列を探します。セッションごとに、この列の値は MD5 認証が有効かどうかを示します。
gcloud
gcloud CLI を使用してセッションを確認するには、gcloud compute routers get-status
コマンドを使用します。
gcloud compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
次の値を置き換えます。
ROUTER_NAME
: Cloud Router の名前PROJECT
: プロジェクトの名前REGION
: Google Cloud リージョン
出力には、Cloud Router の BGP セッションに関する情報を格納する result.bgpPeerStatus[]
オブジェクトが含まれます。各セッションのデータには、次の 2 つのフィールドがあります。
md5AuthEnabled
- セッションで MD5 認証が有効かどうかを示すブール値フィールドstatusReason
- セッションのステータスを示すフィールド
API
routers.getRouterStatus
メソッドを使用します。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
次のように置き換えます。
PROJECT_ID
: Cloud Router が含まれるプロジェクトREGION
: Cloud Router が配置されているリージョンROUTER_NAME
: Cloud Router の名前
出力には、各 BGP セッションに関する情報が含まれます。各セッションのデータには、次の 2 つのフィールドがあります。
md5AuthEnabled
: セッションで MD5 認証が有効かどうかを示すブール値フィールドstatusReason
: セッションのステータスを示すフィールド。このフィールドは、MD5 認証に問題がある場合にのみ表示されます(その場合、フィールドの値はMD5_AUTH_INTERNAL_PROBLEM
です)。
BGP セッションの継続的なモニタリングを設定するには、Cloud Logging を使用します。Logging は、情報ログの一部である BGP イベントに、MD5 認証ステータスの情報を記録します。
セッションから認証を削除する
BGP セッションから MD5 認証を削除する場合は、Cloud Router とピアルーターの両方から MD5 認証を削除する必要があります。
Cloud Router の BGP セッションから MD5 認証を削除するには、次のいずれかの手順を行います。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
[名前] フィールドで、適切な Cloud Router の名前をクリックします。
[ルーターの詳細] ページで、変更する BGP セッションの名前をクリックします。
[BGP セッションの詳細] ページで、[
編集] を選択します。[MD5 認証] で [無効] をクリックします。
[保存] をクリックします。[MD5 認証キーを無効にしますか] ダイアログ ボックスが表示されます。
確認のダイアログで [確認] をクリックします。
gcloud
MD5 認証を削除するには、gcloud compute routers update-bgp-peer
コマンドを使用します。
gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
次の値を置き換えます。
ROUTER_NAME
: Cloud Router の名前PEER_NAME
: BGP ピアの名前REGION
: Google Cloud リージョン
API
MD5 認証を削除するには、compute.routers.patch
メソッドを使用します。
API を使用して認証を削除する場合、更新で次の 2 つの処理を行う必要があります。
md5AuthenticationKeys
配列を更新する- 関連する
bgpPeers
エントリからmd5AuthenticationKey
値を削除する
たとえば、Cloud Router に 2 つの BGP ピアがあり、そのうちの 1 つから MD5 認証を削除するとします。この場合、次のようなリクエストを使用します。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_UNCHANGED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_UPDATED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UPDATED_PEER", "ipAddress": "IP_ADDRESS_FOR_UPDATED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UPDATED_PEER", "peerAsn": "PEER_ASN_FOR_UPDATED_PEER" }, { "name": "NAME_OF_UNCHANGED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UNCHANGED_PEER", "ipAddress": "IP_ADDRESS_FOR_UNCHANGED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UNCHANGED_PEER", "peerAsn": "PEER_ASN_FOR_UNCHANGED_PEER" "md5AuthenticationKeyName": "KEY_NAME_FOR_UNCHANGED_PEER" } ], ], }
次の値を置き換えます。
PROJECT_ID
: Cloud Router が含まれるプロジェクトREGION
: Cloud Router が配置されている Google Cloud リージョンROUTER_NAME
: Cloud Router の名前NAME_OF_UPDATED_PEER
: 変更するピアリング セッションの名前INTERFACE_NAME_FOR_UPDATED_PEER
: 変更する BGP ピアのインターフェースの名前IP_ADDRESS_FOR_UPDATED_PEER
: 変更するピアで使用される Cloud Router の IP アドレスPEER_IP_ADDRESS_FOR_UPDATED_PEER
: 変更するピアリング セッションのピアルーターの IP アドレスPEER_ASN
: 変更するこの BGP ピアの BGP 自律システム番号(ASN)NAME_OF_UNCHANGED_PEER
: 保持するピアリング セッションの名前INTERFACE_NAME_FOR_UNCHANGED_PEER
: 保持する BGP ピアのインターフェースの名前IP_ADDRESS_FOR_UNCHANGED_PEER
: 保持するピアで使用されている Cloud Router 上の IP アドレスPEER_IP_ADDRESS_FOR_UNCHANGED_PEER
: 保持するピアリング セッションのピアルーターの IP アドレスPEER_ASN_FOR_UNCHANGED_PEER
: 保持する BGP ピアの BGP 自律システム番号(ASN)KEY_NAME_FOR_UNCHANGED_PEER
: 保持する BGP ピアの MD5 認証キーの名前
認証を使用するセッションを削除する
MD5 認証を使用するピアリング セッションを削除するには、次のいずれかの手順を行います。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
- BGP セッションを削除するルーターを選択します。
- [BGP セッション] で、削除する BGP セッションを選択します。
- ページの上部にある [ 削除] をクリックして、削除を確定します。
gcloud
MD5 認証を有効にした BGP セッションを削除するには、gcloud compute routers remove-bgp-peer
コマンドを使用します。
詳細については、BGP セッションの無効化または削除をご覧ください。
API
MD5 認証を有効にした BGP セッションを削除するには、compute.routers.patch
メソッドを使用します。
API を使用して MD5 認証の BGP セッションを削除する場合、md5AuthenticationKeys
配列から鍵を削除し、bgpPeer
自体を削除する必要があります。
たとえば、Cloud Router に 2 つのピアがあり、そのうちの 1 つを削除するとします。この場合、次のようなリクエストを使用します。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_RETAINED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_RETAINED_PEER", "interfaceName": "INTERFACE_FOR_RETAINED_PEER", "ipAddress": "IP_ADDRESS_FOR_RETAINED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_RETAINED_PEER", "peerAsn": "PEER_ASN_FOR_RETAINED_PEER", "md5AuthenticationKeyName": "KEY_NAME_FOR_RETAINED_PEER" } ], }
次の値を置き換えます。
PROJECT_ID
: Cloud Router が含まれるプロジェクトREGION
: Google Cloud リージョンROUTER_NAME
: Cloud Router の名前KEY_NAME_FOR_RETAINED_PEER
: 保持するピアにより使用される鍵の名前NAME_OF_RETAINED_PEER
: 保持する BGP ピアの名前INTERFACE_FOR_RETAINED_PEER
: 保持する BGP ピアのインターフェースの名前IP_ADDRESS_FOR_RETAINED_PEER
: 保持するピアの Cloud Router の IP アドレスPEER_IP_ADDRESS_FOR_RETAINED_PEER
: 保持するピアの IP アドレスPEER_ASN_FOR_RETAINED_PEER
: 保持するピアの BGP 自律システム番号(ASN)KEY_NAME_FOR_RETAINED_PEER
: 保持する BGP ピアの MD5 認証キーの名前
たとえば、次のピアを作成したとします。
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", "key": "first_secret_key_value" }, { "name": "second_key_name", "key": "second_secret_key_value" } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" }, { "name": "second_peer", "md5AuthenticationKeyName": "second_key_name", "interfaceName": "second_interface", "ipAddress": "second_address", "peerIpAddress": "second_peer_interface", "peerAsn": "second_peer_asn" } ], }
2 つ目のピアを削除するには、次のようなリクエストを使用します。
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" } ], }