# Infrastructure

EnvoyでgRPCのヘルスチェックをHTTP/2で公開する(GKE Ingress向け)

Posted 23. July 2023

Infrastructure #envoy #GKE #GCP #Kubernetes #gRPC

最近、GKE Ingressで立てたロードバランサーでgRPCサーバーを公開するようなことをやったのですが、思ったよりも面倒で大変だったので備忘録も兼ねて記事化しておこうと思います。

Table of Contents

背景

元々GKE上に構築したgRPCサーバーをgrpc-gatewayで公開していたのですが、それを直接公開することになりました(クライアント起因でHTTPにする必要があったが、その必要が無くなったため)。 ...


READ MORE

Time to read 5 min

特定Podのeventをリストアップするコマンド

Posted 30. March 2023

Infrastructure #Kubernetes #snippet

K8s podがdeleteされるときにReadiness probeが失敗する事象を調査していて、特定のpodのeventをリストアップする方法を探すのに少し手間取ったのでメモしておきます。

kubectl get events --sort-by .lastTimestamp --field-selector involvedObject.name={your-pod-name}

なお、ソートやフィルタリング条件を変えたい場合は、kubectl get events -o jsonでどんな構造でフィールド指定すれば良いか確認することができます。 ...


READ MORE

Time to read 1 min

ClusterInformation: connectionis unauthorized: Unauthorized でnodeのdrainがstuckしたときの対応

Posted 8. August 2022

Infrastructure #kubernetes #trouble-shooting #calico

小粒ですが地味に困ったのでメモしておきます。

Table of Contents

経緯

GKEのkubernetes clusterで、Node Poolの入れ替えを行いに際して旧ノードのdrainをしていたのですが、Podのevictで下記のような状態でstuckしてしまいました。 ...


READ MORE

Time to read 2 min

インターン生の研修環境をTerraformとcloud9でサクッと作った話

Posted 3. June 2021

Infrastructure #Terraform #AWS #cloud9

所属会社にて、内定者向けのインターン(っていうのか?)を開催することになり、急遽環境構築をすることになりました。

内容も結構本格的で、ほぼ実案件のソースを使ってバグ改修とか機能追加とかさせたいね ということでした。まあソースとかは一応持ち帰りで作ってる案件のソースもあるし、バグについても過去のバグチケットを漁れば良いな と。 ...


READ MORE

Time to read 3 min

Serverless,ECS(Fargate)自動デプロイ環境の構築

Posted 24. May 2021

Infrastructure #AWS #Terraform #Serverless #CICD #Lambda #Laravel

デプロイを自動化するのがMustになりつつありますが、なかなか完璧な自動デプロイ環境を作るのは難しいなーと感じています。

で、最近、所属会社の経営層へのプレゼンのネタとして、中途半端にデプロイ自動化しているプロジェクトを、全リソース自動デプロイ化したら面白いんじゃね?という点で色々検証してみましたので、それについての記事になります。 ...


READ MORE

Time to read 5 min

Lambdaのローカル開発環境とCI/CD構築(coverageも)

Posted 15. November 2020

Infrastructure #Rust #Github #TravisCI #Codecov #Lambda #AWS #rusoto

Lambdaをサクサク作りたい

最近実務でもプライベートでもLambdaを使う機会が多いのですが、毎回悩むのが開発環境とCI/CD。

ちょっとしたLambdaならブラウザコンソール上のエディタを使って作るとか、zipで固めるとかでいいんですけど、それなりに大きなLambda関数だとやっぱり ...


READ MORE

Time to read 12 min

Lambciとimg2lambdaとserverlessでLambdaのデプロイフローを構築する

Posted 2. September 2020

Infrastructure #AWS #Lambda #lambci #img2lambda #PHP #CustomRuntime #serverless

Lambdaのローカル環境

これまでLambdaを構築する際には、ソースコードを決め打ちで書いてzipで上げたり、コンソール上のエディタでポチポチ開発していたりしてました。

PythonとかNodejsとかなら、それでも簡単なAPIくらいなら作れるのですが、ちょっと複雑なことになったり、PHPみたいにCustom Runtimeを使いたい場合とかは、何度もデプロイし直してトライアンドエラーするのは効率が悪いです。 ...


READ MORE

Time to read 6 min

AWS CodeDeployのHookスクリプトでソースを弄りたいとき

Posted 11. February 2020

Infrastructure #AWS #CodeDeploy #Hook #Laravel #shellscript

Hookスクリプトの実行場所

CodeDeployでソースをデプロイするときには、appspec.ymlでソースと実行するHookスクリプトを指定する。

version: 0.0
os: linux
files:
  - source: src
    destination: /tmp/project_root
hooks:
  AfterInstall:
    - location: hook/deploy.sh
      timeout: 300
      runas: root

ここで実行されるdeploy.shは、/tmp/project_root/hook/deploy.sh ではなく、/opt/codedeploy-agent/deployment-root/deployment-group-id/deployment-id/deployment-archive/hook/deploy.sh になる。

...

READ MORE

Time to read 1 min

MKCertで手軽にローカル開発環境をSSL化する

Posted 20. December 2019

Infrastructure #HTTPS #MKCert #OSS #SSL

ローカルのSSL化

普段開発をしていると、ローカル開発環境はSSLを使用せずに構築することが結構ある。環境変数でSSLの使用不使用を振り分ける処理は、できれば無い方がいいのはたしか。

オレオレ証明書

ローカル開発環境をSSL化するためによくあるのが「オレオレ証明書」を作成することである。

...

READ MORE

Time to read 2 min

【CORS対応】Lambdaで動くLaravelの静的ファイルをCloudFrontで配信する

Posted 17. September 2019

Infrastructure #AWS #CDN #CloudFront #CORS #Lambda #Laravel

静的ファイルをキャッシュしたい

前回の記事ではLambda上にLaravelを構築しました。

とりあえず動くは動くんですが、Lambda上で全てのファイルをいちいち読み込んでいるので、容量が大きいファイルをやりとりするサービスではパフォーマンス面で不安が残ります。 ...


READ MORE

Time to read 3 min