読み込んでいます...
一致する結果は見つかりませんでした。

Google Cloud コンソールでスキルを試す

700 以上のラボとコースにアクセス

Apigee X バックエンド サービスに NAT を使用する

ラボ 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

GSP907

Google Cloud セルフペース ラボのロゴ

概要

このラボでは、Apigee インスタンスからバックエンド サービスへのリクエストに対して NAT(ネットワーク アドレス変換)IP アドレスを有効にし、許可リストに登録できる予測可能な IP アドレスを作成します。

目標

次のタスクの実行方法について学びます。

  • Apigee API ドキュメントから Apigee API を呼び出す
  • Apigee ランタイムからの Apigee リクエスト用に NAT IP アドレスを作成して有効にする
  • バックエンド サーバーへのリクエストで、構成された NAT IP アドレスが使用されていることを確認する

設定

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

Apigee コンソールを開く

Apigee コンソールを開くには、次の手順に沿って操作します。

  • Google Cloud コンソールの [検索] フィールドに「Apigee」と入力し、検索結果で [Apigee API Management] をクリックします。

Apigee コンソールが開き、よく使用される場所へのクイックリンクがランディング ページに表示されます。

  • ナビゲーション メニューナビゲーション メニュー)で、[Apigee] の横にある [固定](固定アイコン)をクリックします。

Apigee がナビゲーション メニューに固定されます。

タスク 1. Apigee API ドキュメントを確認する

このタスクでは、Google APIs Explorer を使用して Apigee API ドキュメントを確認します。

  1. 次の Google APIs Explorer のリンクをコピーし、Google Cloud コンソールのブラウザ ウィンドウの新しいタブに貼り付けます: Google API Explorer の Apigee API ページ

Apigee API を使用して、組織をプログラムで開発および管理できます。Apigee API は、ドキュメント ページから直接呼び出すことができます。

  1. 右側のペインで、[v1.organizations.instances] REST リソースに移動します。
  2. [v1.organizations.instances] セクションで、[list] をクリックします。

このページでは、Apigee API の list instances メソッドについて説明されています。

  1. [Try this API] ペインで、[parent] を次のように設定します。
organizations/{{{ project_0.project_id | PROJECT }}}
  1. [Execute] をクリックします。

  2. Google API Explorer に進むためのアカウントを選択するよう求めるウィンドウがポップアップ表示されたら、ラボのユーザー名を選択して [許可] をクリックします。

API レスポンスは次のようになります。

{ "instances": [ { "name": "eval-instance", "location": "{{{ project_0.default_zone | ZONE }}}", "host": "172.21.60.2", "port": "443", "state": "ACTIVE" } ] }

または

{ "instances": [ { "name": "eval-instance", "location": "europe-west1", "createdAt": "1706780597609", "lastModifiedAt": "1706780670711", "state": "CREATING", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-11-0-apigee-14", "ipRange": "10.188.120.0/28" } ] }

インスタンスの名前は eval-instance です。このインスタンスの NAT IP アドレスを作成します。

  1. [Try this API] ペインの右上にある開くアイコン(開くアイコン)をクリックします。

ペインが展開され、リクエストに対応する cURL が表示されます。また、リクエストを行うために使用できる HTTP リクエストと JavaScript コード スニペットも表示されます。

[Try this API] ペインで、[cURL] セクションの下に HTTP リクエストが表示され、application/json セクションの下に JavaScript が表示されている

  1. 展開されたペインを閉じるには、元に戻すアイコン(元に戻すアイコン)をクリックします。

タスク 2. インスタンスのプロビジョニングが完了するまで待機する

このタスクでは、Apigee 評価組織のプロビジョニングが完了するまで待ちます。

Apigee 組織のプロビジョニングが完了するまでには、かなりの時間がかかる場合があります。組織のプロビジョニングの進行状況は、Apigee API を使用してモニタリングできます。

モニタリング スクリプトの開始

  1. Cloud コンソールタブに戻ります。
  2. 右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

[Cloud Shell をアクティブにする] ボタンがハイライト表示された Cloud コンソール

  1. プロンプトが表示されたら、[続行] をクリックします。

Cloud Shell のプロビジョニングと接続に少し時間がかかります。接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。

  1. Cloud Shell で、次のコマンドを使用して、GOOGLE_CLOUD_PROJECT 変数にプロジェクト名が含まれていることを確認します。
echo ${GOOGLE_CLOUD_PROJECT}

変数 GOOGLE_CLOUD_PROJECT には、プロジェクトの名前(Apigee 組織名と同じ)が含まれている必要があります。

  1. GOOGLE_CLOUD_PROJECT 変数が設定されていない場合{project} をプロジェクト名に置き換えて、次のようなコマンドを使用して変数を手動で設定します。
export GOOGLE_CLOUD_PROJECT={project} 注: このステップでは、中括弧を削除する必要があります。
  1. 以下のコマンドを Cloud Shell に貼り付けます。
export INSTANCE_NAME=eval-instance; export ENV_NAME=eval; export PREV_INSTANCE_STATE=; echo "waiting for runtime instance ${INSTANCE_NAME} to be active"; while : ; do export INSTANCE_STATE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}" | jq "select(.state != null) | .state" --raw-output); [[ "${INSTANCE_STATE}" == "${PREV_INSTANCE_STATE}" ]] || (echo; echo "INSTANCE_STATE=${INSTANCE_STATE}"); export PREV_INSTANCE_STATE=${INSTANCE_STATE}; [[ "${INSTANCE_STATE}" != "ACTIVE" ]] || break; echo -n "."; sleep 5; done; echo; echo "instance created, waiting for environment ${ENV_NAME} to be attached to instance"; while : ; do export ATTACHMENT_DONE=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${GOOGLE_CLOUD_PROJECT}/instances/${INSTANCE_NAME}/attachments" | jq "select(.attachments != null) | .attachments[] | select(.environment == \"${ENV_NAME}\") | .environment" --join-output); [[ "${ATTACHMENT_DONE}" != "${ENV_NAME}" ]] || break; echo -n "."; sleep 5; done; echo; echo "${ENV_NAME} environment attached"; echo "***ORG IS READY TO USE***";

この一連のコマンドでは、Apigee API を使用して、ランタイム インスタンスが作成され、eval 環境がアタッチされたことを確認します。

  1. インスタンスが使用可能になるまで待ちます。

***ORG IS READY TO USE*** というテキストが表示されたら、インスタンスは使用可能です。

注: コマンドで組織がすぐに使用可能になった場合、ラボに入る前にラボが事前にウォームアップされている可能性があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 モニタリング スクリプトを実行してインスタンスが使用可能になるまで待機する

タスク 3. API プロキシを作成してデプロイする

このタスクでは、バックエンド サービスから見える IP アドレスをテストする API プロキシを作成します。

  1. Apigee のナビゲーション メニューで、[プロキシ開発] > [API プロキシ] を選択します。
  2. [Select Environment] プルダウンで [eval] を選択します。
注: プルダウンで eval 環境を選択できない場合は、ページを更新してください。
  1. プロキシ ウィザードを使用して新しいプロキシを作成するには、[+Create] をクリックします。
  2. [Proxy template] で、[General template] > [Reverse proxy (Most common)] を選択します。
注: [OpenAPI spec template] セクション内の [Reverse proxy (Most common)] を選択しないでください。
  1. 次のプロパティを指定します。

    プロパティ
    Proxy name test-nat
    Base path /test-nat
    Target (Existing API) https://httpbin.org/ip

この操作により、httpbin リクエスト / レスポンス サービスの API プロキシが作成されます。このサービスは、API をテストする際に役立ちます。

リクエストがプロキシ サーバーを通過するたびに、各サーバーの IP アドレスが X-Forwarded-For ヘッダーに追加されます。httpbin.org /ip エンドポイントは、X-Forwarded-For ヘッダーの IP アドレスと、httpbin.org サーバーへの接続を確立した最後の IP アドレスを返します。

  1. [Next] をクリックします。
  2. [Deploy (optional)] の設定はデフォルトのままにして、[Create] をクリックします。
  3. [Overview] タブで、[Revision 1] が [eval] にあることがデプロイ ステータスで示されるまで待ちます。

[Deployments] ページに [Revision 1] が緑色で表示され、プロキシがデプロイされたことを示している

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 API プロキシを作成してデプロイする

タスク 4. API プロキシをテストする

このタスクでは、API プロキシを呼び出して、バックエンド サービスに使用されるインスタンスの IP アドレスが動的であることを確認します。

apigeex-test-vm という名前の仮想マシンが自動的に作成されています。この仮想マシンを使用して、プライベート IP アドレスで Apigee ランタイムを呼び出します。

Apigee ランタイムを呼び出す

  1. Cloud Shell で、VM への SSH 接続を開きます。
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)") gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
  1. 各質問について、Enter キーまたは Return キーを押して、デフォルトの入力を指定します。

プロジェクトのオーナーとしてログインしているため、このマシンへの SSH は許可されます。

これで、Cloud Shell セッションが VM 内で実行されます。

  1. VM のシェルで、必要なシェル変数を設定します。
export PROJECT_NAME=$(gcloud config get-value project) export ORG=${PROJECT_NAME} export INSTANCE_NAME=eval-instance export INTERNAL_LB_IP=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}" | jq ".host" --raw-output) export EVAL_ENVGROUP_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/envgroups/eval-group" | jq ".hostnames[0]" --raw-output) echo "INTERNAL_LB_IP=${INTERNAL_LB_IP}" echo "EVAL_ENVGROUP_HOSTNAME=${EVAL_ENVGROUP_HOSTNAME}"

EVAL_ENVGROUP_HOSTNAME には、eval-group 環境グループに関連付けられたホスト名が含まれています。このホスト名の DNS エントリは自動的に作成されています。ここで内部ロードバランサのプライベート IP アドレスが指定されます。

注: DNS エントリでは、プライベート DNS ゾーンとプライベート IP アドレスが使用されます。プライベート DNS エントリは apigeex-vpc ネットワーク外では解決されず、プライベート IP アドレスには Cloud Shell からも apigeex-vpc ネットワーク外の IP アドレスからもアクセスできません。
  1. eval 環境にデプロイした test-nat API プロキシを呼び出します。
curl -k "https://${EVAL_ENVGROUP_HOSTNAME}/test-nat"

-k オプションを指定すると、curl は TLS 証明書の検証をスキップします。内部ロードバランサは、信頼できる認証局(CA)によって作成された証明書ではなく、自己署名証明書を使用します。

注: 本番環境のユースケースでは、-k オプションを使用して証明書の検証を省略しないでください。

curl コマンドは、test-nat プロキシによって生成された次のようなレスポンスを返します。

{ "origin": "10.0.0.2,10.0.0.5,10.0.0.7, 34.83.164.141" }

origin フィールドのレスポンスには、複数の IP アドレスが表示されます。最後の IP アドレスは、httpbin.org サーバーを呼び出した最後のサーバーのものです。ここに表示されている最初の 3 つの IP アドレスはすべて内部 IP アドレスであり、リクエストがインスタンスから httpbin.org に到達するまでに経由した他のホップが記録されています。

この呼び出しを複数回繰り返すと、毎回最後に同じ IP アドレスが表示されることがあります。ただし、インスタンスに NAT アドレスを追加しない限り、最後の IP アドレスは時間とともに変化する可能性があるため、許可リストに登録することは困難です。

タスク 5. インスタンスの NAT IP を作成する

このタスクでは、バックエンド サービスを呼び出すときにランタイム インスタンスで使用する NAT IP を作成します。

NAT IP は、Apigee インスタンスからバックエンド サービスへの呼び出しに予測可能な IP アドレスを提供するために使用されます。

  1. Apigee API ブラウザタブに戻ります。
  2. 左側のペインで、[organizations.instances.natAddresses] セクションを展開します。
  3. [organizations.instances.natAddresses] で、[create] をクリックします。

このページでは、Apigee API の create NAT address メソッドについて説明されています。

  1. [Try this API] ペインで、[parent] を次のように設定します。
organizations/{{{ project_0.project_id | PROJECT }}}/instances/eval-instance
  1. [Add request body parameters] をクリックし、[name] をクリックします。
  2. 二重引用符の間に、次の文字列を設定します。
eval-instance-ip
  1. [Execute] をクリックします。

Google API Explorer に進むためのアカウントを選択するよう求めるウィンドウがポップアップ表示されたら、ラボのユーザー名を選択して [許可] をクリックします。

API レスポンスは次のようになります。

{ "name": "organizations/qwiklabs-gcp-01-f24706170325/operations/c79a19c8-ae9f-49de-978e-7f4873b06e51", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/qwiklabs-gcp-01-f24706170325/instances/eval-instance/natAddresses/eval-instance-ip", "state": "IN_PROGRESS" } }

このオペレーションは非同期ですが、すぐに完了します。

  1. 左側のペインで、[organizations.instances.natAddresses] にある [get] をクリックします。

このページでは、Apigee API の get NAT address メソッドについて説明されています。

  1. [Try this API] ペインで、[parent] を次のように設定します。
organizations/{{{ project_0.project_id | PROJECT }}}/instances/eval-instance/natAddresses/eval-instance-ip
  1. [Execute] をクリックします。

Google API Explorer に進むためのアカウントを選択するよう求めるウィンドウがポップアップ表示されたら、ラボのユーザー名を選択して [許可] をクリックします。

API レスポンスは次のようになります。

{ "name": "eval-instance-ip", "ipAddress": "104.198.6.224", "state": "RESERVED" }

NAT アドレスは予約済みですが、まだ有効になっていません。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 インスタンスの NAT IP を作成する

タスク 6. NAT IP を有効にする

このタスクでは、前のタスクで作成した NAT IP を有効にします。

  1. [organizations.instances.natAddresses] で [activate] をクリックします。

このページでは、Apigee API の activate NAT address メソッドについて説明されています。

  1. [Try this API] ペインで、[parent] を次のように設定します。
organizations/{{{ project_0.project_id | PROJECT }}}/instances/eval-instance/natAddresses/eval-instance-ip
  1. [Execute] をクリックします。

Google API Explorer に進むためのアカウントを選択するよう求めるウィンドウがポップアップ表示されたら、ラボのユーザー名を選択して [許可] をクリックします。

API レスポンスは次のようになります。

{ "name": "organizations/qwiklabs-gcp-01-f24706170325/operations/4b96ee01-55a5-4824-859a-04c2e034d1d4", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/qwiklabs-gcp-01-f24706170325/instances/eval-instance/natAddresses/eval-instance-ip", "state": "IN_PROGRESS" } }

このオペレーションは非同期ですが、すぐに完了します。

  1. 左側のペインで、[organizations.instances.natAddresses] にある [get] をクリックします。

このページでは、Apigee API の get NAT address メソッドについて説明されています。

  1. [Try this API] ペインで、[parent] を次のように設定します。
organizations/{{{ project_0.project_id | PROJECT }}}/instances/eval-instance/natAddresses/eval-instance-ip
  1. [Execute] をクリックします。
  2. Google API Explorer に進むためのアカウントを選択するよう求めるウィンドウがポップアップ表示されたら、ラボのユーザー名を選択して [許可] をクリックします。

API レスポンスは次のようになります。

{ "name": "eval-instance-ip", "ipAddress": "104.198.6.224", "state": "ACTIVE" } 注: NAT IP の状態がまだ RESERVED の場合は、有効化が完了して返される状態が ACTIVE になるまで、[Execute] をクリックし続けます。

これで NAT アドレスが有効になりました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 NAT IP を有効にする

タスク 7. NAT アドレスをテストする

このタスクでは、API プロキシを呼び出して、バックエンド サービスへの呼び出しに NAT アドレスが使用されていることを確認します。

Apigee ランタイムを呼び出す

  1. VM への SSH 接続が切断された場合は、Cloud Shell で VM への新しい SSH 接続を開きます。
TEST_VM_ZONE=$(gcloud compute instances list --filter="name=('apigeex-test-vm')" --format "value(zone)") gcloud compute ssh apigeex-test-vm --zone=${TEST_VM_ZONE} --force-key-file-overwrite
  1. 必要に応じて、Enter キーまたは Return キーを押して、各質問に対するデフォルトの入力を指定します。

これで、Cloud Shell セッションが VM 内で実行されます。

  1. VM のシェルで、必要なシェル変数を設定します。
export PROJECT_NAME=$(gcloud config get-value project) export ORG=${PROJECT_NAME} export INSTANCE_NAME=eval-instance export NAT_ADDR_NAME=eval-instance-ip export INTERNAL_LB_IP=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}" | jq ".host" --raw-output) export EVAL_ENVGROUP_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/envgroups/eval-group" | jq ".hostnames[0]" --raw-output) export NAT_IP_ADDRESS=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ADDR_NAME}" | jq ".ipAddress" --raw-output) echo "INTERNAL_LB_IP=${INTERNAL_LB_IP}" echo "EVAL_ENVGROUP_HOSTNAME=${EVAL_ENVGROUP_HOSTNAME}" echo "NAT_IP_ADDRESS=${NAT_IP_ADDRESS}"

NAT_IP_ADDRESS の値をメモします。

NAT_IP_ADDRESS は、バックエンド サービスを呼び出すときにランタイム インスタンスが使用する NAT パブリック IP アドレスです。バックエンド サービスで、この既知の IP アドレスを許可リストに登録できます。

注: DNS エントリでは、プライベート DNS ゾーンとプライベート IP アドレスが使用されます。プライベート DNS エントリは apigeex-vpc ネットワーク外では解決されず、プライベート IP アドレスには Cloud Shell からも apigeex-vpc ネットワーク外の IP アドレスからもアクセスできません。
  1. eval 環境にデプロイした test-nat API プロキシを呼び出します。
curl -k "https://${EVAL_ENVGROUP_HOSTNAME}/test-nat"

-k オプションを指定すると、curl は TLS 証明書の検証をスキップします。内部ロードバランサは、信頼できる認証局(CA)によって作成された証明書ではなく、自己署名証明書を使用します。

注: 本番環境のユースケースでは、-k オプションを使用して証明書の検証を省略しないでください。

curl コマンドは、test-nat プロキシによって生成された次のようなレスポンスを返します。

{ "origin": "10.0.0.2,10.0.0.5,10.0.0.6, 104.198.6.224" }

[origin] フィールドには、依然として複数の IP アドレスが表示されています。最後の IP アドレスは、ランタイム インスタンス専用の NAT アドレスになります。

  1. 次のコマンドを使用して Apigee API で NAT アドレスを取得し、NAT IP アドレスが一致することを確認します。
curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ADDR_NAME}"

お疲れさまでした

API ドキュメントから Apigee API を呼び出す方法を学びました。Apigee API を使用して、ランタイム インスタンスの NAT IP アドレスを作成して有効にしました。httpbin IP アドレス サービスを呼び出す API プロキシを作成しました。最後に、バックエンドに表示される IP アドレスが、構成した NAT IP アドレスであることを確認しました。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。クラスでは、技術スキルとベスト プラクティスを迅速に身につけ、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2025 年 1 月 29 日

ラボの最終テスト日: 2025 年 1 月 29 日

Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。