arrow_back

Apigee X 評価組織のプロビジョニング

ログイン 参加
700 以上のラボとコースにアクセス

Apigee X 評価組織のプロビジョニング

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

GSP904

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

概要

このラボでは、Apigee X の組織(org)を作成する方法を学びます。Apigee X プロビジョニング ウィザードを使用して Apigee X 組織を作成します。組織をインストールして構成したら、API プロキシをインストールし、API 呼び出しを行って組織が動作していることを確認します。

お客様の Google Cloud プロジェクトで作成された Apigee 評価組織は、通常 60 日間ご利用いただけます。このラボのためにプロビジョニングした組織は、ラボが終了すると削除され、組織にアクセスできなくなります。

[ラボを開始] をクリックする前に、ラボの説明を一読されることをおすすめします。ラボを開始すると、90 分以内に完了する必要があります。ラボの制限時間が経過すると、ラボが終了し、Apigee 評価組織が削除されます。

このラボでは、次のタスクの実行方法について学びます。

  • プロビジョニング ウィザードを使用して Apigee X 評価組織を作成する
  • Apigee X のアーキテクチャと、Google Cloud プロジェクトとの統合方法を理解する
  • 内部 IP アドレスから Apigee プロキシを呼び出す VM を作成する
  • 外部 IP アドレスから Apigee プロキシを呼び出す

設定

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

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、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 の概要ガイドをご覧ください。

タスク 1. Apigee X 組織をプロビジョニングする

このタスクでは、プロビジョニング ウィザードを使用して Apigee X 評価組織をプロビジョニングします。

Apigee X 組織は、お客様が管理する Google Cloud プロジェクトにアタッチされます。

前提条件

Apigee X 評価組織を作成する前に、次の前提条件を満たす必要があります。

  • Apigee X では、Apigee 組織の名前は、関連付けられた Google Cloud プロジェクトの名前と一致します。プロジェクト名は小文字で始まる必要があり、使用できる文字は小文字(a~z)、数字(0~9)、ハイフンのみです。
  • Apigee X に使用するプロジェクトは、有効な請求先アカウントを持つ Google Cloud アカウントに関連付けられている必要があります。この要件は、有料の Apigee X 組織と評価用の Apigee X 組織のどちらを作成する場合にも適用されます。評価組織によるアカウントへの請求は発生しませんが、組織が使用する一部の API は料金が発生します。
  • Cloud SDK は、Apigee 組織のインストールと操作に使用されます。

このラボのプロジェクトは、これらの前提条件を満たしています。

プロビジョニング ウィザードを開始する

  1. 新しいシークレット タブを開き、apigee.google.com/setup でプロビジョニング ウィザードを開きます。

  2. 左側のラボ情報から、Google Cloud プロジェクト名をクリップボードにコピーします。

    [ラボの詳細] パネルの Google Cloud プロジェクト名の横にある、ハイライト表示されたコピーアイコン。

    注: 独自の Apigee X 評価組織を作成する場合は、ラボのプロジェクト名ではなく、独自のプロジェクト名を使用してください。
  3. プロジェクト名をコピーして、[プロジェクト] テキスト ボックスに貼り付けます。

    このプロジェクトで Apigee サブスクリプションが有効になっていないことを示すメッセージが表示されます。

    注: Apigee 組織を構成するための適切な権限がないことを示す警告が表示される場合があります。権限はまもなく反映されます。ページを更新して、サブスクリプションのメッセージが表示されるまでもう一度お試しください。
  4. [評価を開始] をクリックします。

API を有効にする

Apigee X 組織では、Google Cloud プロジェクトで Apigee、Service Networking、Compute Engine の各 API を有効にする必要があります。ウィザードで必要な API を有効にします。

  1. [API の有効化] の横にある [編集] をクリックします。

    有効にする API のリストが表示されます。

    • Apigee API は、Apigee 組織を構成し、操作するために使用されます。
    • Compute Engine API は、Apigee インスタンスのプライベート IP アドレスに接続するためのネットワーク ブリッジとして機能するマネージド インスタンス グループ(MIG)を作成するために使用されます。
    • Service Networking API は、Google Cloud プロジェクトが Google によって管理される Apigee 評価組織と通信できるようにするために使用されます。
  2. [Enable APIs] をクリックします。

    しばらくすると、API が有効になり、[Enable APIs] の横にチェックマークが表示されます。

ネットワークを設定する

プロビジョニング ウィザードは、お客様の Google Cloud プロジェクトと Apigee ランタイムを含む Google 管理プロジェクトの間に Virtual Private Cloud(VPC)ネットワーク ピアリングを作成します。ウィザードは、Apigee ランタイムとの通信用にプライベート サービス接続も作成します。

  1. [ネットワーキング] の横にある [編集] をクリックします。

    [Set up networking] ペインで、承認済みネットワークを指定するように求められます。デフォルト ネットワークはすでに利用可能で、評価組織に使用できますが、通常はデフォルト ネットワークを使用することをおすすめしません。

  2. [プロジェクトの VPC ネットワークを表示] をクリックします。

    コンソールの [VPC ネットワーク] ページが別のタブで開きます。

  3. [+VPC ネットワークを作成] をクリックします。

  4. ネットワークに「apigeex-vpc」という名前を付けます。

  5. [新しいサブネット] ペインで、次の値を設定します。

    プロパティ
    名前 apigeex-vpc
    地域 を選択
    IPv4 範囲 10.0.0.0/20
    プライベート Google アクセス オン

    IP アドレス範囲は CIDR 形式で指定します。10 進数は範囲のサイズを指定します。/32(単一の IP アドレス)から /8(最大のプライベート IP 範囲、10.0.0.0 ~ 10.255.255.255)まで指定できます。

    サブネットでは、/22 範囲を保持するのに十分な大きさの範囲を使用する必要があります。ここで使用されている /20 範囲は、Apigee で使用される /22 範囲の 4 倍の大きさです。

  6. [新しいサブネット] ペインで、[完了] をクリックします。

  7. [作成] をクリックします。

    プロジェクトに、単一のサブネットを備えた新しい VPC ネットワークが作成されます。apigeex-vpc ネットワークの横に円が回転し、完了するとチェックマークが表示されます。

  8. apigeex-vpc ネットワークが作成されるまで待ってから、ウィザードの [設定] タブに戻ります。

  9. [承認済みネットワークを更新]([ネットワークを更新] ボタン)をクリックし、apigeex-vpc 承認済みネットワークを選択します。

  10. [IP 範囲を自動的に割り振る] を選択します。

接頭辞長 /22 の ピアリング IP 範囲(名前: google-managed-services-apigeex-vpc)が作成されます。

注: ピアリング範囲のプレフィックス長は、ピアリングされた内部 IP アドレスのうち、Apigee に割り当てられる数を指定します。アドレスの数は 2 ^ (32 - プレフィックス長) です。有料組織のピアリング範囲のプレフィックス長は /16 または /20 で、それぞれ 65,536 個または 4,096 個の IP アドレスに対応します。

評価組織で使用できるプレフィックス長は /22 のみで、これは 1,024 個の IP アドレスに対応します。IP アドレスの数が少ないため、評価組織で Apigee をスケーリングできる量には制限があります。有料組織は、評価組織よりもはるかに多くのトラフィックを処理できます。
  1. [割り振りと接続] をクリックします。
  2. ネットワーク構成が完了するまで待ちます。

ネットワーク構成の設定が完了すると、[ネットワーキング] の横にチェックマークが表示されます。

  1. [VPC ネットワーク] タブに戻り、[更新] をクリックします。
  2. [apigeex-vpc] をクリックします。
  3. [サブネット] タブが選択されている場合は、右にスクロールして [プライベート サービス接続] タブを選択します。

google-managed-services-apigeex-vpc IP 範囲は、/22 の内部 IP 範囲で作成されています。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 API を有効にして、ネットワーキングを設定する。

Apigee 評価組織を作成する

プロビジョニング ウィザードによって Apigee 評価組織が作成されます。

  1. ウィザードの [設定] タブに戻ります。

  2. [Apigee Assessment organization] の横にある [編集] をクリックします。

    [Apigee 評価用組織を作成] ペインで、Apigee ランタイムとアナリティクス ホスティングに使用する Google Cloud リージョンを選択できます。

  3. [ランタイムの場所] で [] を選択します。

    ランタイムの場所のリージョンを選択します。Apigee は、評価組織をプロビジョニングするリージョンのゾーンを選択します。

  4. [] を [分析ホスティング リージョン] として選択します。

    注: 選択したランタイム リージョンが分析ホスティング リージョンとして利用できない場合は、ランタイム リージョンに地理的に近いリージョンを選択してください。たとえば、ランタイム リージョンが us-east4 の場合、分析リージョンとして us-east1 などを選択します。 注: 評価組織に含めることができるランタイム インスタンスは 1 つのみで、1 つの Google Cloud ゾーンでホストされます。

    有料の組織ランタイム インスタンスは、リージョン内の複数のゾーンで実行されます。組織ごとに複数のランタイム インスタンスを作成でき、それぞれが異なるリージョンでホストされます。

    マルチリージョン Apigee 組織の場合は、ランタイム リージョンの中心となる分析ホスティング リージョン、または最も重要なリージョンに近いリージョンを選択します。
  5. [PROVISION] をクリックします。

    アクセス ルーティングを構成するために、後でプロビジョニング ウィザードに戻ります。

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

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

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

モニタリング スクリプトを開始する

  1. コンソールのタブに戻ります。

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

    [Cloud Shell をアクティブにする] ボタンがハイライト表示されている。

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

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

  4. Cloud Shell で、Apigee 組織名で変数を検証します。

    echo ${GOOGLE_CLOUD_PROJECT}

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

  5. GOOGLE_CLOUD_PROJECT 変数が設定されていない場合 を実際のプロジェクト名に置き換えて、次のようなコマンドを使用して変数を手動で設定します。

    export GOOGLE_CLOUD_PROJECT=<project>
  6. 以下のコマンドを 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 環境がインスタンスにアタッチされるまで待機します。

  7. プロビジョニングが完了するまで待ちます。

    ***ORG IS READY TO USE*** というテキストが表示されたら、組織をテストできます。

    注: 組織が完全に作成されるまでの間、このラボを読み進めて、Apigee X アーキテクチャ、API プロキシ呼び出しのライフサイクル、Apigee UI について学習してください。

    この処理には 30 分近くかかる場合があります。ラボの残り時間に注意し、Cloud Shell の出力を定期的に確認して、組織をテストできるタイミングを把握してください。

    このクエストの他のラボでは、Apigee 組織が自動的に作成されます。

Apigee X アーキテクチャの概要

Apigee X 組織には 2 つの Google Cloud プロジェクトが必要です。1 つはお客様が管理し、もう 1 つは Google が Apigee X ランタイム用に管理します。各プロジェクトは、独自の Virtual Private Cloud(VPC)ネットワークを使用します。デフォルトでは、2 つの別々のプロジェクトの VPC ネットワークは相互に通信できません。

2 つの別々のプロジェクト。プロジェクト間には、VPC が相互に通信できないことを示す線が引かれている。

これらの VPC 間の通信を有効にするために、Apigee は VPC ネットワーク ピアリングを使用します。ネットワーク ピアリングにより、2 つのネットワーク間で内部 IP アドレス接続が可能になります。

Google の VPC とお客様の VPC の両方と重複する VPC ネットワーク ピアリング。これにより、通信が可能になります。

Apigee ランタイムは API プロキシを実行し、Google 管理のプロジェクトでプロビジョニングされます。ランタイムへの受信リクエストは、ピアリングされたネットワークのプライベート IP アドレスを使用してアクセスできる内部 TCP ロードバランサに送信されます。

インターネット上のクライアントから Apigee ランタイムにトラフィックをルーティングするには、グローバルな外部 HTTPS ロードバランサ(XLB)を使用できます。ただし、ネットワークがピアリングされていても、XLB は別のプロジェクトの内部 IP アドレスと直接通信することはできません。この問題を解決するために、仮想マシン(VM)のマネージド インスタンス グループ(MIG)がネットワーク ブリッジとして機能します。

MIG をネットワーク ブリッジとして使用する場合の全体的なアーキテクチャ(グローバル サービスとバックエンド サービスを含む)。

MIG 内の VM は、ピアリングされたネットワーク間で双方向通信を行うことができます。インターネットからのリクエストは、XLB を通過して MIG 内のブリッジ VM に流れます。VM は、Apigee ランタイムの内部ロードバランサのプライベート IP を呼び出すことができます。

また、ランタイムは、お客様のプロジェクトのピアリングされたネットワーク内の内部 IP アドレスを直接呼び出すことも、Google マネージド プロジェクトの Cloud NAT(ネットワーク アドレス変換)ゲートウェイを介して外部 IP を呼び出すこともできます。

API プロキシ呼び出しのライフサイクル

次の図は、有料の Apigee X 組織の API プロキシ呼び出しのライフサイクルを示しています。

Apigee API プロキシ リクエストから始まり、Apigee リクエストの戻りで終わるプロキシ呼び出しのライフサイクル。

  1. クライアントが Apigee API プロキシを呼び出します。
  2. リクエストはグローバル外部 HTTPS ロードバランサ(XLB)に配置されます。XLB には、外部 / パブリック IP アドレスと TLS 証明書が構成されています。
  3. XLB はリクエストを MIG 内の VM に転送します。
  4. VM は、リクエストを内部ロードバランサのプライベート IP アドレスに転送します。このアドレスは Apigee ランタイムにルーティングされます。
  5. リクエストを処理した後、Apigee ランタイムはリクエストをバックエンド サービスに送信します。レスポンスは同じパスで返されます。

Apigee UI

組織の管理には、Apigee UI が使用されます。apigee.google.com に移動して、UI で組織を探索できます。

注: プロビジョニング プロセスが開始されてから数分後に、Apigee UI で Apigee X 組織が表示されるようになります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Apigee 評価組織を作成し、プロビジョニングされるまで待つ。

タスク 3. アクセス ルーティングを設定する

このタスクでは、プロビジョニング ウィザードを使用して、VPC ネットワークの外部から API 呼び出しを行えるインフラストラクチャを作成します。

  1. ウィザードの [設定] タブに戻ります。

    注: 前の進捗チェックポイントが正常に完了している場合、Apigee 評価組織のプロセス(ステップ 3)は完了済みとしてマークされているか、まもなくマークされます。ステップ 3 が完了するまで待ちます。
  2. [Access routing] の横にある [Edit] をクリックします。

  3. [Enable internet access] を選択します。

    注: ウィザードは、Google Cloud ロードバランサの費用に言及しますが、このラボの使用時には費用はかかりません。
  4. [ワイルドカード DNS サービスを使用] を選択します。

    ワイルドカード DNS サービスは、ホスト名に埋め込まれた IP アドレスに基づいて DNS エントリを自動的に返します。たとえば、ホスト名 eval-34.100.120.55.nip.io は IP アドレス 34.100.120.55 に解決されます。

  5. デフォルトのワイルドカード DNS プロバイダである nip.io を使用するには、domain を変更せずにそのままにします。

  6. [サブネットワーク] で [apigeex-vpc] を選択します。

  7. [Set access] をクリックします。

    アクセス ルーティングの構成が完了するまで待ちます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アクセス ルーティングを設定する。

評価組織の外部アクセスが作成されています。ロードバランサで使用される apigee-ssl-cert の作成には数分かかる場合があるため、まず内部アクセスをテストします。

タスク 4. 内部アクセスを使用して Apigee 評価組織をテストする

このタスクでは、Apigee 評価組織のプロキシを内部 IP アドレスから呼び出せることをテストします。

内部 IP アドレスを使用してランタイム インスタンスで API プロキシを呼び出すには、インスタンスを呼び出すことができる VM を同じネットワーク上に作成します。

Apigee ランタイムを呼び出すことができる仮想マシンを作成する

プロビジョニング後、Apigee 評価組織では、内部 IP アドレスのみが Apigee ランタイムと通信できます。クラスタ内の Compute Engine VM は、Apigee ランタイムの内部ロードバランサにリクエストを送信できます。

  1. Cloud Shell で、次の変数を設定します。

    export ORG=${GOOGLE_CLOUD_PROJECT} export PROJECT_NUMBER=$(gcloud projects describe ${GOOGLE_CLOUD_PROJECT} --format="value(projectNumber)") export NETWORK=apigeex-vpc export SUBNET=apigeex-vpc export INSTANCE_NAME=eval-instance export VM_NAME=apigeex-test-vm export VM_ZONE={{{ project_0.default_zone | ZONE }}} export RUNTIME_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) echo "RUNTIME_IP=${RUNTIME_IP}"

    ランタイム IP アドレスは、ランタイム インスタンスの詳細を取得する Apigee API を使用して取得されます。ツール jq は、JSON レスポンスを解析して特定のフィールドを取得するために使用されます。

  2. 仮想マシンを作成します。

    gcloud beta compute --project=${GOOGLE_CLOUD_PROJECT} \ instances create ${VM_NAME} \ --zone=${VM_ZONE} \ --machine-type=e2-micro \ --subnet=${SUBNET} \ --service-account=${PROJECT_NUMBER}-compute@developer.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --tags=http-server,https-server \ --image-family=debian-11 \ --image-project=debian-cloud \ --boot-disk-size=10GB \ --boot-disk-device-name=${VM_NAME} \ --metadata=startup-script="sudo apt-get update -y && sudo apt-get install -y jq"

    この gcloud コマンドは、次のパラメータを使用して新しい仮想マシンを作成します。

    • zone: VM インスタンスのゾーン
    • machine-type: e2-micro は費用対効果の高い共有コア マシンタイプ
    • subnet: apigeex-vpc ネットワークで作成したサブネット
    • service-account: インスタンスにアタッチされた ID
    • scopes: VM 上のサービス アカウントに提供されるアクセスのレベル
    • tags: インスタンスに適用されるタグのリスト。デフォルトのファイアウォール ルールとルートを提供するために使用されます。
    • image-family: イメージに使用するイメージ ファミリー。ファミリー内の非推奨ではない最新のイメージが使用されます。
    • image-project: 一般公開イメージ ファミリーをホストする Google Cloud プロジェクト
    • boot-disk-size: 作成する VM ブートディスクのサイズ
    • boot-disk-device-name: 作成されたブートディスクの名前
    • metadata: 実行する起動スクリプトを指定します。このスクリプトは、テストで使用される jq をインストールします。

    パラメータの詳細については、次のコマンドを使用できます。

    gcloud compute instances create --help
  3. ネットワーク内の VM へのセキュア シェル(SSH)アクセスを許可するファイアウォール ルールを追加します。

    gcloud compute --project=${GOOGLE_CLOUD_PROJECT} \ firewall-rules create ${NETWORK}-allow-ssh \ --direction=INGRESS \ --priority=65534 \ --network=${NETWORK} \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=0.0.0.0/0

    このコマンドは、マシンへの SSH の受信リクエストを任意のソースから許可することを指定します。SSH セッションでは、ユーザーの認証が依然として必要です。

  4. Cloud Shell で、新しい VM への SSH 接続を開きます。

    gcloud compute ssh ${VM_NAME} --zone=${VM_ZONE} --force-key-file-overwrite
  5. 確認されるすべての項目について、Enter キーまたは Return キーを押して、デフォルトの入力を指定します。

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

    これで、Cloud Shell セッションが VM 内で実行できるようになります。

Apigee 評価組織をテストする

  1. VM のシェルで、必要なシェル変数を設定します。

    export PROJECT_NAME=$(gcloud config get-value project) export ORG=${PROJECT_NAME} export INSTANCE_NAME=eval-instance export INSTANCE_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 ENV_GROUP_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://apigee.googleapis.com/v1/organizations/${ORG}/envgroups" | jq ".environmentGroups[0].hostnames[0]" --raw-output) echo "INSTANCE_IP=${INSTANCE_IP}" echo "ENV_GROUP_HOSTNAME=${ENV_GROUP_HOSTNAME}"

    環境グループのホスト名は、評価環境グループ内の環境にデプロイされた API プロキシへの呼び出しをルーティングするために使用されます。

  2. 内部 IP アドレスを使用して、デプロイされた hello-world API プロキシを呼び出します。

    curl -i -k --resolve "${ENV_GROUP_HOSTNAME}:443:${INSTANCE_IP}" \ "https://${ENV_GROUP_HOSTNAME}/hello-world"

    --resolve 設定は、環境グループのホスト名に送信されたコマンドをインスタンスのロードバランサ IP アドレスに解決するように強制します。これは、環境グループのホスト名に DNS エントリがないためです。-k オプションは、インスタンスのロードバランサによって提示された TLS 証明書の検証をスキップします。

    この curl コマンドは、ピアリングされたネットワークに接続された仮想マシンを使用して、ランタイムのロードバランサの内部 IP アドレスを呼び出します。curl コマンドは、hello-world プロキシからの出力である Hello, Guest! を返します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 内部アクセスを使用して Apigee 評価組織をテストする。

タスク 5. 外部アクセスを使用して Apigee 評価組織をテストする

このタスクでは、Apigee 評価組織のプロキシを外部 IP アドレスから呼び出せることをテストします。

プロビジョニング プロセスのアクセス ルーティング ステップでは、外部 IP アドレスから API プロキシを呼び出すために必要なインフラストラクチャが作成されます。プロビジョニング ウィザードは、マネージド インスタンス グループを介してランタイムを呼び出す外部ロードバランサを作成します。

作成したインフラストラクチャを確認する

  1. コンソールで、[ネットワーク サービス] > [ロード バランシング] に移動します。

    apigee-proxy-url-map という名前のロードバランサが作成されました。

  2. [apigee-proxy-url-map] をクリックします。

    ロードバランサの構成セクションには、フロントエンド、ホストとパスのルール、バックエンドが含まれます。

    Frontend は、受信トラフィックに関する詳細を指定します。このロードバランサは、外部 IP アドレスのポート 443 で HTTPS トラフィックを受け入れる必要があります。証明書の名前は apigee-ssl-cert です。

    ホストとパスのルールでは、特定のバックエンドを呼び出すために使用できるホスト名と URL パスを指定します。この場合、任意のホスト名とパスを含むリクエストは、apigee-proxy-backend バックエンド サービスに転送されます。

    Backend は、ロードバランサによって呼び出されるサービスを指定します。apigee-proxy- インスタンス グループには、ランタイム インスタンスにリクエストを転送する 2 つの仮想マシンが含まれています。グローバル ロードバランサはリクエストを内部 IP アドレスに転送できませんが、インスタンス グループの VM は内部 IP アドレスを呼び出すことができます。

  3. 証明書の詳細にアクセスするには、[フロントエンド] 構成で [apigee-ssl-cert] をクリックします。

    アクティブなロードバランサで使用される証明書には、証明書の検証をスキップせずに curl でロードバランサを呼び出すことができる証明書チェーンがあります。証明書のドメインは [IP_ADDRESS].nip.io で、IP アドレスはフロントエンドの外部 IP アドレスです。

    Google Cloud は証明書をプロビジョニングする必要があります。プロビジョニングの完了にはかなりの時間がかかる場合があります。

    有効な証明書の構成は次のようになります。

    ステータス、タイプ、証明書チェーンなど、アクティブな認証構成の設定。

    証明書のステータスが PROVISIONING の場合、Google Cloud は証明書を作成した可能性がありますが、認証局と連携して署名を行っている最中です。

    プロビジョニングには通常 10 分もかかりませんが、1 時間ほどかかる場合もあります。詳しくは、管理対象ステータスのトラブルシューティング ガイドをご覧ください。

  4. Cloud Shell で、[Open a new tab (+)] をクリックして新しいタブを開きます。

    Cloud Shell から Google Cloud プロジェクトのプライベート IP アドレスを呼び出すことはできません。

  5. 外部 IP アドレスを使用して、デプロイされた hello-world API プロキシを呼び出します。

    export PROJECT_NAME=$(gcloud config get-value project) export SSL_HOSTNAME=$(curl -s -H "Authorization: Bearer $(gcloud auth print-access-token)" -X GET "https://compute.googleapis.com/compute/v1/projects/${PROJECT_NAME}/global/sslCertificates/apigee-ssl-cert" | jq ".managed.domains[0]" --raw-output) echo "SSL_HOSTNAME=${SSL_HOSTNAME}" curl -H "Cache-Control: no-cache" "https://${SSL_HOSTNAME}/hello-world"

    Compute Engine API の sslCertificates.get メソッドを使用して、証明書に関連付けられている nip.io ホスト名を取得します。

    証明書が完全にプロビジョニングされると、curl コマンドは hello-world プロキシからの出力を再び返します: Hello, Guest!

    curl コマンドがhandshake の失敗を返した場合、SSL 証明書はロードバランサ用にまだ構成されていません。

  6. 証明書の詳細ページに戻り、証明書のステータスを確認します。証明書のステータスがまだ ACTIVE でない場合は、証明書がアクティブになるまで待ってから、curl コマンドを再試行してください。

お疲れさまでした

このラボでは、Virtual Private Cloud(VPC)ネットワークと Apigee X 評価組織を作成しました。次に、仮想マシン(VM)を作成し、それを使用してランタイムを直接呼び出し、Apigee X 組織で実行されている API プロキシを呼び出しました。最後に、インターネット アクセスを有効にし、グローバル ロードバランサを介してプロキシを呼び出しました。

次のステップと詳細情報

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

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

マニュアルの最終更新日: 2024 年 7 月 9 日 ラボの最終テスト日: 2024 年 7 月 9 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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