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

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

GAE

GAEの固有ヘッダー

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

GAEのカスタムドメインのTLS1.0/1.1を無効化する

GAEでカスタムドメインを利用しており、TLS1.0/1.1 を無効化したいという人もいるかと思います。 今回はその流れをサラッと書いていこうと思います。 なぜ TLS1.0/1.1を無効化するのか 私の説明より こちら の素晴らしい記事を読むのが良さそうです。(手抜…

GAE/go のデプロイが遅くなったと思ったときに読む記事

タイトルの通り、GAEのデプロイにCloud Buildが裏側で利用されるようになり、 なにやらキャッシュとかうまいことやってくれようとしています。 しかし、そのキャッシュの作成なのか、展開なのか、若干その扱いが内部的にうまく行ってないようで、 デプロイを…

GAE/goの東京リージョンからServerless VPC Access経由でMemorystoreへのアクセスをベンチマークしてみる

つい先日、東京リージョンにも Serverless VPC Access がやってきたので、GAE/SEから Memorystore が利用できるようになりました。 Memorystoreは内部的にはRedisで、今までのGAE/SE 1st-genと呼ばれる環境ではmemcacheが提供されていましたが、2nd-genから…

goのプロファイラpprofを利用してパフォーマンスを計測する (GAE + ginもあり)

pprof とは Go言語のプロファイリングツール。 Web UIでフレームグラフや、関数の実行時間のグラフを見ることができる 通常のpprof利用方法 pprofの使い方として2つのパターンがあります。 runtime/pprof : ファイルにプロファイル情報を出力する net/http/…

今日 (2019/09/10) 現在のGAE/goをUPDATEする際の注意点、俺まとめ

Appengine/goが過渡期とでもいいましょうか、 日々変化も目まぐるしく、いろいろ気をつけるべき点もありそうなので雑にまとめました。 ご参考まで。(2019/09/10現在) GAE/go 1.9 は終わり 画像のとおりです。 警告: Go 1.9 ランタイム バージョンは非推奨…

GAE/go1.11 で Stackdriver Profiler を使ってみる

appengine go1.11以降でgoでもプロファイラが使えるようなので初期設定だけやってみます。 内容的にはほぼ こちら の内容です。 Stackdriver Profiler は何ができるの? Goの場合には、CPU、ヒープ、競合、スレッドに関するプロファイリングが可能です。 そ…

gcloud コマンドで TaskQueue(TQ)/Cloud Tasksを操作する

皆さんTQつかってますか。 ちゃんと使うとめちゃくちゃ便利なTQ(Cloud Tasks)ですが、コマンドでサクッと作ったり消したりしたい(特に消したい)というのがあったので記事にしました。 TQを作成する 以下のようなコマンドでTQを作成します。 gcloud --pro…

モノレポ(mono repository)内でgoのmoduleを相対パスで利用する方法

goの依存管理ツールはいろいろありますが、最新はGo Modules(mod)を利用することが多くなってきたと思います。 dep(vendor)を利用した依存解決の場合にはgopath配下にあればある程度柔軟に相対的に依存を解決できましたが、 modは普通に利用するとリポジトリ…

GAE(Appengine)のハンドラの例にある `_ah` ってなに?

こんにちは。chidakiyo です。 皆さんappengine使ってますか? _ahはどういうサンプルに出てくる? appengineのサンプルで、 ハンドラのパスに _ah というパスが含まれていることがあると思います。 例えば、warmupするための こちら の例を見てみましょう。…

Appengineで初回1回だけ実行したい(設定の初期化)ときはwarmupを利用する

Appengine (GAE) はリクエストのイベントでインスタンスが起動されるので、通常のアプリケーションを実装した際に初回1回だけ実行する処理というのが普通に実装するとなかなか難しい。 特にDB(Datastore)アクセスなどが必要な場合にはrequestが無いとappen…