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

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

GCP

gcloud コマンドの統計情報の設定を変更する

gcloud コマンドを gcloud components update コマンドを実行しようとした際に、 統計情報のoptinをうっかり Y してしまったので、無効化するコマンドを調べた。 gcloud コマンドの統計情報の取得を有効化/無効化するコマンド コマンド自体は gcloud config …

GCPのIAMのプリンシパルって?

GCP

GCPのIAMのドキュメントにたびたび存在する プリンシパル 。 雰囲気では理解していたのだけど、実際にGCPのドキュメントでは同定義されているのか。 ドキュメントを見ると... 以下のように記述されています。 このアクセス管理モデルは、次の 3 つの主要な部…

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

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

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

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

GAEの固有ヘッダー

GAE を利用していると、GAE の LB が固有のヘッダーを色々つけてきます。 GAE 固有のヘッダー 固有のヘッダーについてのドキュメントはこちら。 cloud.google.com X-Appengine-Country , X-Appengine-Region など様々なヘッダーがあります。 GAE を External…

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

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

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

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

GCP のコンテナスキャンで猛烈に課金されていたので停止する

GCP のコンテナスキャン、便利な機能ですが、ひたすらコンテナを GCR/Articact Registry に push したり、 GAE のデプロイを大量に行っていると課金でびっくりすることもあるかと思います。 停止するためには、GCR か Artifact Redistry の settings から Sc…

Go で Spanner とよろしくやるためにガチャガチャやっている話

この記事は Go Advent Calendar 2020 14日目 の記事です。 みなさん Go してますか? Spanner も触ってますか? 最近やっと部分的に本番環境で Spanner を利用し始めました。 Spanner のスキーマなどを git で管理しつつ、チーム内でレビューなどをしつつ運…

GCP の DNS を yaml ファイルを利用して管理する

GCP の DNS を利用する場合、Web UI や コマンドでレコードをポチポチ投入するの大変ですよね。 今回は Cloud DNS のレコードをまるごと yaml で管理し、 export/import する方法を書いてみます。 必要なもの 試す際に Google Cloud SDK(gcloud) のインスト…

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

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

Spanner で NOT Nullのカラムを追加したい

Spanner は RDB のようにかっちりとスキーマを定義する DB なので、 Datastore などのように、プロパティをふわっと追加してデータ投入などできません。 RDB と同じように DDL を利用してカラム追加して利用しますが、 NOT NULL のカラムの追加ができないと…

Spanner のスキーマ管理をする wrench を試してみた

先日 Spanner のスキーマ管理ツール hammer を利用した ブログ を書きましたが、 Cloud Spanner Echosystem から wrench というツールが提供されていることに気づきました。 hammer 最近更新されてないのかな(?)、と思いながら試していたところもあるので、…

Spanner の DDL (スキーマ)管理を行う hammer を試してみた

Datastore を利用していたときにはスキーマがあってなかったようなものなので、基本的にはエンティティの定義 ≒ スキーマみたいなところがあったが、Spannerは正統派RDB的な振る舞いをするので、 DDL によってスキーマを定義します。 スキーマの設計自体を D…

Google Cloud Japan イベントアーカイブ(オンラインイベントのアーカイブ一覧ページ)ができたっぽい

最近は GCP 関連のイベントもほとんどがオンラインになりましたね。 興味ありそうな内容のイベントがあっても気づけなかったり、知っていても調べるのが大変、というのがあったと思いますが、公式にイベントアーカイブページが公開されていました。 Google C…

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 で VPC 経由で Memorystore(Redis) に接続確認してみる

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