arrow_back

Google Cloud Deploy を使用した継続的デリバリー

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

Google Cloud Deploy を使用した継続的デリバリー

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

概要

Google Cloud Deploy は、定義したプロモーション シーケンスでの一連のターゲット環境へのアプリケーションの配信を自動化するマネージド サービスです。更新したアプリケーションをデプロイする場合は、リリースを作成します。リリースのライフサイクルは、デリバリー パイプラインによって管理されます。

このラボでは、Google Cloud Deploy を使用してデリバリー パイプラインを作成します。その後、基本的なアプリケーションのリリースを作成し、一連の Google Kubernetes Engine(GKE)ターゲットを通してアプリケーションをプロモートします。

サンプル アプリケーションは、ポートをリッスンして、HTTP レスポンス コードを返し、ログエントリを追加するシンプルなウェブアプリです。

目標

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

  • Skaffold を使用してコンテナ イメージを Google Cloud Artifact Registry にデプロイする
  • Google Cloud Deploy デリバリー パイプラインを作成する
  • デリバリー パイプラインのためのリリースを作成する
  • デリバリー パイプライン内のターゲットを通してアプリケーションをプロモートする

ラボの設定

Qwiklabs にアクセスする

各ラボでは、新しい 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 のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。ナビゲーション メニュー アイコン

最初のログイン手順を完了すると、プロジェクト ダッシュボードが表示されます。

Google Cloud Shell の有効化

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

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

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

    ハイライト表示された Cloud Shell アイコン

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

Cloud Shell ターミナルでハイライト表示されたプロジェクト ID

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

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

タスク 1. 3 つの GKE クラスタを作成する

このタスクでは、デリバリー パイプラインのターゲットになる 3 つの GKE クラスタを作成します。

3 つの GKE クラスタが作成され、デリバリー パイプラインの 3 つのターゲットが示されます。

  • test
  • staging
  • prod
  1. さまざまなコマンドで使用される環境変数を宣言します。
export PROJECT_ID=$(gcloud config get-value project) export REGION={{{ project_0.default_region | "REGION" }}} gcloud config set compute/region $REGION
  1. Google Kubernetes Engine API を有効にします。
gcloud services enable \ container.googleapis.com \ clouddeploy.googleapis.com
  1. Cloud Shell で kubectl のタブ補完を構成します。
source <(kubectl completion bash)
  1. 3 つの GKE クラスタを作成します。
gcloud container clusters create-auto test --async gcloud container clusters create-auto staging --async gcloud container clusters create-auto prod --async 注: --async フラグも使用することで、クラスタをバックグラウンドでプロビジョニングしながら、パイプラインの他の要素の設定を続けることができます。
  1. 3 つのクラスタのステータスを確認します。
gcloud container clusters list --format="csv(name,status)" 注: --async フラグを使用しているため、このコマンドがクラスタ デプロイのステータスを取得する手段になります。

出力

name,status prod,PROVISIONING staging,PROVISIONING test,RUNNING

クラスタの作成には数分かかることがあります。クラスタの準備が完了するまで待つ必要はありません。ラボを続けます。

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

タスク 2. ウェブ アプリケーションのコンテナ イメージを準備する

このタスクでは、ウェブ アプリケーションのコンテナ イメージを格納する Artifact Registry のリポジトリを作成します。

  1. Artifact Registry API を有効にします。
gcloud services enable artifactregistry.googleapis.com
  1. コンテナ イメージを格納する web-app リポジトリを作成します。
gcloud artifacts repositories create web-app \ --description="Image registry for sample web app" \ --repository-format=docker \ --location=$REGION

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 web-app リポジトリを作成する

タスク 3. コンテナ イメージをビルドして Artifact Registry にデプロイする

このタスクでは、ウェブ アプリケーションを含む git リポジトリのクローンを作成し、アプリケーションのコンテナ イメージを Artifact Registry にデプロイします。

アプリケーションの構成を準備する

  1. ラボ用にリポジトリのクローンをホーム ディレクトリに作成します。
cd ~/ git clone https://github.com/GoogleCloudPlatform/cloud-deploy-tutorials.git cd cloud-deploy-tutorials git checkout c3cae80 --quiet cd tutorials/base
  1. skaffold.yaml 構成ファイルを作成します。
envsubst < clouddeploy-config/skaffold.yaml.template > web/skaffold.yaml cat web/skaffold.yaml 注: envsubst コマンドは、検索と置換を行うコマンドです。

これにより、アプリケーションのコンテナ イメージを Skaffold でビルドする方法を指定する skaffold.yaml 構成ファイルが web ディレクトリに配置されます。この構成で記述する項目は次のとおりです。

build セクションで以下を構成します。

  • ビルドする 2 つのコンテナ イメージ(アーティファクト)
  • イメージのビルドに使用する Google Cloud Build プロジェクト

deploy セクションでは、クラスタへのワークロードのデプロイで必要になる Kubernetes マニフェストを構成します。

portForward の構成は、デプロイ用の Kubernetes サービスの定義に使用します。

出力

apiVersion: skaffold/v2beta7 kind: Config build: artifacts: - image: leeroy-web context: leeroy-web - image: leeroy-app context: leeroy-app googleCloudBuild: projectId: {{project-id}} deploy: kubectl: manifests: - leeroy-web/kubernetes/* - leeroy-app/kubernetes/* portForward: - resourceType: deployment resourceName: leeroy-web port: 8080 localPort: 9000 注: ファイルを確認するには、vi、emacs、nano を使用するか、Cloud Shell で [エディタを開く] アイコンをクリックして Cloud Shell コードエディタを使用します。

ウェブ アプリケーションをビルドする

Cloud Build へのコードベースの送信は skaffold ツールで処理されます。

  1. Cloud Build API を有効にします。
gcloud services enable cloudbuild.googleapis.com
  1. skaffold コマンドを実行してアプリケーションをビルドし、前に作成した Artifact Registry リポジトリにコンテナ イメージをデプロイします。
cd web skaffold build --interactive=false \ --default-repo $REGION-docker.pkg.dev/$PROJECT_ID/web-app \ --file-output artifacts.json cd ..
  1. skaffold によるビルドが完了したら、Artifact Registry でコンテナ イメージを確認します。
gcloud artifacts docker images list \ $REGION-docker.pkg.dev/$PROJECT_ID/web-app \ --include-tags \ --format yaml

--format yaml パラメータは、読みやすくするために出力を YAML として返します。出力は次のようになります。

出力

--- createTime: '2024-09-11T02:07:54.995807Z' package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app tags: '9181623' updateTime: '2024-09-11T02:07:54.995807Z' version: sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495 --- createTime: '2024-09-11T02:07:53.629263Z' package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web tags: '9181623' updateTime: '2024-09-11T02:07:53.629263Z' version: sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9

デフォルトで Skaffold は、イメージのタグをその関連する git タグに設定します(利用可能な場合)。同様の情報は、skaffold コマンドで作成された artifacts.json ファイルで確認できます。

デプロイされたイメージの詳細を含む web/artifacts.json ファイルが Skaffold で生成されます。

cat web/artifacts.json | jq

出力

{ "builds": [ { "imageName": "leeroy-web", "tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web:9181623@sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9" }, { "imageName": "leeroy-app", "tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app:9181623@sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495" } ]

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 コンテナ イメージをビルドして Artifact Registry にデプロイする

タスク 4. デリバリー パイプラインを作成する

このタスクでは、デリバリー パイプラインを設定します。パイプラインでアプリを test から staging に、staging から prod にプロモートします。

  1. Google Cloud Deploy API を有効にします。
gcloud services enable clouddeploy.googleapis.com
  1. delivery-pipeline.yaml ファイルを使用して delivery-pipeline リソースを作成します。
gcloud config set deploy/region $REGION cp clouddeploy-config/delivery-pipeline.yaml.template clouddeploy-config/delivery-pipeline.yaml gcloud deploy apply --file=clouddeploy-config/delivery-pipeline.yaml
  1. デリバリー パイプラインが作成されたことを確認します。
gcloud deploy delivery-pipelines describe web-app

デリバリー パイプラインが次のように表示されます。

出力

Unable to get target test Unable to get target staging Unable to get target prod Delivery Pipeline: createTime: '2024-09-11T14:03:18.294884547Z' description: web-app delivery pipeline etag: 2539eacd7f5c256d name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app serialPipeline: stages: - targetId: test - targetId: staging - targetId: prod uid: eb0601aa03ac4b088d74c6a5f13f36ae updateTime: '2024-09-11T14:03:18.680753520Z' Targets: []

出力の最初の 3 行に注目してください。現在は、まだ作成されていない 3 つのターゲット環境をデリバリー パイプラインで参照しています。次のタスクで、それらのターゲットを作成します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 デリバリー パイプラインを作成する

タスク 5. デプロイ ターゲットを構成する

GKE クラスタごとに 1 つずつ、3 つのデリバリー パイプライン ターゲットが作成されます。

クラスタの準備が完了していることを確認する

3 つの GKE クラスタはすでに実行中になっているはずですが、ここで確認しておくことをおすすめします。

  • 以下を実行してクラスタのステータスを取得します。
gcloud container clusters list --format="csv(name,status)"

以下の出力に示すように、3 つのクラスタがいずれも RUNNING 状態になっているはずです。まだ RUNNING とマークされていない場合は、それらのステータスが RUNNING に変わるまで上記のコマンドを再試行します。

出力

name,status prod,RUNNING staging,RUNNING test,RUNNING

すべてのクラスタのステータスが「RUNNING」になったら、ラボを続けます。

各クラスタのコンテキストを作成する

以下のコマンドを使用して、各クラスタの認証情報を取得し、後でクラスタを参照するときに簡単に使えるように kubectl コンテキストを作成します。

CONTEXTS=("test" "staging" "prod") for CONTEXT in ${CONTEXTS[@]} do gcloud container clusters get-credentials ${CONTEXT} --region ${REGION} kubectl config rename-context gke_${PROJECT_ID}_${REGION}_${CONTEXT} ${CONTEXT} done

各クラスタに Namespace を作成する

以下のコマンドを使用して、3 つのクラスタのそれぞれに Kubernetes Namespace(web-app)を作成します。

for CONTEXT in ${CONTEXTS[@]} do kubectl --context ${CONTEXT} apply -f kubernetes-config/web-app-namespace.yaml done

アプリケーションが(web-app)Namespace にデプロイされるようになります。

デリバリー パイプライン ターゲットを作成する

  1. 各ターゲットのターゲット定義を送信します。
for CONTEXT in ${CONTEXTS[@]} do envsubst < clouddeploy-config/target-$CONTEXT.yaml.template > clouddeploy-config/target-$CONTEXT.yaml gcloud deploy apply --file clouddeploy-config/target-$CONTEXT.yaml done

ターゲットは yaml ファイルに記述されます。ターゲットごとに、そのターゲットに関連するクラスタの情報が構成されます。test ターゲットと staging ターゲットの構成はほぼ同じです。

  1. test ターゲットの詳細を表示します。
cat clouddeploy-config/target-test.yaml

出力

apiVersion: deploy.cloud.google.com/v1beta1 kind: Target metadata: name: test description: test cluster gke: cluster: projects/{{project-id}}/locations/us-central1/clusters/test

prod ターゲットは、リリースをクラスタにプロモートする前に承認が必要なため少し異なります(出力の requireApproval の設定を参照)。

  1. prod ターゲットの詳細を表示します。
cat clouddeploy-config/target-prod.yaml

出力

apiVersion: deploy.cloud.google.com/v1beta1 kind: Target metadata: name: prod description: prod cluster requireApproval: true gke: cluster: projects/{{project-id}}/locations/us-central1/clusters/prod
  1. 3 つのターゲット(test、staging、prod)が作成されたことを確認します。
gcloud deploy targets list

以上で、デリバリー パイプライン用のすべての Google Cloud Deploy ターゲットが作成されました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 デプロイ ターゲットを構成する

タスク 6. リリースを作成する

このタスクでは、アプリケーションのリリースを作成します。

Google Cloud Deploy リリースは、特定のデリバリー パイプラインに関連付けられた 1 つ以上のコンテナ イメージの特定のバージョンです。リリースを作成すると、複数のターゲット(プロモーション シーケンス)を通じてプロモートできます。さらに、リリースを作成すると、skaffold を使用してアプリケーションがレンダリングされ、そのリリース期間に使用されるポイントインタイム リファレンスとして出力が保存されます。

これがアプリケーションの最初のリリースであるため、web-app-001 という名前を付けます。

  1. 次のコマンドを実行してリリースを作成します。
gcloud deploy releases create web-app-001 \ --delivery-pipeline web-app \ --build-artifacts web/artifacts.json \ --source web/

--build-artifacts パラメータは、前に skaffold で作成された artifacts.json ファイルを参照します。--source パラメータは、skaffold.yaml があるアプリケーションのソース ディレクトリを参照します。

リリースを作成すると、承認が不要な場合はパイプラインの最初のターゲットに自動的にロールアウトされます(承認が必要な場合については、このラボの後半のステップで説明します)。

  1. test ターゲットにアプリケーションがデプロイされていることを確認するには、次のコマンドを実行します。
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

出力

--- approvalState: DOES_NOT_NEED_APPROVAL createTime: '2024-09-11T14:05:21.961604Z' deployEndTime: '2024-09-11T14:06:35.278604Z' deployStartTime: '2024-09-11T14:06:22.420091744Z' deployingBuild: projects/{{project-id}}/locations/us-central1/builds/4815b788-ec5e-4185-9141-a5b57c71b001 enqueueTime: '2024-09-11T14:06:21.760830Z' etag: 5cb7b6c342b5f29b name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-test-0001 state: SUCCEEDED targetId: test uid: cccd9525d3a0414fa60b2771036841d9

Google Cloud Deploy では、リリースの作成時にすべてのターゲットのマニフェストをレンダリングするため、リリースの最初のロールアウトには数分かかります。また、デプロイに必要なリソースが GKE クラスタから提供されるまでに数分かかることもあります。

前のコマンドの出力に「state: SUCCEEDED」が表示されない場合は、ロールアウトが完了するまで定期的にコマンドを再実行して待ってください。

  1. 次のコマンドを実行して、アプリケーションが test GKE クラスタにデプロイされたことを確認します。
kubectx test kubectl get all -n web-app

出力

NAME READY STATUS RESTARTS AGE pod/leeroy-app-5547cf9d9b-rgc2l 1/1 Running 0 3m27s pod/leeroy-web-6768b49c46-w7vt9 1/1 Running 0 3m27s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/leeroy-app ClusterIP None <none> 50051/TCP 3m28s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/leeroy-app 1/1 1 1 3m28s deployment.apps/leeroy-web 1/1 1 1 3m28s NAME DESIRED CURRENT READY AGE replicaset.apps/leeroy-app-5547cf9d9b 1 1 1 3m28s replicaset.apps/leeroy-web-6768b49c46 1 1 1 3m28s 注: kubectx コマンドを使用することで、コンテキストを簡単に切り替えることができます。

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

タスク 7. アプリケーションを staging にプロモートする

このタスクでは、アプリケーションを test ターゲットから staging ターゲットにプロモートします。

  1. アプリケーションを staging ターゲットにプロモートします。
gcloud deploy releases promote \ --delivery-pipeline web-app \ --release web-app-001

プロモーションの開始前に、続行するかどうかを確認するプロンプトが表示されます。

  • Enter キーを押してデフォルト(Y = はい)を受け入れます。
  1. staging ターゲットにアプリケーションがデプロイされていることを確認するには、次のコマンドを実行します。
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

出力を確認する

targetId: staging」とマークされたセクションを探します。前と同じように、前のコマンドの出力に「state: SUCCEEDED」が表示されない場合は、ロールアウトが完了するまで定期的にコマンドを再実行して待ちます。

出力

--- approvalState: DOES_NOT_NEED_APPROVAL createTime: '2024-09-11T02:19:32.539468Z' deployEndTime: '2024-09-11T02:19:45.970949Z' deployStartTime: '2024-09-11T02:19:33.111948770Z' deployingBuild: projects/743805075658/locations/us-central1/builds/2316517c-3a2f-4cd3-80ad-6d133b653746 etag: 1109b802ff586df5 name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-staging-0001 state: SUCCEEDED targetId: staging uid: 80a35a5f044844708d2050f8c556e07e

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーションを staging にプロモートする

タスク 8. アプリケーションを prod にプロモートする

このタスクでは、アプリケーションをもう一度プロモートしますが、今回は承認も行います。

  1. アプリケーションを prod ターゲットにプロモートします。
gcloud deploy releases promote \ --delivery-pipeline web-app \ --release web-app-001

プロモーションの開始前に、続行するかどうかを確認するプロンプトが表示されます。

  • Enter キーを押してデフォルト(Y = はい)を受け入れます。
  1. prod ターゲットのステータスを確認するには、次のコマンドを実行します。
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

出力で approvalStateNEEDS_APPROVAL、state が PENDING_APPROVAL になっていることに注意してください。

出力

--- approvalState: NEEDS_APPROVAL createTime: '2024-09-11T14:12:07.466989Z' etag: 6e9303e5a1b04084 name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-prod-0001 state: PENDING_APPROVAL targetId: prod uid: a5c7d6007fee4d80904d49142581aaa7
  1. 次のようにしてロールアウトを承認します。
gcloud deploy rollouts approve web-app-001-to-prod-0001 \ --delivery-pipeline web-app \ --release web-app-001

プロモーションの開始前に、ロールアウトを承認するように求められます。

  • Enter キーを押してデフォルト(Y = はい)を受け入れます。
  1. prod ターゲットにアプリケーションがデプロイされていることを確認するには、次のコマンドを実行します。
gcloud deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

前のロールアウトと同じように、ターゲットのエントリ(targetId: prod)を探し、ロールアウトが完了(state: SUCCEEDED)したことを確認します。ロールアウトが完了するまで定期的にコマンドを再実行します。

  1. kubectl を使用して、デプロイされたアプリケーションのステータスを確認します。
kubectx prod kubectl get all -n web-app

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリケーションを prod にプロモートする

お疲れさまでした

Cloud Deploy を使用して継続的デリバリー パイプラインを作成できるようになりました。

Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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