ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

tech

ALBのヘルスチェック間隔でどれくらいだっけ?

解 HealthCheckIntervalSecondsの設定次第で、デフォルト30秒。5秒から300秒の範囲で指定ができる。 参考:ターゲットグループのヘルスチェック - Elastic Load Balancing 背景 LambdaをALBのバックエンドにしたときにヘルスチェックを設定すると無料の範囲内…

CDKTFでリソースのアトリビュートに対して文字列処理がうまくできなかった件

リソースのアトリビュートを文字列処理しようとしたらうまく動かなかったという現象に出会ったのですが、 結論としては、リソースのアトリビュートはStringではなくTokensという型なので、Stringのメソッドは使えないという話しです。 Tokens - CDK for Terr…

Spannerを触りたい。(Spanner構築と接続確認まで)

Cloud SQLでPostgreSQLを使っていたのですが、諸事情でSpannerを検証する必要があるので、ざっくり構築して接続確認するまでのメモです。 Spanner構築 Terraformでざっくり作ります。マルチリージョン構成で、スペックは最低で作ります。 database_dialectを…

TerraformでEventBridgeのターゲットにCloudWatch Logsにするリソースを構築するとうまく動かない件

現象 Terraformで以下のようにECSイベントが発生した際にそれをCloudWatch Logsに出力するEventBridge ruleとtargetを作成したところ、うまくCloudWatch Logsにイベントが出力されませんでした。 resource "aws_cloudwatch_log_group" "main" { name = "/aws…

GCSのバケットをすべてコピーしたい(同期したい)

Google Cloud Storageのバケットのリージョンは作成後に変更できません。 そのため、シングルリージョンで作ったバケットをデュアルリージョンまたはマルチリージョンに変えるためには新規で作成し、オブジェクトを全部新しいバケットにコピーした上で切り替…

google-github-actions/deploy-cloudrunでlabelを付け替えるのをやめさせたい

v0からv2にバージョンアップした際にdeploy-cloudrunでlabelを更新する挙動に変わったので、これをやめさせたいといのが趣旨です。 Cloud Run Serviceのlabelはterraform側で制御したいので、GitHub Actions側で変更されると困るのです。 結論から言うと、 s…

EC2インスタンスのuserdataにシェバンがないと動かない

EC2インスタンスのuserdataの実行履歴を見たい - ふり返る暇なんて無いね でログを確認したところ、以下のように言われてしまった。 2023-09-21 02:01:06,809 - __init__.py[WARNING]: Unhandled non-multipart (text/x-not-multipart) userdata: 'b''...' …

EC2インスタンスのuserdataの実行履歴を見たい

メモ残しておかないと忘れるので、雑に置いておく。 Session Manager等でログインして、 /var/log/cloud-init-output.log を覗く。 sudo cat /var/log/cloud-init-output.log 参考: 起動時に Linux インスタンスでコマンドを実行する - Amazon Elastic Compu…

terraformでDataDogリソースを管理したかったのに403 Forbiddenと言われたとき

現象 terraformでdatadogプロバイダーを使ってdatadogリソースを管理しようとしていたのですが、apiキーもappキーも正しいものを使ってるはずなのに、403が出てこまりました。 Planning failed. Terraform encountered an error while generating this plan.…

CloudSQL(PostgreSQL)のmax_connectionsを上げたい

割り当てと上限 | Cloud SQL ドキュメント | Google Cloud にありますが、max_connectionsフラグを設定することで設定変更できます。 MySQL max_connections フラグを使用すると、接続数の上限を構成できます。MySQL で最大 100,000 件の接続が可能です。デ…

EventBridgeで受け取ったパラメータを後続のターゲットに渡したい

忘れがちな脳への覚え書きです 正確にはここを読んでください。 Amazon EventBridge input transformation - Amazon EventBridge サンプルとして、S3バケットのCreate Objectを拾って、バケット名とオブジェクトをECSタスクに環境変数として引き渡す例を記載…

特定のファイルが変更されたときだけGItLab CIのジョブを動かしたい

忘れがちな脳のためのメモ これでtest/ディレクトリおよびtest.txtが変更されたときだけジョブが走るようにする。 stages: - build ex-build: stage: build script: - echo "てすと" - ls test/ - cat test.txt rules: - changes: - test.txt - test/* 参考:…

KCNA-JP(Kubernetes and Cloud Native Associate)に合格してました。

10/6にKubernetes and Cloud Native Associateを受けてきました。そして合格してきました。 training.linuxfoundation.org credlyのリンクも置いておきます。 www.credly.com Kubernetes何もわからない民から、なんとなく分かる民になりました。本当の目標は…

あとで調べる: Venturaにアップグレード後にxcrunが見つからないと言われる件、ところでxrunってなに

makeとかhomebrewで入れたツール類を実行しようとすると以下のエラーが出るようになった。 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 対…

未解決: Cloud Runのオートスケールする条件が分からなかった

Cloud Runのオートスケールする条件がいまいちよく分からなかったので、調べてました。 結論として、ちゃんとした条件が分からなかったので、時間が取れるときにちゃんと実験したいです。 確実なのは公式ドキュメントなので、関係のありそうな歌唱から読んで…

故障と障害の違いがわからずに困惑してた

ふと調査ごとをしてて故障と障害ってなんか違いあるんだっけ?と疑問に思い調べてました。 JIS X 0014:1999 情報処理用語-信頼性、保守性及び可用性 いったん、JIS X 0014:1999の定義を見てみることにします。 故障は要求された機能の能力がなくなること。で…

GitHub Actionsで `save-state` と`set-output` が廃止されるようです。

ふとGitHub Actionsを実行ログを眺めてたら、下記のwarningsがでてることに気づきました。 The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog…

はてなブログのカテゴリごとのRSSフィード

こんな形式のURLになってます。 https://${domain}/rss/category/${category} https://${domain}/feed/category/${category} うちのでいうとこんな感じですね。 https://diary.masasuzu.net/rss/category/tech https://diary.masasuzu.net/feed/category/tec…

未解決: Google Cloud Storageの静的配信でnginxで言うところのtry_files的なことをしたかった。。。。

結論から言うと、ページとしては想定のものが返ってきてるが、status code 404が返るようになってうまくいってないです。 nginxだと下記の様に設定すると、指定されたファイルを探して見つからなかったら/index.htmlを返す(それもなかったら404を返す)。とい…

Google Cloudの外部HTTP(S)ロードバランサと外部HTTP(S)ロードバランサ(従来型)の違いがわからなかった。

外部HTTP(S)ロードバランサには無印と従来型の2つがあります。この辺まとめてるのが日本語では見つからなかったので、ざっくりとドキュメントからかいつまんでみました。 従来型を使いたい特別な理由がない限りは無印を使うとよいのかなとます 無印 従来型 …

Google Cloud認定 Professional Cloud Architect合格してた

10/27の午前中にGoogle CloudのProfessional Cloud Architectを受けてきました。 PCA受かってたっぽい。見間違え出なければ合格と表示されてたので、たぶんそう。手応えがなさすぎて実感はないです。— masasuzu (@masasuz) 2022年10月17日 Professional Clou…

t3系インスタンスのスペックについて

特にオチはないメモです。 インスタンスタイプ - Amazon EC2 | AWS 基本的にはメモリとCPUクレジットが1サイズ上げると倍になっていく。vCPU数はt3.largeまでは2でそれ以降倍になっていく。 ちょっとした作業スペースとして使うならメモリ0.5GiBのt3.nanoで…

build-in commandのmanが引けなくて困った

zshの話です。 historyコマンドのmanpageを引きたくて以下のようにコマンドを打ったところ、 man history builtinのmanpageが表示されて、そうじゃないんだよなあ。。。ってなってました。 See the built-in command description in the appropriate shell m…

S3にオブジェクトをputしてもEventBridgeにイベントが飛ばないときは

S3バケットの設定でEventBridgeにイベントを通知する設定が有効になってるか確認しような。。。。。 これをやるのを忘れてて、なんでイベント飛ばないんだ!!!!!とはまってました。 EventBridge完全理解した— masasuzu (@masasuz) 2022年9月23日

今日もまたVSCodeのタイムラインに救われてしまった

VSCodeにはタイムラインという履歴管理機能?があってこれが便利。gitの履歴とは別にファイルの変更履歴を取っていて、うっかりcommit せずに消してしまった箇所を復活させたりするのに役立ちます。 デフォルトだと左下あたりにこっそりいるはず。 タイムライ…

terraformでCloudSQLのインスタンス作成に失敗した

こんなエラーが出てインスタンス作成に失敗した。 ╷ │ Error: Error, failed to create instance because the network doesn't have at least 1 private services connection. Please see https://cloud.google.com/sql/docs/mysql/private-ip#network_requi…

アプリケーションをメンテナンスモードにする方法について考えるメモ

前提 AWS上に構築されたwebサービス 構成要素 ALB ECS上でうごいているアプリケーション CloudWatch Eventのcronで起動するECSスケジュールタスク RDSなどのデータストア 現状 terrafromのmaintainance_mode変数を見てtrueであれば、ALBで503を返すようにし…

EventBridgeのEventPatternで除外条件をつけたいとき

diary.masasuzu.net EventBridgeでECS Taskの終了ステータスが0以外のとき、つまり異常終了したときのイベントを拾うためにrange関数を使いました。 resource "aws_cloudwatch_event_rule" "main" { name = local.name event_pattern = jsonencode( { "detai…

terrafromでrange関数使いたい

Answer: 使えます range - Functions - Configuration Language | Terraform by HashiCorp 諸事情でECS Taskが失敗したとき、すなわち終了ステータスが1から255の条件のとき、のCloudWatch Event Ruleを書きたかったのですが、ベタに1から255のリスト書くの…

インフラリソースとログのライフサイクルの違い

terraformとかでインフラリソースとログリソース(S3バケットとかCloudWatch log groupとか)を一緒のモジュールで管理することはよくあると思う。 一緒にすることのメリットとしては不要になったときに一気に消せることなのだが、逆にそれがデメリットでもあ…