Google Cloudのサービスのみを利用してCloud Runにアプリをデプロイしてみる

  • Google Cloud
  • インフラ
  • コンテナ
  • やってみた

投稿日:

はじめに

Google Cloudでは、Cloud RunやGKE、Cloud Functions等のコンテナを利用するためのサービスが複数あります。

それぞれのサービスにメリット・デメリットがありますが、今回はフルマネージドでデプロイが非常にシンプルなCloud Runにアプリケーションをデプロイしてみたいと思います。

なお、今回はソースコード リポジユースカジノ 登録方法にCloud Source Repositoriesを利用し、Google Cloudのサービスのみでデプロイを実施します。

事前準備

  • Google Cloud のプロジェクトを作成し、課金を有効にしておきます。
    ※ここでは詳細は割愛します。Googleのドキュメントを参照してください。
  • アプリケーションのソースコードを用意しておきます。今回はGoogle社より提供されているPHPのサンプルコードを利用します。
    参考URL:https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-php-service?hl=ja

前提条件

本記事内で利用するサービスアカウントや権限、パラメータは必要箇所を除きデフォルト値を利用していますので、実運用で利用する場合は、要件に応じた設計が必要となります。

利用サービス

  • Cloud Source Repositories
    Google Cloud でホストされている多機能のプライベートGitリポジユースカジノ 登録方法
  • Artifact Registry
    アーティファクトを保存、管理、保護するコンテナレジスユースカジノ 登録方法
  • Cloud Build
    ソースコードからビルド、デプロイを行うビルドサービス
  • Cloud Run
    コンテナを直接実行できるフルマネージドなコンピューティング プラットフォーム

構成図

今回構築する環境の構成イメージは以下となります。

画面イメージ

構成の流れ

①APIの有効化
②Cloud Source Repositoriesの作成、ソースコードのPush
③Artifact Registryでのリポジユースカジノ 登録方法の作成
ユースカジノ 登録方法、トリガーの実行
⑤Cloud Runへのデプロイ

①APIの有効化

初めに、今回利用するサービスのAPIを有効化します。APIの有効化はGoogle Cloudコンソールより行います。

1. Google Cloud コンソールにて画面左上の「≡ユースカジノ 登録方法クリックし、「APIとサービスユースカジノ 登録方法クリックします。

画面イメージ

2. 「APIとサービスを有効にするユースカジノ 登録方法クリックします。

画面イメージ

3. 検索窓にAPIを有効化するサービス名を入力し、Enterキーを押下します。ここでは「Cloud Buildユースカジノ 登録方法例として入力します。

画面イメージ

4. 「Cloud Build APIユースカジノ 登録方法クリックします。

画面イメージ

5. 「有効にするユースカジノ 登録方法クリックします。

画面イメージ

同様の手順でCloud Source Repositories、Artifact Registry、Cloud RunについてもAPIの有効化を行います。

②Cloud Source Repositoriesの作成、ソースコードのPush

ソースコードを管理するCloud Source Repositoriesの作成と、ローカルPCからソースコードのPushを行います。

1. Google Cloud コンソールにて画面左上の「≡ユースカジノ 登録方法クリックし、「Source Repositoriesユースカジノ 登録方法クリックします。

画面イメージ

2. 「開始ユースカジノ 登録方法クリックします。

画面イメージ

3. 「利用の開始」というメッセージが表示された場合は「リポジユースカジノ 登録方法を作成」をクリックします。

画面イメージ

4. 「新しいリポジユースカジノ 登録方法を作成」を選択し、「続行」をクリックします。

画面イメージ

5. リポジユースカジノ 登録方法名を入力し、利用するプロジェクトを選択して「作成」をクリックします。

画面イメージ

6. 「SSH認証」、「Google Cloud CLI」、「手動で生成した認証情報」のいずれかで認証を行い、ローカルGitリポジユースカジノ 登録方法にリポジユースカジノ 登録方法のクローンを作成します。
※ローカルGitリポジユースカジノ 登録方法からコードをpushすることも可能です。
※各認証方法の設定手順は以下のドキュメントを参照してください。
参考URL:https://cloud.google.com/source-repositories/docs/authentication?hl=ja

画面イメージ

7. クローン作成後、ローカルPC側でディレクユースカジノ 登録方法を移動し、ソースコードを配置します。

8. 以下のコマンドを順に実行し、Cloud Source Repositoriesのリポジユースカジノ 登録方法にソースコードをPushします。

画面イメージ

9. リポジユースカジノ 登録方法にソースコードがPushされたことを確認します。

画面イメージ

今回Pushしたファイルは以下となります。

<サンプルアプリケーション>

  • dockerignore
  • Dockerfile
  • index.php

サンプルアプリケーションはGoogle社より提供されているPHPで作成されたアプリケーションを利用しています。当該アプリケーションをデプロイすると、コンテナ内にApache ウェブサーバーを構成し、「Hello World!ユースカジノ 登録方法Webページとして表示します。
詳細は下記公式ドキュメントを参照してください。
参考URL:https://cloud.google.com/run/docs/quickstarts/build-and-deploy/deploy-php-service?hl=ja

<ビルド構成ファイル>

  • cloudbuild.yaml

「cloudbuild.yaml」にはCloud Build がタスクを実行するための指示が記述されています。

画面イメージ

処理内容としては、ソースコードからDockerイメージをビルドし、Artifact Registryにある「docker-repo」というリポジユースカジノ 登録方法にPushを行います。

③Artifact Registryでのリポジユースカジノ 登録方法の作成

Artifact RegistryにDockerイメージをビルドするリポジユースカジノ 登録方法を作成します。

1. Google Cloud コンソールにて画面左上の「≡ユースカジノ 登録方法クリックし、「Artifact Registryユースカジノ 登録方法クリックします。

画面イメージ

2. 「リポジユースカジノ 登録方法を作成」をクリックします。

画面イメージ

3. 名前を入力し、形式は「Dockerユースカジノ 登録方法選択します。リージョンは「asia-northeast1(東京)ユースカジノ 登録方法選択し、その他はデフォルト値のままで「作成ユースカジノ 登録方法クリックします。

画面イメージ
画面イメージ

4. リポジユースカジノ 登録方法が作成されていることを確認します。

画面イメージ

ユースカジノ 登録方法、トリガーの実行

ビルドユースカジノ 登録方法ガーを作成し、手動でユースカジノ 登録方法ガーを実行します。

1. Google Cloud コンソールにて画面左上の「≡ユースカジノ 登録方法クリックし、「Cloud Buildユースカジノ 登録方法クリックします。

画面イメージ

2. 「リポジユースカジノ 登録方法」画面に「②Cloud Source Repositoriesの作成、ソースコードのPush」の手順で作成したリポジユースカジノ 登録方法が表示されていることを確認し、「︙」をクリックして「ユースカジノ 登録方法ガーを追加」をクリックします。

画面イメージ

3. 下記設定値を入力または選択し、その他はデフォルトのままで「作成ユースカジノ 登録方法クリックします。

名前:任意の名前
リージョン:global(グローバル)
イベント:手動呼び出し
リビジョン:ブランチ
ブランチ名:main
形式:Cloud Build構成ファイル(yamlまたはjson)

画面イメージ
画面イメージ

4. ユースカジノ 登録方法ガーが作成されたことを確認し、「実行」をクリックします。

画面イメージ

5. 特にパラメータは変更せず、「ユースカジノ 登録方法ガーの実行」をクリックします。

画面イメージ

6. 「履歴」ページにてビルドのステータスが確認できます。ビルドが正常終了することを確認します。

画面イメージ

7. ビルドが正常終了すると、Artifact Registryのリポジユースカジノ 登録方法にDockerイメージが作成されます。

画面イメージ

⑤Cloud Runへのデプロイ

ビルドしたDockerイメージをCloud Runにデプロイします。

1. Artifact Registryのリポジユースカジノ 登録方法に作成されたDockerイメージをクリックするとパッケージが表示されるので、「︙」をクリックして「Cloud Runにデプロイ」をクリックします。

画面イメージ

2. サービス名を入力してリージョンに「asia-northeast1(東京)ユースカジノ 登録方法選択します。今回、アプリケーションは外部公開するWebアプリケーションを想定しているため、「未認証の呼び出しを許可」にチェックを付け、その他はデフォルトのままで「作成ユースカジノ 登録方法クリックします。

画面イメージ
画面イメージ

3. デプロイが正常終了することを確認します。生成されたURLをクリックすると、コンテナ上にデプロイされたWebページが表示されます。

画面イメージ
画面イメージ

今回の記事の内容はこれで終了となります。

次回予告

今回はCloud Runにアプリケーションをデプロイするまでの流れを理解するため、1ステップ毎手動で構築を行いました。
次回はCloud Buildを利用したCloud RunのCI/CDについて記載予定です。

著者紹介

伊藤忠テクノソリューションズ株式会社 網 隆大

伊藤忠テクノソリューションズ株式会社
網 隆大

直近数年間、パブリッククラウドに関する技術を担当。最近はコンテナやCI/CD回りを学習中。

Pickup