概要
このラボでは、Google Cloud のウェブベースのインターフェースについて学習します。Google Cloud には以下の 2 つの環境が組み込まれています。
- Google Cloud コンソールと呼ばれる GUI 環境
- Cloud Shell と呼ばれるコマンドライン インターフェース。Cloud SDK のコマンドがプリインストールされています。
本コースでは、両方の環境を使用します。
Google Cloud コンソールについては、以下の点を理解しておく必要があります。
- Google Cloud コンソールは現在も開発が続けられているため、グラフィカルなレイアウトが変更されることがあります。多くの場合、こうした変更は Google Cloud の新機能やテクノロジーの変更に伴って実施されるもので、ワークフローに多少の変更が生じます。
- Google Cloud の一般的な操作のほとんどは Google Cloud コンソールで行うことができます。新しい機能は、Google Cloud コンソールで利用可能になる前に、Cloud SDK に実装される場合があります。
- 一部の操作は、Google Cloud コンソールで非常に速く処理できます。Google Cloud コンソールでは、多くのコマンドライン処理が必要になるような複合的な操作を簡単に実行できます。
- Cloud SDK のコマンドは、自動化に役立ちます。
目標
このラボでは、次のタスクの実行方法について学びます。
- Google Cloud コンソールと Cloud Shell にアクセスする
- Google Cloud コンソールについて理解する
- Cloud Shell エディタを含む Cloud Shell の機能について理解する
- Google Cloud コンソールと Cloud Shell を使用して、バケット、VM、サービス アカウントを作成する
- Cloud Shell でその他のコマンドを実行する
ラボを設定する
Qwiklabs にアクセスする
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] パネルでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] パネルでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。
最初のログイン手順を完了すると、プロジェクト ダッシュボードが表示されます。

タスク 1. Google Cloud コンソールを使用する
このタスクでは、Google Cloud コンソールを使用し、リソースを作成します。
プロジェクトが選択されていることを確認する
-
Google Cloud コンソールのタイトルバーにある [プロジェクトの選択] プルダウン リストをクリックし、Qwiklabs から認証情報とともに提供されたプロジェクト ID を選択します。
-
プロジェクト ID の形式は、[qwiklabs-gcp-] + 16 進数の長い数字です。
-
[キャンセル] をクリックしてダイアログを閉じます。
次のスクリーンショットに示すように、タイトルバーにプロジェクト ID が表示されます。Qwiklabs 環境のラボごとに固有のプロジェクト ID と固有の認証情報があります。

Google Cloud Storage に移動してバケットを作成する
Cloud Storage では、世界中のどこからでも、いつでもデータを保存、取得できます。データの量に制限はありません。Cloud Storage は、ウェブサイト コンテンツの提供、アーカイブと障害復旧のためのデータの保存、直接ダウンロードによるユーザーへの大きなデータ オブジェクトの配布など、さまざまなシナリオで使用できます。
Cloud Storage バケットには、グローバルに一意の名前を付ける必要があります。組織では、Google Cloud の Cloud Storage のベスト プラクティス ガイドに従ってください。このラボでは、Qwiklabs で生成された Google Cloud プロジェクト ID(グローバルに一意の ID)を使用すれば、バケットの名前を簡単に一意のものにすることができます。
-
Google Cloud コンソールのナビゲーション メニュー(
)で、[Cloud の概要] > [ダッシュボード] をクリックします。
-
表示された画面の [ダッシュボード] タブで、[プロジェクト情報] セクションに Google Cloud プロジェクト ID が表示されます。
-
プロジェクト ID を選択してコピーします。このプロジェクト ID は Qwiklabs によって生成されたものなので、[qwiklabs-gcp-] の後に 16 進数の長い数字が付加された形式になっています。
-
Google Cloud コンソールのナビゲーション メニュー(
)で、[Cloud Storage] > [バケット] をクリックします。
-
[バケットを作成] をクリックします。
-
バケット名に、前の手順でコピーした Google Cloud プロジェクト ID の文字列を貼り付けます。以降のラボの手順では、この名前を [BUCKET_NAME]
と表記します。
-
[続行] をクリックします。
-
[ロケーション タイプ] で [リージョン] を選択し、プルダウンから を選択します。
-
[続行] をクリックします。
-
[オブジェクトへのアクセスを制御する方法を選択する] をクリックし、[このバケットに対する公開アクセス禁止を適用する] をオフにして、[きめ細かい管理] を選択します。
-
[続行] をクリックします。
-
他の値はすべてデフォルト値のままにします。
-
[作成] をクリックします。
注: Google Cloud コンソールには通知(
)アイコンがあり、内部で実行されるコマンドの結果がそちらに表示されることがあります。アイコンをクリックして通知を表示すると、追加情報や履歴を確認できます。
仮想マシン(VM)インスタンスを作成する
Google Compute Engine は、Google のデータセンターとそのネットワーク上で実行される仮想マシンをサービスとして提供します。Google Kubernetes Engine では、そのアーキテクチャのコンポーネントとして Compute Engine を利用しています。そのため、Google Kubernetes Engine について学ぶ前に、Compute Engine について簡単に学んでおくと役に立ちます。
-
ナビゲーション メニュー(
)で、[Compute Engine] > [VM インスタンス] をクリックします。
- [インスタンスを作成] をクリックします。
- [名前] にインスタンスの名前として「first-vm」と入力します。
- [リージョン] で を選択します。
- [ゾーン] で を選択します。
- [マシンタイプ] で、オプションを確認します。
注: [マシンタイプ] メニューには、仮想 CPU の数、メモリ容量、識別名(例: e2-medium)が一覧表示されます。識別名は、gcloud
コマンドを使用して VM を作成する際に、マシンタイプを選択するために使用するパラメータです。リージョン、ゾーン、マシンタイプの右側に、1 か月あたりの推定費用が表示されます。
- 推定費用の内訳を確認するには、[マシンタイプ] リストの右側にある [月間予測] を表示します。
- [マシンタイプ] で、[標準] > [e2-standard-2] をクリックします。
費用はどのように変化しましたか。
- [マシンタイプ] で、[共有コア] > [e2-micro] を選択します。
micro というタイプは低価格の共有コア VM です。
- 左側のペインで [ネットワーキング] に移動し、[ファイアウォール] で [HTTP トラフィックを許可する] を選択します。
- 残りの設定はデフォルトのままにして、[作成] をクリックします。
新しい VM が作成されるまでお待ちください。
VM の詳細を調べる
- [VM インスタンス] ページで、first-vm という VM 名をクリックします。
- [マシンの構成] で、[CPU プラットフォーム] の値を確認します。
- 上部にある鉛筆アイコンをクリックし、
first-vm
インスタンスを編集します。
注: 実行中の Google Cloud VM のマシンタイプ、CPU プラットフォーム、ゾーンは変更できません。ネットワーク タグを追加して、インターネットからの特定のネットワーク トラフィックをファイアウォールで許可できます。 VM の一部のプロパティは不可欠なもので、VM の作成時に設定され、変更はできません。その他のプロパティは変更できます。たとえば、ディスクを追加したり、インスタンスの削除時にブートディスクを削除するかどうかを指定したりできます。
- [管理] セクションまでスクロールして、[可用性ポリシー] を確認します。
注: Compute Engine では Spot VM インスタンスを利用できます。これを使用すると、時間あたりの費用は抑えられますが、Google Cloud によってワークロードが中断される可能性があります。コストを大幅に削減できますが、ワークロードが中断可能なものであることを確認する必要があります。
Spot 以外のインスタンスを Spot インスタンスに変換することはできません。この選択は VM の作成時に行う必要があります。
なんらかの理由(たとえば、停電やハードウェア障害)で VM が停止した場合、自動再起動機能によって再起動されます。これは望ましい動作でしょうか?お使いのアプリケーションはべき等ですか(2 回目の起動が正しく処理されるように作成されていますか)?
ホストのメンテナンス中は、VM がライブ マイグレーション可能な状態になります。ただし、VM を移行するのではなく、終了することも可能です。
加えた変更が実装されるまでには、数分かかることがあります。特にファイアウォールの追加や外部 IP の変更など、ネットワークの変更が含まれる場合は時間がかかります。
- [キャンセル] をクリックします。
IAM サービス アカウントを作成する
IAM サービス アカウントは、個々のエンドユーザーではなく、アプリケーションや仮想マシンに属している特別な種類の Google アカウントです。
-
ナビゲーション メニューで、[IAM と管理] > [サービス アカウント] をクリックします。
- [+ サービス アカウントを作成] をクリックします。
- [サービス アカウントの詳細] で、[サービス アカウント名] に「
test-service-account
」と入力します。
- [作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する(省略可)] で、ロールとして [基本] > [編集者] を指定します。
- [続行] をクリックします。
- [完了] をクリックします。
- [サービス アカウント] ページで、
test-service-account
の右端まで移動して、その他アイコンをクリックします。
- [鍵を管理] をクリックします。
- [鍵を追加] をクリックします。
- [新しい鍵を作成] を選択します。
- 鍵のタイプに [JSON] を選択します。
- [作成] をクリックします。
JSON 鍵ファイルがダウンロードされます。この鍵ファイルは後の手順で VM にアップロードします。
- [閉じる] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
バケット、必要なファイアウォール ルールを追加した VM インスタンス、IAM サービス アカウントを作成する
タスク 2. Cloud Shell の操作を確認する
Cloud Shell では、コマンドラインを使ってブラウザからクラウド リソースに直接アクセスできます。また、gcloud などの Cloud SDK コマンドライン ツールを常に最新かつ認証済みの状態で使うことができます。
Cloud Shell の特長と機能は以下のとおりです。
- 一時的な Compute Engine VM
- ウェブブラウザからインスタンスへのコマンドライン アクセス
- 5 GB の永続ディスク ストレージ(
$HOME dir
)
- プリインストールされた Cloud SDK とその他のツール
-
gcloud
: Compute Engine、Google Kubernetes Engine(GKE)、Google Cloud の多くのサービスで使用
-
gcloud storage
と gsutil
: Cloud Storage で使用
-
kubectl
: GKE や Kubernetes で使用
-
bq
: BigQuery で使用
- Java、Go、Python、Node.js、PHP、Ruby などの言語に対応
- ウェブ プレビュー機能
- リソースやインスタンスに対するアクセスを承認する組み込みのメカニズム
アクティビティのない状態が 1 時間続くと、Cloud Shell インスタンスはリサイクルされます(/home
ディレクトリのみが維持されます)。システム構成の変更(これには環境変数も含まれます)は、セッションが終了すると失われます。
このタスクでは、Cloud Shell を使用していくつかのリソースを作成し、詳しく確認していきます。
Cloud Shell を開いて機能を確認する
- Google Cloud コンソールのタイトルバーで、[Cloud Shell をアクティブにする](
)をクリックします。
- 画面の指示に従って [続行] をクリックします。
Google Cloud コンソール ウィンドウの下部に Cloud Shell が開きます。
Cloud Shell ツールバーの右端に、次のアイコンがあります。
-
最大化 / 復元: このアイコンをクリックするとウィンドウを最大化したり復元したりできます。Cloud Shell を閉じることなく Google Cloud コンソールのすべての機能を利用できます。
-
新しいウィンドウで開く: Cloud Shell を Google Cloud コンソールの下部に表示したままにしておくと、個々のコマンドを発行するときに便利です。一方で、ファイルを編集する場合や、コマンドの出力全体を確認したい場合には、このアイコンをクリックすると、Cloud Shell が新しいフルサイズのターミナル ウィンドウとして表示されます。
-
すべてのタブを閉じる: このアイコンをクリックすると Cloud Shell が終了します。Cloud Shell を閉じるたびに、その仮想マシンはリサイクルされ、関連するすべての情報が失われます。ただし、ホーム ディレクトリに保存したデータは保持され、Cloud Shell を次回開いたときに引き続き利用できます。
Cloud Shell を使用してこのタスク向けの環境変数を設定する
Cloud Shell で次のコマンドを入力して、このタスクで使用する環境変数を定義します。
-
[BUCKET_NAME] をタスク 1 の最初のバケットの名前に置き換えます。
-
[BUCKET_NAME_2] をグローバルに一意の任意の名前に置き換えます。
- Cloud Shell で、次のコマンドを実行して環境変数を作成します。
MY_BUCKET_NAME_1=[BUCKET_NAME]
MY_BUCKET_NAME_2=[BUCKET_NAME_2]
MY_REGION={{{project_0.default_region | "REGION"}}}
注: Cloud Shell で作業する場合、つまりスクリプトを書く場合は、環境変数を作成することをおすすめします。一貫性を保ちながら繰り返しの利用が簡単な環境変数を使うことで、作業ミスが発生しにくくなります。
注: [BUCKET_NAME]
などのプレースホルダ文字列全体を、任意の一意の名前(MY_BUCKET_NAME_1=unique_bucket_name
など)に置き換えてください。
作成済みの認証情報ファイルを Cloud Shell に移動する
前のタスクで最初の IAM サービス アカウントを作成した際、JSON エンコードの認証情報ファイルをダウンロードしました。
- ローカル ワークステーションで、ダウンロードした JSON 鍵を確認し、ファイルの名前を
credentials.json
に変更します。
- Cloud Shell のツールバーでその他メニューのアイコン(
)をクリックし、その他のオプションを表示します。
- [アップロード] をクリックし、ローカルマシンにある
credentials.json
ファイルを選択します。
- [開く] をクリックします。
- [アップロード] をクリックして
credentials.json
を Cloud Shell VM に転送します。
-
X アイコンをクリックすると、ファイル アップロードのポップアップ ウィンドウが閉じます。
- Cloud Shell で「ls」と入力して Enter キーを押し、ファイルがアップロードされたことを確認します。
2 番目の Cloud Storage バケットを作成し、Google Cloud コンソールで確認する
gcloud storage
コマンドと gsutil
コマンドを使用すると、コマンドラインから Cloud Storage を操作できます。このタスクでは、Cloud Shell で gcloud storage
コマンドを使用します。
- Cloud Shell で
gcloud storage
コマンドを使用して、バケットを作成します。
gcloud storage buckets create gs://$MY_BUCKET_NAME_2 --location={{{project_0.default_region | REGION}}}
[承認] をクリックします(求められた場合)。
- Google Cloud コンソールのナビゲーション メニュー(
)で、[Cloud Storage] > [バケット] をクリックします。Cloud Storage ページがすでに開いている場合は、[更新] をクリックします。
バケットの一覧に 2 番目のバケットが表示されます。
gcloud コマンドラインを使用して 2 番目の仮想マシンを作成する
- Cloud Shell で次のコマンドを実行して、特定のリージョンのすべてのゾーンを一覧表示します。
gcloud compute zones list | grep $MY_REGION
- リストの最初の列からゾーンを選択します。Google Cloud のゾーン名は、リージョン名の後にハイフンと英字が付加された形式になっています。
タスク 1 で最初の VM に使用したものと同じゾーンを選択しても、別のゾーンを選択してもかまいません。
- 次のコマンドを実行して、選択したゾーンを環境変数に設定します。
[ZONE]
は、選択したゾーンに置き換えます。
MY_ZONE=[ZONE]
- 次のコマンドを実行して、このゾーンをデフォルトのゾーンに設定します。
gcloud config set compute/zone $MY_ZONE
- 次のコマンドを実行して、VM の作成に使用する環境変数に名前を設定します。2 台目の VM は
second-vm
という名前にします。
MY_VMNAME=second-vm
- この新しい環境変数を使用して、このタスクで先ほど設定したデフォルト ゾーンに VM を作成し、VM 名を割り当てます。
gcloud compute instances create $MY_VMNAME \
--machine-type "e2-standard-2" \
--image-project "debian-cloud" \
--image-family "debian-11" \
--subnet "default"
- プロジェクト内の仮想マシン インスタンスを一覧表示します。
gcloud compute instances list
新しく作成した仮想マシンと最初の仮想マシンの両方が一覧に表示されます。
-
Google Cloud コンソールのナビゲーション メニュー(
)で、[Compute Engine] > [VM インスタンス] をクリックします。gcloud compute instances list
の出力と同様に、作成した両方の仮想マシンが表示されます。
-
[外部 IP] 列を見てみましょう。最初に作成した VM の外部 IP アドレスがリンクとして表示されているはずです(必要に応じて、[情報パネルを非表示] ボタンをクリックして [外部 IP] 列を表示します)。この VM のファイアウォールは HTTP トラフィックを許可するように構成されているため、Google Cloud コンソールからリンクにアクセスできます。
-
最初に作成した VM の [外部 IP] 列にあるリンクをクリックします。ブラウザの新しいタブに「Connection refused」というメッセージが表示されます。このメッセージは、ファイアウォールで VM への HTTP トラフィック用のポートは開いているものの、そこでウェブサーバーが実行されていない場合に表示されます。開いたブラウザタブを閉じます。
注: 安全な接続がサポートされていないことを示すポップアップが表示された場合は、[サイトへ移動] をクリックして続行します。
gcloud コマンドラインを使用して 2 番目のサービス アカウントを作成する
- Cloud Shell で、次のコマンドを実行して新しいサービス アカウントを作成します。
gcloud iam service-accounts create test-service-account2 --display-name "test-service-account2"
注: 次のような出力が表示された場合、「Y」と入力して ENTER キーを押します。
API [iam.googleapis.com] not enabled on project [560255523887]. Would
you like to enable and retry (this will take a few minutes)? (y/N)?
- Google Cloud コンソールのナビゲーション メニュー(
)で、[IAM と管理] > [サービス アカウント] をクリックします。
注: test-service-account2 が表示されるまでページを更新します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
2 番目のバケット、VM インスタンス、IAM サービス アカウントを作成する
- Cloud Shell で次のコマンドを実行して、2 番目のサービス アカウントに
閲覧者
のロールを付与します。
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT --member serviceAccount:test-service-account2@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com --role roles/viewer
注: GOOGLE_CLOUD_PROJECT
は、Cloud Shell に自動的に入力される環境変数で、現在のプロジェクトの ID に設定されています。
-
Google Cloud コンソールのナビゲーション メニュー(
)で、[IAM と管理] > [IAM] をクリックします。
-
閲覧者
ロールのメンバーとして test-service-account2
という名前の新しいサービス アカウントが表示されます。
タスク 3. Cloud Shell で Cloud Storage を操作する
ファイルを Cloud Shell にダウンロードして Cloud Storage にコピーする
- Google 提供の Cloud Storage バケットから Cloud Shell に猫の写真をコピーします。
gcloud storage cp gs://cloud-training/ak8s/cat.jpg cat.jpg
- このファイルを先ほど作成した最初のバケットにコピーします。
gcloud storage cp cat.jpg gs://$MY_BUCKET_NAME_1
- 最初のバケットから 2 つ目のバケットにファイルをコピーします。
gcloud storage cp gs://$MY_BUCKET_NAME_1/cat.jpg gs://$MY_BUCKET_NAME_2/cat.jpg
- Google Cloud コンソールのナビゲーション メニュー(
)で、[Cloud Storage] > [バケット] をクリックし、作成した 2 つのバケットを選択して、どちらのバケットにも cat.jpg
ファイルが含まれていることを確認します。
Cloud Storage オブジェクトのアクセス制御リストを設定する
-
Cloud Storage バケットにアップロードしたときに cat.jpg
に割り当てられたデフォルトのアクセス制御リストを確認するには、次の 2 つのコマンドを実行します。
-
まず、Cloud Shell で次のコマンドを実行します。
gsutil acl get gs://$MY_BUCKET_NAME_1/cat.jpg > acl.txt
cat acl.txt
出力は次の例のようになります(数値は異なります)。この出力は、プロジェクトのオーナー
、編集者
、閲覧者
のロールを持つ全員にアクセス権があること(オーナーと編集者はオーナー
アクセス権、閲覧者は読み取り
アクセス権)を示しています。
[
{
"entity": "project-owners-560255523887",
"projectTeam": {
"projectNumber": "560255523887",
"team": "owners"
},
"role": "OWNER"
},
{
"entity": "project-editors-560255523887",
"projectTeam": {
"projectNumber": "560255523887",
"team": "editors"
},
"role": "OWNER"
},
{
"entity": "project-viewers-560255523887",
"projectTeam": {
"projectNumber": "560255523887",
"team": "viewers"
},
"role": "READER"
},
{
"email": "google12345678_student@qwiklabs.net",
"entity": "user-google12345678_student@qwiklabs.net",
"role": "OWNER"
}
]
- 次に、オブジェクトへのアクセス権を非公開に変更するには、次のコマンドを実行します。
gsutil acl set private gs://$MY_BUCKET_NAME_1/cat.jpg
-
cat.jpg
に割り当てられた新しいアクセス制御リスト(ACL)を確認するには、次の 2 つのコマンドを実行します。
gsutil acl get gs://$MY_BUCKET_NAME_1/cat.jpg > acl-2.txt
cat acl-2.txt
出力は次の例のようになります。
[
{
"email": "google12345678_student@qwiklabs.net",
"entity": "user-google12345678_student@qwiklabs.net",
"role": "OWNER"
}
]
これで、オブジェクトの最初の作成者(ご使用のラボアカウント)のみがオーナー
アクセス権を持つようになりました。
Cloud Shell でサービス アカウントとして認証する
- Cloud Shell で次のコマンドを実行して、現在の構成内容を表示します。
gcloud config list
出力は次の例のようになります。ゾーンには、タスク 2 で 2 番目の VM を作成したときに設定したゾーンが表示され、アカウントとプロジェクトには、Qwiklabs ラボの認証情報が表示されるはずです。
[component_manager]
disable_update_check = True
[compute]
gce_metadata_read_timeout_sec = 30
zone = {{{project_0.default_zone | "ZONE"}}}
[core]
account = google12345678_student@qwiklabs.net
disable_usage_reporting = False
project = qwiklabs-Google Cloud-1aeffbc5d0acb416
[metrics]
environment = devshell
Your active configuration is: [cloudshell-16441]
- Cloud Shell で次のコマンドを実行して、認証済みユーザーを最初のサービス アカウント(前のタスクで作成したもの)に変更します。その際、ローカルマシンにダウンロードしてから Cloud Shell にアップロードした認証情報(
credentials.json
)を使用します。
gcloud auth activate-service-account --key-file credentials.json
これで Cloud Shell が test-service-account
として認証されるようになります。
- このアクティブ アカウントを確認するには、次のコマンドを実行します。
gcloud config list
出力は次の例のようになります。アカウントが test-service-account
サービス アカウントに設定されていることを確認できます。
[component_manager]
disable_update_check = True
[compute]
gce_metadata_read_timeout_sec = 30
zone = {{{project_0.default_zone | "ZONE"}}}
[core]
account = test-service-account@qwiklabs-Google Cloud-1aeffbc5d0acb416.iam.gserviceaccount.com
disable_usage_reporting = False
project = qwiklabs-Google Cloud-1aeffbc5d0acb416
[metrics]
environment = devshell
Your active configuration is: [cloudshell-16441]
- 次のコマンドを実行して、Cloud Shell で認証済みアカウントの一覧を確認します。
gcloud auth list
出力は次の例のようになります。
Credentialed Accounts
ACTIVE:
ACCOUNT: student-03-5165fd82c14b@qwiklabs.net
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- 次のコマンドを実行して、現在のアカウント(
test-service-account
)では最初に作成したバケットの cat.jpg
ファイルにアクセスできなくなっていることを確認します。
gcloud storage cp gs://$MY_BUCKET_NAME_1/cat.jpg ./cat-copy.jpg
タスクの前半でこのファイルへのアクセス権を持つユーザーをオーナーに制限したため、出力は次の例のようになります。
出力
ERROR: (gcloud.storage.cp) HTTPError 403:
- 現在のアカウント(
test-service-account
)で、2 番目に作成したバケットの cat.jpg
ファイルにアクセスできることを確認します。
gcloud storage cp gs://$MY_BUCKET_NAME_2/cat.jpg ./cat-copy.jpg
このファイルへのアクセス権は制限されていないため、出力は次の例のようになります。
Copying gs://test-bucket-123/cat.jpg...
- [1 files][ 81.7 KiB/ 81.7 KiB]
Operation completed over 1 objects/81.7 KiB.
- ラボアカウントに切り替えるには、次のコマンドを実行します。[USERNAME] は、ラボの手順ページの左側にある [接続の詳細] ペインに表示されているユーザー名に置き換えてください。
gcloud config set account [USERNAME]
- 次のコマンドを実行し、[BUCKET_NAME] バケット(最初に作成したバケット)内の
cat.jpg
ファイルにアクセスできることを確認します。
gcloud storage cp gs://$MY_BUCKET_NAME_1/cat.jpg ./copy2-of-cat.jpg
出力は次の例のようになります。このラボアカウントは対象のバケットとオブジェクトの作成者であり、オブジェクト アクセス制御リスト(ACL)を非公開に変更したときもオーナー権限のままだったため、引き続きオブジェクトにアクセスできます。
Copying gs://test-bucket-123/cat.jpg...
- [1 files][ 81.7 KiB/ 81.7 KiB]
Operation completed over 1 objects/81.7 KiB.
- 認証されていないユーザーを含め、すべてのユーザーが最初の Cloud Storage バケットを読み取れるようにします。
gsutil iam ch allUsers:objectViewer gs://$MY_BUCKET_NAME_1
注: これは、Cloud Storage で公開サイトのコンテンツをホストする場合に適した設定です。
-
Cloud コンソールのナビゲーション メニュー(
)で、[Cloud Storage] > [バケット] をクリックします。
-
最初に作成した、名前がプロジェクト ID になっている Storage バケットを選択します。cat.jpg
ファイルは
公開アクセスに設定されています。
-
[URL をコピー] をクリックしてリンクをコピーします。
-
シークレット モードの新しいブラウザタブを開き、コピーしたリンクをアドレスバーに貼り付けます。猫の画像が表示されます。このブラウザタブは開いたままにします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cloud Shell で Cloud Storage を操作する
タスク 4. Cloud Shell エディタの操作を確認する
このタスクでは、Cloud Shell コードエディタを使用してさまざまな操作を確認していきます。
Cloud Shell エディタを開く
-
Cloud Shell で、「エディタを開く」アイコン(
)をクリックします。
-
Cloud Shell エディタで、[File] > [Open Folder] をクリックします。

- [OK] をクリックします。
フォルダが開き、左側のペインにファイルとディレクトリの一覧が表示されます。
- [ターミナルを開く] をクリックし、Cloud Shell で次のコマンドを実行して
git
リポジトリのクローンを作成します。
git clone https://github.com/googlecodelabs/orchestrate-with-kubernetes.git
Cloud Shell エディタ ウィンドウの左側のペインに orchestrate-with-kubernetes
フォルダが表示されます。
- Cloud Shell で、次のコマンドを実行してテスト ディレクトリを作成します。
mkdir test
Cloud Shell エディタ ウィンドウの左側のペインに test
フォルダが表示されます。
- Cloud Shell エディタで、
orchestrate-with-kubernetes
の左側にある矢印をクリックしてフォルダを展開します。

-
左側のペインで cleanup.sh
ファイルをクリックします。Cloud Shell エディタ ウィンドウの右側のペインにファイルが開きます。
-
cleanup.sh
ファイルの最後の行に次のテキストを追加します。
echo Finished cleanup!
注: 作業を保存するための操作は必要ありません。
- Cloud Shell で次のコマンドを実行してディレクトリを変更し、
cleanup.sh
の内容を表示します。
cd orchestrate-with-kubernetes
cat cleanup.sh
-
cat cleanup.sh
の出力に、追加したテキスト行が含まれていることを確認します。
-
Cloud Shell コードエディタで、orchestrate-with-kubernetes
フォルダを右クリックし、[New File] を選択します。
注: 「クリップボードにコピーしたテキストや画像へのアクセス」というポップアップが表示された場合は、[許可] をクリックします。
-
ファイルに「index.html」と名前を付けます。
-
[Save] をクリックします。
-
右側のペインに、次の HTML テキストを貼り付けます。
<html><head><title>Cat</title></head>
<body>
<h1>Cat</h1>
<img src="REPLACE_WITH_CAT_URL">
</body></html>
注: 貼り付けには、ローカルのパソコンのキーボード ショートカットを使用します。Mac の場合は command+V キー、Windows と Linux のマシンの場合は Ctrl+V キーです。
- 文字列
REPLACE_WITH_CAT_URL
は、前のタスクの猫の画像の URL に置き換えます。URL は次のようになります。
https://storage.googleapis.com/qwiklabs-Google Cloud-1aeffbc5d0acb416/cat.jpg
-
ナビゲーション メニュー(
)で、[Compute Engine] > [VM インスタンス] をクリックします。
-
first-vm の行で [SSH] ボタンをクリックします。
-
VM で開かれた SSH ログイン ウィンドウで、nginx
ウェブサーバーをインストールします。
sudo apt-get remove -y --purge man-db
sudo touch /var/lib/man-db/auto-update
sudo apt-get update
sudo apt-get install nginx
注: 処理が完了するまでに数分かかる場合があります。プロンプトが表示されたら「Y
」と入力して続行します。
- Cloud Shell ウィンドウで、Cloud Shell エディタを使用して作成した HTML ファイルを仮想マシンにコピーします。
gcloud compute scp index.html first-vm:index.nginx-debian.html --zone={{{project_0.default_zone | "ZONE"}}}
注: 既知のホストの一覧にホストキーを追加するかどうかの選択を求められたら、「Y」と入力します。
注: パスフレーズを入力するよう求められたら、Enter キーを押して空のパスフレーズで応答します。空のパスフレーズを確認するメッセージが表示されたら、Enter キーをもう一度押します。
- VM の SSH ログイン ウィンドウで、ホーム ディレクトリから
nginx
ウェブサーバーのドキュメント ルートに対象の HTML ファイルをコピーします。
sudo cp index.nginx-debian.html /var/www/html
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
nginx ウェブサーバーをインストールして、スタートページをカスタマイズする
-
ナビゲーション メニュー(
)で、[Compute Engine] > [VM インスタンス] をクリックします。
-
first-vm の [外部 IP] 列のリンクをクリックします。サイトが安全な接続をサポートしていないというメッセージが表示された場合は、[サイトへ移動] をクリックします。
新しいブラウザタブが開き、猫の画像を含むウェブページが表示されます。
ラボを終了する
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
- 星 1 つ = 非常に不満
- 星 2 つ = 不満
- 星 3 つ = どちらともいえない
- 星 4 つ = 満足
- 星 5 つ = 非常に満足
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。