寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

Cloud Run

CloudRun 上でgoで書かれたサービスを動かす場合の基本的なmainの書き方

ドキュメントとしてはここ cloud.google.com GitHubはここにある github.com 実際のコード import ( "context" "fmt" "log" "net/http" "os" "os/signal" "syscall" "time" ) // Create channel to listen for signals. var signalChan chan (os.Signal) = m…

GCP のメタサーバから Project ID を取得する(Cloud Runでも)

GCPでアプリケーションを動かす場合、Project ID のパラメータをプログラム内から利用したい場合があります。 環境変数で渡す、というのも方法として悪くないと思いますが、 GCP環境で動いている場合にはメタサーバからProject IDを取得することができます。…

Cloud Run 上でデフォルトで設定されている環境変数

Cloud Run (go) 上で設定されている環境変数、たびたび何が設定されていたっけ?と調べることが数回あったので、 忘れないようにメモしておくことにした。 設定されている環境変数 goの os.Environ を叩いて取得できるものは以下。 コンテナは gcloud run de…

Cloud Run のデプロイした最新のリビジョンにトラフィックを流さない方法

Cloud Run に新しいコンテナをデプロイした際、 新しいリビジョンにはトラフィックを流さずに一旦privateな状態でリビジョンで動作確認を行い、 トラフィックを流したい、という要望がありそうですが、そのやり方 (デプロイの際に最新リビジョンにトラフィ…

Cloud Run に別の Project の Container Registry/Artifact Registry からデプロイする方法

Cloud Run 使ってますかー? 例えば、本番環境とテスト環境など、 Project を分離した場合、どちらかの GCR などから両方の環境の Cloud Run にコンテナをデプロイしたくなることはあると思います。 一般的には単一のコンテナで(環境に合わせて build など…

GCP でアプリケーションのログや特定の値をいい感じに BigQuery にエクスポートしたい

アプリケーションを実装していて、ログをかっちり決めたカラムに挿入したい、や、 難しい API を利用せずに BQ に特定のデータを挿入したいという場合ありますよね。 普通にやると、BigQuery の API を経由し、ストリーミングインサートするなどちょっとひと…

Cloud Code (IntelliJ) を利用して、 Cloud Run にアプリケーションをデプロイする

タイトルの通り、IntelliJ 版の Cloud Code プラグインを利用して、 Cloud Run をデプロイすることを試してみます。 内容は こちら GCP ドキュメント をベースにしています。 事前に必要なこと GCP のプロジェクトの課金を有効にしておく必要があります。 ま…

Cloud Run で最新のリリースバージョンにトラフィックを流す

Cloud Run を利用する際、defaultではデプロイした新しいリビジョンに対してトラフィックが移行されるような振る舞いになっていると思います。GAE の gcloud app deploy コマンドで言う --promote オプション相当です。 ただ、Web の UI などから過去のリビ…

Cloud Run と GitHub を連携して、GitHub にコードをプッシュするだけでファイルをインターネットに公開できるように設定する

Cloud Run が GitHub と接続設定をするだけで、 GitHub 上に push したコードをデプロイ出来る仕組みが簡単に作れるので、静的ファイルを簡単にデプロイ出来るミニマムな方法になります。 GCSで公開やFirebase Hostingなど他にも公開するシンプルな方法はあ…

Cloud Run で VPC 経由で Memorystore(Redis) に接続確認してみる

待望の機能がBetaですが発表されましたね! 注意 : Cloud Run の VPC 接続は現在(2020/05/15)Betaです。 注意 : 以下、Cloud Runと読んでいるものはすべてフルマネージド版になります。 Cloud Run のようなサービスは Memorystore(Redis) に接続する際、 S…