とあるエンジニアの作業ブログ

GCP JavaScript クラウド

【備忘】Google Cloud Functionのへろわメモ

投稿日:

GCFのへろわメモ

仕事で初めてGoogle Cloud Functionを使うことになったのでへろわのメモ。

このサイトこのサイトを参考にした。

環境構築

  • gcloudコマンド使えるようにする。公式はこちら。install.shを実行したカレントにbinaryが置かれてパスが通るので、実行ディレクトリはちゃんと決めた方が良い
  • Deploy用のGCSバケット作成(任意のバケットにデプロイ可能)
  • NOde.js or Pythonの環境構築

関数ファイル作成

nodejsとかで実行用の関数ファイル作成。

Deployする

作成した関数ファイルのあるディレクトリで以下デプロイ用のコマンド実行。

引数説明

引数 説明
helloWorldApi 実行関数名称(GCFのWebUI側での表示名)。APIのエンドポイントになる
–entry-point 実行関数名(index.jsのexports.helloWorldの部分)
–runtime 実行ランタイム。今回はNodejsの12系
–trigger-http httpトリガで実行(=REST API)。他にもpub/subとかファイル作成・削除とかいろいろある

その他にもいろいろ重要なオプションがあるがそれは別途。

動作確認

権限設定

このままではあらゆる人から好き勝手にAPIが呼ばれる。
「Authentication」の欄に「未認証を許可」と出ている状態がそれ。

IAMでコールできる権限を正しく絞る必要がある。

クラウドファンクションで関数の詳細画面を開き、「権限」タブに遷移。
「allUser」に「Cloud Functionsの起動元」というロールが割り当たっていると思うので、これを適切な権限に変更する。
安全第一ならとりあえず削除しておけばOK。
ただしエンドポイントの隠蔽まではできないので、その辺は別途。

必要な権限の追加はこちらを参考に。

-GCP, JavaScript, クラウド
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

Cloud DataprepでExcelをBigQueryに定期取込みしようとしたけどできなかったはなし

GCPのCloud Dataprep by TrifactaでExcelデータをBQに取り込む試行錯誤をあれやこれやした時のメモ。 結局やりたかったことは実現できなかった。。。 目次 実現したいこと: …

【備忘】dockerグループに一般ユーザーを追加する

EC2のUbuntuにdockerをインストールすると、そのままだと、 Got permission denied while trying to connect to the Docker daem …

GulpでWordPressのCI 〜実装編〜

gulpを使ったWordPressのテーマファイルCIの実装編です。 設計編はこちらを参照ください。 目次 やりたいこと・動作環境・前提 やりたいこと・環境・バージョン ディレクトリ構成 利用モジュー …

【備忘】EC2に新規のキーペアで接続する

EC2に新規のキーペアで接続したとき時のメモ。 AWSコンソール:左側のナビゲーションペインの「ネットワーク & セキュリティ」の「キーペア」から新規キーペアを作成 クライアントPC:新規キ …

クラウドストレージ比較 〜Dropbox、iCloud、Adobe CC〜

Mac新調に伴い、ローカルストレージが256SSDになってしまったので、ローカル保存を極力排除しクラウドストレージへの移行を検討。 ざっくり必要な要件は以下。 メインマシンはMacだが、Windows …