kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

Terraformでの配列の接続と、文字列の配列の各要素に文字を追加する方法

配列の接続 concat を使う addresses = concat( var.white-list-ip-address, [for ip in local.ips] ) } 文字列の配列の各要素に文字を追加する方法 for を使う * local.ips のそれぞれの末尾に /32 を追加する場合 [for ip in local.ips : "${ip}/32"]

RDS Auroraのreaderからのpg_dumpの途中で接続が切れる場合、max_standby_streaming_delay を上げると良いよ

タイトルで言いたいことだいたい言っちゃったんですが、 readerエンドポイントでpg_dump を実行していたら、大きめのテーブルをdumpしている時に接続がちょこちょこ途切れる現象が発生していました。 それで、DBのログを見てみたら以下のエラーがありました …

Amazon Athenaでアクセスログから、特定PATHの分ごとのアクセス数をカウントする方法

以下は、2023/11/18の15:00〜15:10の間の https://example.com:443/hoge への分単位のアクセス数を取るSQL SELECT minute, COUNT(minute) AS count FROM ( SELECT date_trunc('minute', from_iso8601_timestamp(time)) AS minute FROM "alb_access_logs" WHE…

AUTOVACUUMが動かない時に調べること

AUTOVACUUMの設定 SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%'; autovacuum が on であること 他の数値も異常な値でないこと(どう考えても実行されない閾値とか) AUTOVACUUMの最終実行日時 SELECT relname, last_autovacuum,last…

Railsのdatabase.ymlのpoolの適正数

先に結論 Railsの中でスレッド処理をしていないのであれば Unicornの場合 1 Pumaの場合 スレッドの数 なんで UnicornとPumaで数が違うの? ざっくりいうと、Unicornはマルチプロセスで、Pumaはマルチスレッドだから (厳密には違うけど) それで、コネクション…

AWSコスト最適化ガイドブック 読書メモ

AWSコスト最適化ガイドブック作者:門畑 顕博,仁戸 潤一郎,柳 嘉起,杉 達也,小野 俊樹,藤本 剛志KADOKAWAAmazon 初学者やAWS詳しくない人が、最適な使い方を学ぶのには良い本でした 逆にある程度くわしい人は、知らないところをつまみ食いすればそれで終わる…

メール関係の用語おぼえがき

勉強する必要が出たのでおぼえがき レピュテーション(reputation) 「レピュテーション(reputation)」とは、電子メールの送信元の信頼性や評判を示す指標 スパムメールや悪意のあるメールの送信者と、信頼性のあるメール送信者を区別するために使用される …

RDS の Aurora の昇格についておぼえがき

RDS Auroraでライターインスタンスが死んだ場合、どういうルールで昇格するんだっけ? ライターインスタンスの内「優先度」が最も低い値のインスタンスから選ばれる(0がデフォルト) 同じ「優先度」の場合、同じサブネット、AZのものが優先される Terraformで…

GitHubのRSA SSH ホスト鍵変更に対してクライアント側の修正方法

GitHubのRSA SSH 秘密鍵が漏洩したため、2023/03/24 にGitHubのRSA SSH ホスト鍵が変更されました github.blog RSA SSH 秘密鍵って? RSAは暗号化方式 RSA SSH 秘密鍵は、RSAでSSHするためにGitHubが持っている秘密鍵 今回これが漏洩した RSA SSH ホスト鍵っ…

AWS コスト削減チェックリスト

前提 金銭的なコスト削減のために、運用コストが上昇したら元も子もないので注意!!! 全体 EC2 から、ECS(Fargate)、lambdaへの移行を検討中ならば、Compute Savings Plansを使用する そもそも使っていないインスタンスを停止する EC2 性能が過剰ならば、より…

PostgreSQLでのdump、restore、COPYおぼえがき

データベースの dump pg_dump -d ${dbname} > /var/tmp/dbname.dump 特定のテーブルのみ dump pg_dump -d ${dbname} -t ${tablename} > /var/tmp/dbname.dump 特定のテーブル 以外を dump pg_dump -d ${dbname} -T ${tablename} > /var/tmp/dbname.dump デー…

curlおぼえがき

転送に対応 curl -L 'https://example.com' UserAgentを追加 curl -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1' 'https://example.com' レ…

最近のかせいさんの情報収集方法 2021年版

この記事はLCL Advent Calendar 2021 - 18日目です。 qiita.com こんにちは、 id:kasei_san です。 皆さん、技術情報の情報収集どうしてますか? 昔はLiveDoorReaderとか、はてなブックマークとかで集めれば割と良かったのですが、RSSがオワコンになり、はて…

Access-Control-Allow-Origin の値を動的に設定するときには、Vary 'Origin' も設定する必要があるよって話

これの続き blog.kasei-san.com Access-Control-Allow-Origin の値を動的に設定する必要があるパターン 複数のオリジンからクロスドメインのリクエストを受けるサーバが Access-Control-Allow-Origin を返す場合、オリジンごとに異なる値を動的に返す必要が…

2021/09/30 から、OpenSSL1.0.x でLet'sEncryptの証明書を使っているところと接続できなくなる問題とEC2での対策方法

現象 $ echo|openssl s_client -connect helloworld.letsencrypt.org:443 -servername helloworld.letsencrypt.org Verify return code: 20 (unable to get local issuer certificate) OpenSSLを使っている、curl やRuby なども影響を受ける 原因 Let'sEncry…

今更CentOS6でRubyを検証するDocker環境がほしい時みる記事

どうしても古いままの環境をいじらざるを得ない時ありますよね... Dockerfile FROM centos:6 RUN \ sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo &&\ sed -i…

Rails7のフロントエンドの方向性について理解したことをメモ

ざっくりまとめ Rails7は、StimulusとTurboのHotwireを標準のjsとしているが、jsまわりのトレンドとは方向が異なる Railsでリッチなフロントエンドをバリバリやるのは難しく、そのあたりの不満がフロントエンド側から表出している Railsは(最初から)、小さい…

MacOSをスリープした時にgoogleアカウントからログアウトする方法

方法 sleepwatcher という、sleep & wakeup 時に任意のコマンドを実行するアプリを使います また、google アカウントは、 https://accounts.google.com/Logout にアクセスすると、ログアウトできるので、スリープ時に、デフォルトブラウザで、これにアクセス…

Terraform Cloud にある state を mv する方法

流れ state ファイルをローカルに持ってくる backend をローカルに変更 terraform state mv を実行 terraform state push を実行 backend を Terraform Cloud に戻す(この時に、state を overwrite する) state ファイルをローカルに持ってくる terraform st…

独自ドメインからRoute53でCloudFrontにAレコードを設定したときに、SSL関係のエラーが出た時の対処方法

現象 独自ドメインから、Route53でCloudFrontにAレコードを設定した その後に独自ドメインから、upした画像にアクセスするとSSL関係のエラーが発生する curl -vv https://example.com/E4Tvj0mUUAEWnW8.jpeg * Trying ***.***.***.***... * TCP_NODELAY set *…

サーバメンテナンスのときには、503(Service Unavailable)を返して、さらに Retry-After ヘッダー をつけておくと安心かも

SEO

まとめ メンテナンスページを出す時には、503(Service Unavailable) を返す Retry-After ヘッダーに復旧日時を入れておくと、復旧後に見に来てくれるようになる Retry-After ヘッダーが無いまま、長期間 503 を返すと、クローラーはサーバが復旧しないと思っ…

EC2インスタンスの再起動と停止/起動のちがい

先に結論 ここに書いてあるとおり docs.aws.amazon.com 再起動: インスタンスは、同じホストコンピュータで保持される 停止/開始: インスタンスは新しいホストコンピュータに移動されます メンテナンスでEC2のハードウェア退役や再起動する場合は、停止/起動…

複数バージョンのbundlerがインストールされている時の挙動おぼえがき

概要 複数バージョンのbundlerがインストールされているとき、どれが選択されるのか曖昧だったので実験 注意 公式ドキュメントの記述がみあたらなかったので、バージョンが変わると挙動が変わるかもしれないです 環境 ruby:3.0.1-alpine を使用。defaultで入…

elasticbeanstalkのプラットフォーム(ruby puma)のバージョンを上げると、nio4r の依存関係でエラーが発生する件

elasticbeanstalkのプラットフォーム(ruby puma)のバージョンを上げると、こんなエラーが出るようになる /opt/rubies/ruby-2.7.3/lib/ruby/site_ruby/2.7.0/bundler/runtime.rb:302:in `check_for_activated_spec!': You have already activated nio4r 2.5.7…

Nginxのデバッグログを取る方法

Nginxの内部転送の設定がうまく行かない時とかにデバッグログは便利なのですが、その設定方法をよく忘れるのでメモ エラーログのログレベルを debug にする error_log /dev/stdout debug; 内部転送を出力するように設定 rewrite_log on; Nginxをデバッグモー…

CORSの理解が不足していたのでメモ

CORSって何? CORS: Cross-Origin Resource Sharing オリジン間リソース共有 オリジンって何? 同じところからのリクエストであるかを判別するための方法 URIの、scheme、host、portが一致していると、それは「同一オリジン」である scheme、host、portとか、U…

Amazon Linux2 に MySQL5.7のクライアントを入れる方法

踏み台サーバに手動で入れる必要が出たので個人的なメモ 参考 dev.mysql.com dev.classmethod.jp だいたいここの通りにやればOK 前提1 Amazon Linuxでは、いくつかのパッケージを Extras Library として提供しているが、MySQLは提供していない(mariadbはある…

logrotateおぼえがき

RHEL系のお話です 全体設定ファイル /etc/logrotate.conf ローテーションごとの設定ファイルが置かれるディレクトリ /etc/logrotate.d/ dryrun /usr/sbin/logrotate -dv /etc/logrotate.conf 手動実行(root権限で実行すること) /usr/sbin/logrotate -f /etc/…

NATインスタンスとNATゲートウェイの料金比較メモ

AWS

料金の内訳 NATインスタンス インスタンス料金 データ転送料金(インターネットへのデータ転送 詳しくはこちら → https://aws.amazon.com/jp/ec2/pricing/on-demand/#Data_Transfer NATゲートウェイ NAT ゲートウェイの時間単位料金 東京リージョンで 0.062US…

Railsのメンテナンスポリシーおぼえがき

2021/01/12 現在 基本的にはここ見ればOKです guides.rubyonrails.org ポイント Railsはセマンティックバージョニング バグ修正は最新バージョンのみ (2021/01/12 現在、 6.1.Z ) セキュリティFIXは、メジャーシリーズ全てと、1つ前のメジャーの一番最後のマ…