2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GCPのサービス「Cloud Functions」のクイックスタートチュートリアルをやってみた

Last updated at Posted at 2021-07-02

GCPのサービス Cloud functions のクイックスタートチュートリアルをやってみました。

対象

  • Cloud Functions について概要をさらっと確認したい方
  • GCPのサービスに興味のある方

環境

  • GCP

Cloud Functions について

Cloud Functions は サーバーレス環境で関数を実行できるサービスです。
AWSでは、AWS Lambda でしょうか。

Cloud Functions の利用方法

Cloud Functions には 3つの利用方法があります。
https://cloud.google.com/docs/overview?hl=ja#ways_to_interact_with_the_services

  1. Cloud Console
  2. gcloud コマンドライン インターフェース
  3. SDK クライアント ライブラリ

Cloud Console から Cloud Functions を作成する

今回は、Cloud Console から Cloud Functions を作成します。

Cloud Console の Cloud Functions の概要ページに移動

GCPプロジェクトを作成

GCPのリソース管理画面からプロジェクトの作成を行います。
リソース管理

プロジェクトを作成を選択。
スクリーンショット 2021-07-01 9.09.41.png

プロジェクト名を入力して作成を押下。
スクリーンショット 2021-07-01 9.24.52.png

プロジェクトが作成されたら、作成されたプロジェクトを選択しておきます。

関数の作成

左メニューから「Clous Functions」を選択します。
スクリーンショット 2021-07-01 19.52.52.png

関数を作成を押下。
スクリーンショット 2021-07-01 19.53.07.png

作成する関数の設定画面が表示されます。
スクリーンショット 2021-07-01 20.32.22.png

認証を「未承認の呼び出しを許可」を選択して保存を押下。
スクリーンショット 2021-07-01 20.32.43.png

設定の確認画面が表示されます。次へを押下。
スクリーンショット 2021-07-01 20.40.42.png

関数のデプロイ

デプロイでは、関数のソースコードを含むアーカイブが Google Cloud Storage バケットにアップロードされます。ソースコードがアップロードされると、Cloud Build は自動的にコードをコンテナ イメージに構築し、そのイメージを Container Registry に push します。Cloud Functions はこのイメージを使用して、関数を実行するコンテナを作成します。

前段で作成した関数をデプロイします。

画面にインラインエディタが表示されてサンプルのコードが表示されます。
ランタイムはデフォルトの Node.js 14、ソースコードはインラインエディタが選択されています。
今回はそのままの設定でデプロイします。
スクリーンショット 2021-07-01 20.41.31.png

Cloud Build API の有効化

Cloud Functionsで作成した関数をデプロイするには、Cloud Build を利用します。
APIを有効にするを押下します。

Cloud Build API が有効化されます。
スクリーンショット 2021-07-01 21.02.58.png

再びCloud Functionsの画面に戻り、デプロイを押下します。
スクリーンショット 2021-07-01 21.03.38.png

デプロイの実行

Cloud Functuinsで作成した関数は、Cloud Build APIを利用してビルドされて、コンテナイメージとして作成されます。
https://cloud.google.com/build/docs/deploying-builds/deploy-functions?hl=ja

デプロイ画面に遷移します。
スピナーが緑に変わったらデプロイが成功です。
スクリーンショット 2021-07-01 21.06.05.png

関数のテスト

デプロイ画面の右の操作メニューから、関数をテストを選択します。
スクリーンショット 2021-07-01 21.07.54.png

関数のテスト画面が表示されます。「トリガーとなるイベント」は空のまま、「関数をテストする」を押下します。
スクリーンショット 2021-07-01 21.08.23.png

出力フィールドに「Hello World!」を出力結果が表示されて、完了が表示されます。
スクリーンショット 2021-07-01 21.14.52.png

ログの確認

ログ画面にてログを確認します。ステータスコード200が表示されていれば成功です。
スクリーンショット 2021-07-01 21.16.00.png

生成されたリソースの確認

Cloud Functions は Cloud Build を利用してデプロイされます。
GCPのサービスにファイル等が作成されるので確認してみます。

Cloud Storage

メニューからCloud Strageを選択します。

バケット一覧が表示されます。
スクリーンショット 2021-07-02 8.07.39.png

バケットを選択します。
スクリーンショット 2021-07-02 8.08.09.png

Cloud Functions で作成したソースコードのZipがアップロードされていることが確認できます。
スクリーンショット 2021-07-02 8.08.25.png

Cloud Build の確認

Cloud Build の画面で、Cloud Functionsを作成したリージョンを選択します。
スクリーンショット 2021-07-02 8.18.24.png

ビルドリソースを選択すると、ビルドの概要を確認できます。
スクリーンショット 2021-07-02 8.21.45.png

Container Registry の確認

Cloud Build で生成されたコンテナイメージは、Container Registry に保存されます。

メニューからContainer Registryを選択します。
スクリーンショット 2021-07-02 8.37.40.png

Dockerイメージが確認できます。
スクリーンショット 2021-07-02 8.38.18.png

Cloud Functions の削除

Cloud Functions の作成で作ったリソースを削除します。

削除方法は、プロジェクトを削除する方法と関数を生成した際に生成されるリソースを削除していく方法があります。

今回はリソースを1つづつ削除していきます。

Cloud Functions の削除

関数を削除すると、同時に Container Registry にコンテナイメージも削除されます。

Cloud Functions の関数一覧で、削除対象にチェックを入れて、削除を選択します。
スクリーンショット 2021-07-02 8.52.29.png

削除確認で削除を選択すると、関数が削除されます。
スクリーンショット 2021-07-02 8.53.45.png

Cloud Storage の削除

Cloud Buildメニューからビルドリソースの一覧を表示します。
リージョンを選択して、ビルドファイルのストレージリンクを選択します。
スクリーンショット 2021-07-02 8.59.18.png

Cloud Storageのオブジェクト 詳細が表示されます。削除を選択します。
スクリーンショット 2021-07-02 9.00.20.png

削除確認画面が表示されるので、削除を選択します。
スクリーンショット 2021-07-02 9.02.10.png

以上でチュートリアルは終わりです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?