GCP
やったー Google Cloud の主催する Google Cloud Innovators Gym Japan (G.I.G) というプログラムに参加して取りました。 Google Cloud を利用する企業を対象とした招待制のプログラムで、参加すると関連する Coursera コースへのアクセス、試験を受けるため…
GCP 版 Dataform がついに GA になりましたね。同時に定期実行の仕組みも出て、一通りの機能が揃った感がある。いまこそ買収以前の SaaS 版(Legacy 版)から GCP 版に移行する時!! しかし GitHub リポジトリと連携する場合、登場人物が多くて難しくなっている…
Google Cloud で何かアプリケーションを動かしたい時、いつも App Engine (GAE) を第一の選択肢として挙げています。 なのにみ〜んな Cloud Run に行ってしまう。なぜなのか?? 確かに Cloud Run のほうが新しくて公式に露出が多いし、GAE はこういうランディ…
Google Cloud で運用しているサービスの Cloud Storage 費用が10月の料金改定から爆増していた。 Cloud Storage 費用(オレンジ部分)が増加 料金改定のタイミングで Cloud Storage のマルチリージョンからマルチリージョン内のリージョンへの転送費用が無料じ…
前回の記事では --project を毎回渡せという主張を展開していたけど切り替える話。 blog.pokutuna.com gcloud コマンドには構成を管理するサブコマンド gcloud config configurations がある。管理するプロジェクトが多くない場合は、カレントプロジェクトを…
gcloud CLI にカレントプロジェクトをなるべく持たせないようにして暮らしている。 gcloud はデフォルトでカレントプロジェクトのリソースを操作する。操作するプロジェクトが 1 つなら良いけど、仕事でも遊びでもいくつもの GCP プロジェクトを扱っているの…
メンバーやサービスアカウントの権限を考える際に、ロールの持つ権限を比較したいことがしばしばある。そういう時は gcloud と diff を使うことで比較できるという素朴なテク。 ロールと権限 ロール(role)は roles/{roleName}, roles/{service}.{roleName} …
来週 2022-03-17(木) の Google Cloud オンラインイベント 16:20- 『はてな広告配信システムのクラウドネイティブ化への道のり』で発表します。 データセンター環境で運用していた広告配信システムを GCP へ移転する話です。 派手なメッセージな感じではなく…
公式ドキュメントで説明されているけど、同僚に何度か説明する機会があったり、作る必要のないサービスアカウントキーを目にすることも多いのでまとめておく。 認証情報が登場しないアプリケーションコード 例えば以下のコードで Secret Manager に保存した…
追記: 2022-10 移行、無料条件が変わったので Artifact Registry を使うのがよいです blog.pokutuna.com GKE Autopilot に移行してみたところ、意外と費用がかかっていた。 調べたところ、Cloud Storage の egress が支配的で、GCR からのコンテナイメージ転…
タイトルままの話。 GCP では各プロダクトで出力したログが Cloud Logging に集約されて、横断的に見たり検索したりできて大変便利。フィルタして BigQuery に流し込めるのも最高オブ最高。仕事が楽になるっていうのはこういうことやで。 ただ、プロダクトご…
GAE 便利さに気づいてからめちゃくちゃ気に入っている。 最近開発が活発な Cloud Run や、Firebase のバックエンド実行環境でもある Cloud Functions が話題に登りがちだけど、2nd gen になってからの GAE はめちゃめちゃいいです。 トラフィック分割などの…
App Engine や Cloud Function や Firebase プロジェクトのデプロイ時などでしばしばやる。 TypeScirpt などトランスパイルが必要な言語をデプロイする際に、実行に必要ないファイルをたくさんアップロードしていることがある。 .gcloudignore で全部 ignore…
Scheduling queries または Scheduled queries と呼ばれているもの、日本語だといまいちしっくりこない名前。定期的にクエリを実行して結果を宛先テーブルへ書き込んでくれる。メールで通知したり Pub/Sub イベントを投げたりもできる。 クエリのスケジュー…
または Cloud Functions で httpRequest ログを書く方法。 Cloud Logging (もう Stackdriver ブランドなくなりましたね)の好きな機能に、リクエスト内のログをまとめて表示する機能がある。アプリケーション内での一連のログをまとめて追えてとても便利。 me…
タイトルそのまま 以下のように Cloud Functions をデプロイすることで、トピックへメッセージが来るたびに function を起動してくれる。 $ gcloud functions deploy --trigger-topic=TOPIC_NAME 裏では gcf-{function}-{topic} という設定のサブスクプショ…
Cloud Functions でしばしば見るエラー、Firebase Functions も中身は同じなので起きる。 なにやらちゃんと動いていないぞ... と Stackdriver Logging を見にいくと、こういうエラーメッセージが書かれている。 Error: Could not load the default credentia…
Firestore または Datastore の中身を柔軟に検索したい場合、エクスポートしたデータを BigQuery へロードすることで実現できる。 コンソール上に UI も提供されていて簡単だけど、パーティショニング選択肢が "取り込み時間" しかない。 コンソール上のパー…
Google Cloud Buildにおいて、 ビルドステップの順序の構成 | Cloud Build のドキュメント | Google Cloud waitFor の値が指定されない場合、ビルドステップは、ビルド リクエスト内の先行するすべてのビルドステップが正常に完了するまで待機した後に実行さ…
このまえ Nature Remo を買ったので作った、似たようなことは既に誰もがやっているけど 構成 Cloud Scheduler -> Cloud Pub/Sub -> Cloud Functions Cloud Scheduler が定期的(ここでは5分おき)に Pub/Sub へメッセージを投げる Pub/Sub を Subscribe した C…