arrow_back

アプリ開発 - 開発環境のセットアップ: Python

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

アプリ開発 - 開発環境のセットアップ: Python

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

目標

このラボでは、Google Cloud 上に Python 開発環境をセットアップします。Compute Engine を使用して仮想マシン(VM)を作成し、ソフトウェア開発用にソフトウェア ライブラリをインストールします。

以下のタスクを行います。

  • Compute Engine インスタンスをプロビジョニングする
  • SSH を使用してインスタンスに接続する
  • インスタンスに Python ライブラリをインストールする
  • ソフトウェアのインストールを確認する

概要

Compute Engine は Google Cloud が提供するリソースの一つです。

Google Cloud

Google Cloud は、コンピュータやハードディスク ドライブなどの物理アセット一式と、VM などの仮想リソースで構成されています。これらは世界中にある Google のデータセンターで稼働しています。各データセンターのロケーションは世界各地のリージョン内にあります。リージョンには、米国中部、西ヨーロッパ、東アジアなどがあります。リージョンはゾーンの集まりで、各ゾーンはリージョン内で相互に分離されています。各ゾーンは、文字の識別子とリージョン名を組み合わせた名前で識別されます。たとえば、東アジアのリージョンのゾーン a は、asia-east1-a という名前になります。

このようにリソースが分散されていることで、障害時の冗長性や、クライアントの近くにリソースが配置されることによるレイテンシの削減など、さまざまなメリットがあります。また、分散されているリソースを一緒に使用するためのルールも適用できます。

プロジェクト

Google Cloud のリソースを割り当てて使用するには、リソースがプロジェクトに含まれている必要があります。プロジェクトとは、構築する対象をまとめて管理する 1 つの単位と考えることができます。プロジェクトは、設定や権限に加え、アプリケーションに関する情報を記述したその他のメタデータで構成されます。

同じプロジェクト内のリソースは簡単に連携できます。これは、リージョンとゾーンのルールに沿った内部ネットワーク通信などによって行われます。各プロジェクトに含まれるリソースは、他のプロジェクトからは分離されます。異なるプロジェクトのリソースを相互に接続するには、外部ネットワーク接続を利用する必要があります。

各 Google Cloud プロジェクトには以下のものが含まれます。

  • プロジェクト名(ユーザーが指定)。このラボで使用するプロジェクト名は、プロジェクト ID と同じです。
  • プロジェクト ID(ユーザーまたは Google Cloud が指定)。このラボで使用するプロジェクト ID は、ラボの開始時に提供される Google Cloud プロジェクト ID です。
  • プロジェクト番号(Google Cloud が指定)。

Google Cloud を使った操作では、コマンドラインや API 呼び出しでこれらの識別子を使用することがあります。Google Cloud コンソールを開いてログインすると、ダッシュボードにプロジェクトの情報が表示されます

プロジェクト名、プロジェクト ID、プロジェクト番号が表示されたダッシュボード

この例では、次のようになります。

フィールド
プロジェクト名 qwiklabs-gcp-gcpd-30d966efdb51
プロジェクト ID qwiklabs-gcp-gcpd-30d966efdb51
プロジェクト番号 734845473929

各プロジェクトには Google Cloud 全体で一意の ID が割り当てられます。プロジェクトは作成後に削除できますが、同じ ID が別のプロジェクトに再度使用されることはありません。

請求を有効にすると、各プロジェクトは 1 つの請求先アカウントに関連付けられます。リソースの使用については、複数のプロジェクトで同じアカウントに請求されるように設定できます。

プロジェクトは名前空間として機能します。これは、特定のプロジェクト内の各リソースが一意の名前を持つ必要があることを意味します。ただし、異なるプロジェクトに存在するリソースの名前は同じものにすることができます。一部のリソース名はグローバルに一意である必要があります。詳しくは、リソースのドキュメントをご確認ください。

このラボでは、Google Cloud 上で Compute Engine VM をプロビジョニングし、Python ソフトウェア開発用にソフトウェア ライブラリをインストールします。

サービスにアクセスする方法

Google Cloud では、3 つの方法でサービスやリソースにアクセスできます。

  1. Cloud コンソール: ウェブベースのグラフィカル ユーザー インターフェースを使用して Google Cloud のプロジェクトとリソースを管理できます。

  2. コマンドライン インターフェース:

    • Google Cloud SDK: gcloud コマンドライン ツールを使って、必要なコマンドにアクセスできます。
    • Cloud Shell: ブラウザベースのインタラクティブな Google Cloud 用シェル環境です。Cloud Shell には Cloud コンソールからアクセスできます。ターミナル ウィンドウで作業する場合は、Google Cloud SDK が提供する gcloud コマンドライン ツールを使用して、必要なコマンドにアクセスします。gcloud ツールを使用して開発ワークフローと Google Cloud リソースの両方を管理できます。使用できるコマンドの完全なリストについては、gcloud リファレンスをご確認ください。
  3. クライアント ライブラリ: Cloud SDK にはクライアント ライブラリが含まれています。これを使用すると、リソースを簡単に作成、管理できます。Google Cloud のクライアント ライブラリが公開している API を使用して、サービスやリソースの管理機能にアクセスできます。また、Google API クライアント ライブラリを使用して、Google マップ、Google ドライブ、YouTube などのプロダクトの API にアクセスできます。

設定と要件

ラボの設定

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

タスク 1. Compute Engine VM インスタンスを作成する

このセクションでは、Cloud コンソールを使用して、新しい Compute Engine(VM)インスタンスをプロビジョニングします。

仮想マシンを作成し、それに接続する

  1. コンソールで、ナビゲーション メニュー > [Compute Engine] > [VM インスタンス] の順にクリックします。

    ナビゲーション メニューが開かれていて、Compute Engine のサブメニューと VM インスタンスのオプションがハイライト表示されている

  2. [VM インスタンス] ダイアログで [インスタンスを作成] をクリックします。

  3. [インスタンスの作成] ダイアログで、次のフィールドを設定します。その他のフィールドはすべてデフォルト値のままにします。

  • 名前: 「dev-instance」と入力します。
  • リージョン: us-central1(アイオワ)
  • ゾーン: us-central1-a
注: Google Cloud では、リージョンと呼ばれる複数の異なる地理的なロケーションでプロダクトやサービスが提供されます。 各リージョンには複数の異なるゾーンがあります。各ゾーンの電力とインターネット接続は、他のゾーンから分離されています。
  • [ブートディスク] セクションで [変更] をクリックし、[Debian GNU/Linux 11 (bullseye) x86/64] を選択して [選択] をクリックしします。
  • [アイデンティティと API へのアクセス] の [アクセス スコープ] で、[すべての Cloud API に完全アクセス権を許可] を選択します。
  • [ファイアウォール] で、[HTTP トラフィックを許可する] をオンにします。
  1. [作成] をクリックします。

VM がプロビジョニングされて起動するまでには 1 分ほどかかります。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクを正常に完了した場合、評価スコアが加算されます。

Compute Engine 仮想マシン インスタンスを作成する(ゾーン: us-central1-a)
  1. [VM インスタンス] ダイアログで [dev-instance] 行の [SSH] をクリックし、ブラウザでホストされる SSH セッションを起動します。ポップアップ ブロッカーを使用していると、2 回クリックする必要がある場合があります。
注: SSH 認証鍵の構成や管理は必要ありません。

VM インスタンスにソフトウェアをインストールする

  1. SSH セッションで、Debian パッケージのリストを更新します。
sudo apt-get update
  1. Git をインストールします。
sudo apt-get install git

プロンプトが表示されたら「Y」と入力し、追加のディスク容量を使用することに同意します。

  1. Python をインストールします。
sudo apt-get install python3-setuptools python3-dev build-essential

ここでも、プロンプトが表示されたら「Y」と入力し、追加のディスク容量を使用することに同意します。

  1. pip をインストールします。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3 get-pip.py

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが提供されます。

ソフトウェアをインストールし、VM インスタンスを構成する

タスク 2. VM を構成してアプリケーション ソフトウェアを実行する

このセクションでは、VM にインストールされたソフトウェアを確認し、サンプルコードをいくつか実行します。

Python のインストールを確認する

  1. SSH ウィンドウで、Python と pip のバージョンをチェックしてインストールを確認します。
python3 --version pip3 --version

インストールした Python と pip のバージョンが出力に示されます。

  1. クラス リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. 作業ディレクトリへのショートカットとしてソフトリンクを作成します。
ln -s ~/training-data-analyst/courses/developingapps/v1.3/python/devenv ~/devenv
  1. このラボのサンプル ファイルが含まれているディレクトリに移動します。
cd ~/devenv/
  1. シンプルなウェブサーバーを実行します。
sudo python3 server.py
  1. Cloud コンソールの VM インスタンスのリストに戻り(ナビゲーション メニュー > [Compute Engine] > [VM インスタンス])、dev-instance の [外部 IP アドレス] をクリックします。

外部 IP 35.225.28.129 がハイライト表示されている

ブラウザが開き、Python からの「Hello GCP dev!」というメッセージが表示されます。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。チェックが失敗した場合は、しばらく待ってからもう一度試してください。タスクを正常に完了した場合は、評価スコアが加算されます。

アプリケーション ソフトウェアを実行して成功のレスポンスを受け取る
  1. SSH ウィンドウに戻り、Ctrl+C キーを押してアプリケーションを停止します。
  2. Compute Engine VM インスタンスを列挙するために必要な Python パッケージをインストールします。
sudo pip3 install -r requirements.txt
  1. Cloud Shell でインスタンスを一覧表示します。下のコマンドを入力して、Compute Engine インスタンスを一覧表示するシンプルな Python アプリケーションを実行します。<PROJECT_ID> は実際の Google Cloud プロジェクト ID に置き換えます。<YOUR_VM_ZONE> には VM の作成時に指定したリージョンを入力します。これらの値は、コンソールの [VM インスタンス] ダイアログで確認できます。
python3 list-gce-instances.py <PROJECT_ID> --zone=<YOUR_VM_ZONE>

SSH ターミナル ウィンドウにインスタンス名が表示されます。

出力例:

qwiklabs-gcp-00-034bd0a24a62 and zone us-centrall-a: - dev-instance

理解度チェック

今回のラボで学習した内容の理解を深めるために、以下の多岐選択問題を用意しました。正解を目指して頑張ってください。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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