AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

2022-01-01から1年間の記事一覧

Terraform で import した resource を tfstate から削除する

terraform state rm ${リソース名} で消せる。

terraform import 実行時に変数読み込みファイル (var-file) を指定する

追記: これルートドメインを管理しようとしているけど、ルートドメインのホストゾーンは Terraform で管理しないほうが良いらしい (結果として管理やめたので救われた感 -var-file を指定してから terraform の各種第 2 引数にあたるコマンドを書くのだと思…

MacriumReflect

システムドライブ用の SSD を PCIe4 に変更しよう、と思って以前購入していた覆面 SSD に入れ替えた。 内容はクローンすればいいかあー、と思っていたんだけど、今どきはみんなフリー配布やめたんすねえという感じであった。 EaseUS Todo Backup Free 使おう…

MySQL にタイムゾーンを追加する

ロケ地 MySQL 8.0.31 macOS Ventura 先日の Unbale ... の記事でも書いた通り、インストール直後の MySQL は Asia/Tokyo をタイムゾーンに指定するとエラーを返します。 ゆるせねえよ……、わからせてやる! しかしこの手の話題、 OS とか物理筐体移行する際に…

ERROR! The server quit without updating PID file

macOS が一番お目にかかるんじゃないすかねー、 brew でインストールしていざ起動したらこれ。 よく言われている pid ファイルの不在と MySQL の data-dir 権限を対応しても動かない時は。 一度 mysql 系のプロセスを全部消すか、OS ごと再起動する mysql --…

Slack にロードアベレージの高まりを通知する簡単なスクリプト

メトリクス監視や APM を入れる (ほどでもない|環境整備する時間がない) みたいな状態のときあると思います。 とりあえず Slack に投げて監視体制はごまかそう、という趣旨。 こんな感じで通知される 実行例 実環境でテストしていたのでちょいちょいモザイク…

M1 MacbookPro で Ruby 2.5 とか古い環境を用意する

追記 こちらで書いたけど、 RUBY_CFLAGS="-w" を付与して rbenv install を叩くのが一番ラク、という結論にたどり着いた。 donbulinux.hatenablog.jp 以前の本文 rbenv install で古いバージョンを入れようとするとこうなる (僕の環境の出力)。 ロケ地 MacBo…

OAC を利用して CloudFront からプライベート設定の S3 をオリジン参照するバケットポリシー

AWS

マネジメントコンソールで OAC を選択するとヘッダに「バケットポリシー変更しろよ!」ってお知らせ出してくれるし、そのまま使えるバケットポリシーをコピペさせてくれるんだけど、 「オリジンになる S3 を、複数の異なるドメイン付与したディストリビュー…

Terraform を書く時に気をつけること

忘れがちなので、気付いたタイミングで書いておく。 backend に変数 (Variables) は利用できない こんな感じで怒られる。 起動時に引数に渡すか、backend 用に別ファイルを作れとのこと。 │ Error: Variables not allowed │ │ on main.tf line 11, in terraf…

MySQL の予約語

groups というテーブルがあるんだけど、SELECT を投げようとして syntax error になった。 mysql> SELECT * FROM groups; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for …

Terraform の backend を S3 にする

ロケ地 Terraform 1.3.6 hashicorp/aws 4.45.0 Error loading state state がローカルやんけ! と気づいて、 backend "s3" を書いて、リモートに手動でバケットを作成 (設定は名前以外、全部変更なしのアクセスきつきつでオッケー)。 後に terraform init -m…

terraform の provider バージョンの確認

一旦 terraform init してあれば terraform providers -version で確認できる。 terraform providers -version Terraform v1.3.6 on darwin_arm64 + provider registry.terraform.io/hashicorp/aws v4.45.0 事前に探したい場合は以下あたりから。 registry.t…

Terraform リソース作成時にデフォルトで付与するタグを管理する

作成したリソースが Terraform 由来であること 複数の企業が単一アカウント ID に AdministratorAccess 持っている という状態のインフラを管理しているので、それぞれ AWS のリソース作成時のタグに Build: Terrafrom Company: 会社名 を付与する運用にして…

シェルスクリプトでの小数点を含む数値 (ロドーアベレージ) の比較

www.koikikukan.com つまりこういうことだった。 $((hoge)) -gt $((fuga)) みたいにしたりしてもだめだし、じゃあ片側数字ならええんか? と思ってたけど、単純にダメなやつであった。 ATAI="0.40" <200b> LOAD_NOW=`uptime | grep "load average" | sed -e …

基本情報技術者試験落選

そういやそろそろ午前午後ともに受付終わりじゃん、来週末くらいに予約いれとこ、と思ったら都内はおろかほぼ日本全国予約できなくなってて草生える。 あーあ、めちゃくちゃだよ。 代わりに Ruby Silver でも受験すっか。

Markdown 既報の * + - による項目の違い

長年気になっていたけど、ようやく調べてみた。 結論からいうと、標準仕様では差異はないとのことだった。 daringfireball.net It’s important to note that the actual numbers you use to mark the list have no effect on the HTML output Markdown produ…

Unable to monitor directories for changes because iNotify max watches exceeded.

ロケ地: Amazon Linux release 2 (Karoo) RAILS_ROOT で rails c したらエラーがでるー、と言われたやつ。 実際のエラーはこう。 /RAILS_ROOT/vendor/bundle/ruby/3.1.0/gems/listen-3.7.1/lib/listen/adapter/linux.rb:32:in `rescue in _configure': Unab…

assets が見えないのは net::ERR_HTTP2_PROTOCOL_ERROR かと思っていた

アカウント ID が異なる環境で、動いているアプリケーションを環境ごとクローンする、というタスクがあって、規模的に手動で作業しなおしても大丈夫だなと思って着手したらひどい目にあった、という話。 ページデザインが崩れる デプロイして動作確認を行っ…

MySQL8 時代の GRANT

GRANT ALL PRIVILEGES ON example_database.* TO example_user@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 長らくこの MySQL 5.x 世代の「ユーザ作成と同時に権限も設定する」というヤツになれすぎて、 MySQL8 世代のユーザ作ってから GRANT し…

RDS で MySQL 5.7.3x を動かしている環境で日本語入力ができない

タイトルのとおり。 RDS で MySQL 5.7.3x 系エンジンの環境で、年次更新みたいな処理でデータベースメンテナンスをしていたのだけど、 mysql コマンドで RDS に接続時 SELECT や UPDATE 発行時に日本語入力しても消える (コピペしても消える) 状態だった。 m…

ERROR 3678 (HY000): Schema directory './example_development' already exists. This must be resolved manually (e.g. by moving the schema directory to another location).

タイトルの通り。 DROP DATABASE example_development; したらなんか残ってしまい、 rails db: 系コマンドも通らなくなった。 原因は、 mysql_data 以下のディレクトリにデータベース名のディレクトリが残ってしまっているので。 削除する /usr/local/var/my…

[WIP]Ventura とする

自分の環境構築用なので、もし dotfiles とか brewfile を流用する人はいらんものあると思うので注意してください。 作業メモ兼ねてるのであとで綺麗にします。

apache ユーザで git pull できるようにする

いわゆる RHEL 系で httpd インストールした以下の状態で、 apache:apache のまま github 運用するときどうするか、というやつ。 apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin apache ユーザの設定 sudo -u apache でユーザ指定して git 各種コマ…

github 用の SSH 鍵とか DeployKey 用のアレそれを作る

いつものように DeployKey が失効した環境があったので、 ssh-keygen するなどしていた。 ssh-keygen -t rsa -b 4096 -f deploy_key.pem -N "" しかし今の github は、上記の様なコマンドで作成した鍵 (RSA SHA-1) はだめとのことだ。 github.blog ECDSA で…

作業時間

へえっ、などと思いながら眺めていた。 www.blockchainengineer.tokyo 文意からするとマネージメント側がエンジニア側に配慮する、と読めたんだけど、このあたりで手法としてアンガーマネジメントとかが有効になってくる、というふうにつながるのかな。 わり…

RDS で LOAD DATA LOCAL INFILE を実行する

いつも忘れて調べるんだけど、正解がシュッと出てこないのでインターネットの敗北。 我の勝利〜。 --local-infile=1 を利用する デフォルトで用意されるパラメータグループか、それに準拠するパラメータを利用していれば、 --local-infile=1 を付けて mysql コ…

おじいさんに選ばれたのは大きなトランザクションでした

RDS で LOAD DATA LOCAL INFILE って素直に使えるんだっけ? と思って調べていたら以下のような記述を見つけてしまった。 バイナリログ作成を有効にすると、トランザクションが大きい場合、IOPS とディスク消費量が 3 倍になります。これは、ディスクに書き…

CloudFront のオリジン (S3) に加えた変更をすぐに反映する

キャッシュ無効化、という手法があります。 soypocket.com ただこれ運用戦略的に正しいのか? みたいな疑問符はあるんで、今回は「開発中だったり本番向け環境じゃない」という前提のもと、キャッシュの時間を調整します。 キャッシュポリシー 前回の記事で…

フロントエンドを CloudFront (S3) で配信する

React とか Vue あたりで作って、 npm run build で出力したやつをフロントエンドと呼んでいます、雑ゥ! とにかくこれを S3 にぶっこみつつ、CloudFront で配信します。 最近のウェブ系はだいたいこんな感じですよねというヤツのふりかえり。

530 Must issue a STARTTLS command first (Net::SMTPAuthenticationError)

自前運用の SMTP サーバから AWS SES に切り替える作業があったんだけど、表題のエラーが出て「!?」となっていた。 Must issue a STARTTLS command first 答えは全部ここに書いてあるんですが、ちゃんと暗号化して送信しろ、という話です。 エラー時の該当…