arrow_back

アプリ開発: 開発環境の設定 - Python

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

アプリ開発: 開発環境の設定 - Python

ラボ 50分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP183

Google Cloud セルフペース ラボ

概要

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

目標

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

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

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

Google Cloud

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

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

プロジェクト

Google Cloud のリソースを割り当てて使用するには、リソースがプロジェクトに含まれている必要があります。プロジェクトとは、構築する対象をまとめて管理する 1 つの単位と考えることができます。

プロジェクトは、設定や権限に加え、アプリケーションに関する情報を記述したその他のメタデータで構成されます。

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

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

  • プロジェクト名(ユーザーが指定)
  • プロジェクト ID(ユーザーまたは Google Cloud が指定)
  • プロジェクト番号(Google Cloud が指定)

Google Cloud を使った操作では、コマンドラインや API 呼び出しでこれらの識別子を使用することがあります。次のスクリーンショットには、プロジェクトの名前、ID、番号が表示されています。

Cloud コンソールにプロジェクト ID と名前が表示されます

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

  • [Example Project] はプロジェクト名です。
  • [example-id] はプロジェクト ID です。
  • [123456789012] はプロジェクト番号です。

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

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

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

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

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

Google Cloud は、サービスやリソースを操作するための 3 つの基本的な方法を提供しています。

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

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

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

設定

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

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、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 のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

タスク 1. Compute Engine 仮想マシン インスタンスを作成する

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

VM を作成して接続する

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

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

  2. [VM インスタンス] ページで [インスタンスを作成] をクリックします。

  3. [インスタンスの作成] ページで、[名前] に「dev-instance」と入力し、[リージョン] で []、[ゾーン] で [] を選択します。

注: リージョンとゾーンのドキュメントをご覧ください。

Google Cloud では、リージョンと呼ばれる複数の異なる地理的なロケーションでプロダクトやサービスが提供されます。 各リージョンには複数の異なるゾーンがあります。各ゾーンの電力とインターネット接続は、他のゾーンから分離されています。
  1. [マシンの構成] セクションで、[シリーズ] として [E2] を選択します。
  2. [ID と API へのアクセス] で、[すべての Cloud API に完全アクセス権を許可] を選択します。
  3. [ファイアウォール] で、[HTTP トラフィックを許可する] を有効にします。
  4. 残りの設定はデフォルトのままにして、[作成] をクリックします。
注: 仮想マシンがプロビジョニングされて起動されるまでに約 20 秒かかります。

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

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

Compute Engine VM インスタンスを作成する
  1. [VM インスタンス] ページで、[dev-instance] 行の [SSH] をクリックします。

これにより、ブラウザでホストされる SSH セッションが起動されます。ポップアップ ブロッカーを使用していると、2 回クリックする必要がある場合があります。

SSH 認証鍵の構成や管理は必要ありません。

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

  1. SSH セッションで Debian パッケージのリストを更新するには、次のコマンドを実行します。

    sudo apt-get update
  2. Git をインストールするには、次のコマンドを実行します。

    sudo apt-get install git

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

  3. Python をインストールするには、次のコマンドを実行します。

    sudo apt-get install python3-setuptools python3-dev build-essential

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

  4. pip をインストールするには、次のコマンドを実行します。

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3 get-pip.py --break-system-packages

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

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

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

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

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

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

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

    python3 --version pip3 --version

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

  2. クラス リポジトリのクローンを作成します。

    git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  3. 作業ディレクトリを変更します。

    cd ~/training-data-analyst/courses/developingapps/python/devenv/
  4. シンプルなウェブサーバーを実行します。

    sudo python3 server.py
  5. Cloud コンソールの VM インスタンスのリストに戻り(ナビゲーション メニュー > [Compute Engine] > [VM インスタンス])、dev-instance の [外部 IP アドレス] をクリックします。

    外部 IP「35.184.33.34」がハイライト表示された [インスタンス] タブ

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

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

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

アプリケーション ソフトウェアを実行して成功のレスポンスを受け取る
  1. SSH ウィンドウに戻り、Ctrl+C キーを押してアプリケーションを停止します。

  2. Compute Engine VM インスタンスを列挙するために必要な Python パッケージをインストールします。

    sudo pip3 install -r requirements.txt --break-system-packages
  3. Cloud Shell でインスタンスを一覧表示します。下のコマンドを入力して、Compute Engine インスタンスを一覧表示するシンプルな Python アプリケーションを実行します。<PROJECT_ID> を実際のプロジェクト ID に置き換えます。<YOUR_VM_ZONE> は、VM の作成時に指定したリージョンです。これらの値は、コンソールの [VM インスタンス] ページで確認できます。

    プロジェクト ID「qwiklabs-gcp-bcdd9ef8f952」とリージョン「us-central1-a」が表示された Cloud コンソール

    python3 list-gce-instances.py <PROJECT_ID> --zone=<YOUR_VM_ZONE>

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

    出力例:

    Instance in project qwiklabs-gcp-04-bcdd9ef8f952 and zone "{{{project_0.default_zone|ZONE}}}": - dev-instance

理解度チェック

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

お疲れさまでした

これで、セルフペース ラボ「アプリ開発 - 開発環境のセットアップ - Python」は終了です。Google Cloud 上に Python 開発環境をセットアップできました。

次のステップと詳細情報

Google Cloud でのアプリケーション開発Google Cloud での Python についての詳細をご確認ください。

マニュアルの最終更新日: 2024 年 4 月 5 日

ラボの最終テスト日: 2024 年 4 月 5 日

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

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

We will notify you via email when it becomes available

ありがとうございます。

We will contact you via email if it becomes available