マガジンのカバー画像

へっぽこ学習記録

186
運営しているクリエイター

#GCP

【GCS+Pub/Sub+K8s+CloudRun for Anthos】ファイルが追加されたらCloudRunのプログラムが動く仕組みを作るまとめ

【GCS+Pub/Sub+K8s+CloudRun for Anthos】ファイルが追加されたらCloudRunのプログラムが動く仕組みを作るまとめ

GCSにファイルが入る→GCSの更新を検知してPub/Subメッセージが飛ぶ→メッセージを受信した、K8s上に載せたCloudRunForAnthosアプリケーションが動く、という一連の仕組みをリリースするまでの全手順まとめ。長い闘いになるぞ。

ところで、なぜmanagedのCloudRunじゃなくてCloudRunForAnthosを使うのかmanagedはお高いので経費削減。それがすべて。「

もっとみる

【CloudRun for Anthos】Dockerfileの設定とソースの内容をちゃんと合わせる

デプロイしたアプリがちゃんと起動しなくて、どうもDockerfileの中身がちゃんとわかってないのがいけなかったっぽいので、ちゃんとしたいと思います。

# Use the official lightweight Python image.# https://hub.docker.com/_/pythonFROM python:3.10-slim# Allow statements and lo

もっとみる
【GCP+Python】CloudRun for Anthosにアプリをデプロイする

【GCP+Python】CloudRun for Anthosにアプリをデプロイする

ふつうのCloudRunは、CloudRunサービスにアプリだけぽーいってすれば動かせて簡単だけどお高いので、自分でKubernetes(GKE)を構築した上にCloudRunアプリを載っける、CloudRun for Anthosという仕組みを使ってアプリをデプロイします。

GKEを有効化してクラスタを作……らないここについては、今回はもう誰かがやってくれているところにデプロイするのですっ飛ば

もっとみる
【GCP】VM上にWebサーバーを構築する、その2

【GCP】VM上にWebサーバーを構築する、その2

VM借りてSQLサーバー設置した上に

Webサーバーも立てて

さてAPIをリリースしていきます。

ローカルでコードを書き書きする準備:
・プロジェクトフォルダ(yuccoとする)を作って、GitHubに公開しておく。
・プロジェクトフォルダ内に仮想環境を作っておく
・仮想環境フォルダを.gitignoreに登録してgitの管理から外しておく

# server.pyfrom flask im

もっとみる
【GCP】VM上にWebサーバーを構築する、その1

【GCP】VM上にWebサーバーを構築する、その1

とりあえず、Flask+Nginxを使ってwebサーバーを構築して、HTTPSアクセスを通すところまで。
世間にある記事の多くが、サーバーインストールして「はいデフォルトページ表示できたね、おーわりっ」で終わってしまって困ったので、そのサーバー上にAPIをgitHub経由でデプロイするところまでメモを残しておきます。

VMを用意するこの記事で用意したVMの上にWebサーバーも載っけます。

HT

もっとみる
【GCP】VM借りてそこにMySQLサーバーを立ててみる

【GCP】VM借りてそこにMySQLサーバーを立ててみる

という訳で挑戦していきます。

1・GCPプロジェクトを立てます立てます。今回は既に立ててあるプロジェクトを使います。

2・ComputeEngineAPIをオンにして、VMインスタンスを作成します。
インスタンスの作成ボタンはGUIを見ればどーんと書いてあるので簡単です。

インスタンスの設定がちょっと分かりづらいですが、とりあえず下記の設定で立ててみます。

OSをUbuntsにしたのは社内

もっとみる
GCP上に乗っかってるマイクロサービスの諸々の設定をちみちみ確認する

GCP上に乗っかってるマイクロサービスの諸々の設定をちみちみ確認する

「CloudStorageにファイルが入ったらー、Pub/Subが飛んでー、CloudRunが動いてー、それがまたPub/Sub飛ばしてー、API叩いてー……」みたいな構成になっている一連の処理が、ちゃんと思った通りの設定になっているか確認したい。でも、確認方法がサービスによって様々なので、いっこずつ彷徨う羽目になりました。

というわけで、主要なところのまとめ。

CloudStorageにファ

もっとみる

【BigQuery】標準SQLで日付処理をする

わたしへ。忘れてたでしょ。わたしより。

きも。・日付を扱うための型として、timestamp型と、datetime型がある。timestamp型は年-月-日-時-分-秒まで扱えるが、datetime型は日まで。混同しない。

・日付計算にはDATETIME_SUB(datetime('地域名'),INTERVAL n DAY)を使う

・TIMESTAMP(datetime,"地域名")で、da

もっとみる

【GCP+python】CloudRun上で、cloudstrageが変更された時に送られるPub/Subメッセージを受け取る

わたしへ。
夢中で実装したので今にも忘れそうです。
わたしより。

まず、「Pub/Subを受け取ったら起動する」ところまでの作り方はこっち参照↓
【GCP+Python3】CloudRunにPub/Subで起動するアプリを乗っけたい|yucco|note

CloudStorageが変更されたらPub/Subメッセージが送信される設定方法はこっち↓
【GCP】CloudStorageにファイルが

もっとみる

【GCP+python3】Pub/Subにメッセージをパプリッシュする

意外とpythonからパブリッシュするコード書いたことなかったので。

準備$ pip install --upgrade google-cloud-pubsub

結論from google.cloud import pubsub_v1import timeimport jsonclass pubsub_publisher(): def __init__(self): self.

もっとみる

【GCP】CloudStorageにファイルが入ったらPub/Subに通知をする設定の仕方

わたしへ
どうせまた公式ドキュメントの場所から忘れるんでしょう
わたしより

とにかくここを読め。Pub/Sub Notifications for Cloud Storage の使用法 | Google Cloud

準備・Pub/Subにトピック立てる権限とメッセージパブリッシュする権限を貰っておく
・監視するバケットに対するstorage.buckets.update 権限を貰っておく

もっとみる

【GCP+Python3】CloudRunにPub/Subで起動するアプリを乗っけたい

わたしへ。
どうせ忘れるでしょうから、まとめておきましたよ。
わたしより。

まず見るところはココクイックスタート

クイックスタート: ビルドとデプロイ | Cloud Run のドキュメント | Google Cloud

Pub/Subで起動するアプリの作り方

Cloud Run チュートリアルで Pub/Sub を使用する | Cloud Run のドキュメント | Go

もっとみる

【GCP+Python3】Pub/Subトリガーで起動するCloudFunctionの作り方

自分で作ったサンプルプログラムすぐ見失うから。

やりたいこと何かでPub/Subが飛んできたらCloudFunctionが動いて、飛んできたデータを加工して別のStorage等に保存する仕組みを作りたい。

結論import base64import registdef main(event, context): """Background Cloud Function to be trig

もっとみる

【GCP】CloudStorageからファイルをダウンロードする有効期限付きリンク(署名つきURL)を発行する

「GCSに放り込んだファイルのダウンロードURLが欲しいだけなのに」と丸一日ネットの海を彷徨ったので、記録を残しておきます

やりたいこと集計結果をCloudStorageへぽんぽん放り込んでおいて、それを他の人に見て貰いたいけど、いちいちアカウント取って貰ってユーザーの権限設定して……とかが面倒な時に、「こっからDLできっから!」ってURLを渡したい。
※当然ながら、くれぐれも秘匿性の高い情報に

もっとみる