/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

2026-02-01から1ヶ月間の記事一覧

Terraform EC2: ignore_changes した user_data を安全に適用する方法まとめ

この記事は EC2 user_data シリーズ(全3回) の3本目です。 aws_instance の user_data に lifecycle { ignore_changes } を入れると意図しない stop/start は止まります。でも「いざ新しい user_data を適用したくなったらどうするのか」が次の問題になる…

Terraform user_data_replace_on_change とは — Provider v4で変わったEC2の挙動と使い分け

この記事は EC2 user_data シリーズ(全3回) の2本目です。 Terraform の aws_instance に user_data_replace_on_change という属性があります。これは Provider v4 のメジャーアップデートで user_data 変更時の挙動が変わり、困ったユーザーのために後か…

Terraform aws_instance の user_data 変更で意図しない stop/start が発生する原因と対策

この記事は EC2 user_data シリーズ(全3回) の1本目です。 Terraform で aws_instance の user_data を変更して terraform apply したら、インスタンスが stop/start してしまうので、サービス断発生してしまいます。 しかも新しい user_data のスクリプト…

Talos Linuxとは — SSHなし・API管理のKubernetes専用OS入門

Talos LinuxはKubernetesノード専用のイミュータブルOS。SSHやシェルを持たず、talosctl経由のAPI操作でノードを管理します。 壊れたノードを手で直すのではなく、宣言的なconfigから再生成する運用に寄せた設計です。 何を調べたか ホームラボでk3sクラスタ…

GCPのOAuthクライアントでリダイレクトURIの設定欄がない原因と対処法(デスクトップアプリ型)

ChatGPTに相談しながらOAuthクライアントの設定をしていて、GCPのOAuthクライアントで「承認済みのリダイレクトURI」の設定欄を探していたのですが、が見つかりませんでした。 なぜかというと、「デスクトップアプリ」型を使っていたからです。単純にちゃん…

リモートサーバーでGCP OAuth認証を通す方法(OAuth Playgroundでリフレッシュトークン取得)

SSH先のリモートサーバーで gcloud auth login しようとしたら「ブラウザが開けません」で詰まった(--no-browser オプションもあるが手順が複雑)。Google OAuth Playgroundを使えば、ローカルのブラウザでリフレッシュトークンを取得して、リモートの設定…

リモートサーバーでgcloud auth application-default loginが使えないときの対処法

リモートサーバーでgcloud auth application-default loginが使えないときの対処法 ADCの実体はただのJSONファイルなので、gcloud CLIなしでも手動で作成・配置すれば認証が通ります。 何が起きたか SSHでしかアクセスできないリモートサーバーで、GCP APIを…

straceでコンテナ・Lambdaの起動遅延を切り分ける方法(言語別syscall比較付き)

strace -c で起動時のsyscallを集計すると、遅延の原因がランタイム初期化なのか、ファイルI/Oなのか、アプリケーションロジックなのかを数字で切り分けられます。CloudWatch → top の次の「もう一段潜る」ツールとして使えます。 何を調べたか 「なんか遅い…

gh CLI「HTTP 401: Bad credentials」の原因と対処法(.envrcのGITHUB_TOKENが犯人)

git

gh auth login で認証したはずなのに HTTP 401: Bad credentials で弾かれる。 犯人は .envrc に残っていた古い GITHUB_TOKEN でした。 gh CLIは環境変数のトークンを最優先で使うので、gh auth login で保存した認証情報は無視されます。 何が起きたか gh i…

GitHub Issueをprivateからpublicリポジトリに転送できないときの回避策

git

GitHub Issueをprivateリポジトリからpublicリポジトリに gh issue transfer で移そうとすると、仕様で拒否されました。 回避策としては中継リポジトリを経由すれば回避できるのですが、そういう仕様だったのかと初めて知ったので記事にしておきます。 エラ…

ssh-agent: 別のターミナルで「unable to authenticate user」が出る原因と対策

eval "$(ssh-agent -s)" して ssh-add で鍵を登録したのに、別のターミナルタブでTerraformを叩いたら認証エラー。犯人は SSH_AUTH_SOCK 環境変数が別ターミナルに伝わっていないことでした。 Proxmox上のVMにTerraformでSSH接続しようとしたとき、こういう…

EC2にSSHできなくなった時の調査と復旧(原因はOut of Memory)

AWS

ある日の朝。S3の中身を見てみると 「ファイルが更新されていない・・・・・」 普段EC2にS3をマウントして使っているんだけど、どうもS3のマウントが外れたっぽいアラートがSlackに流れていた。 「はぁ。またか。」 と思ってマウントが外れた原因を調べない…