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について記載予定です。