これはなに? PumaでRailsをマルチスレッドで運用すると、同一メソッドが同時に実行されたタイミングで、クラス変数/クラスインスタンス変数の値がごっちゃになることがあるよってお話です 前提: Pumaの基本構造 Pumaはマルチプロセス + マルチスレッドのハイ…
これはなに? MemcachedとRedisのクラスタ構成ごとのノードが死んだ場合の挙動のメモです Memcached クラスタ 構成 resource "aws_elasticache_cluster" "memcached" { engine = "memcached" num_cache_nodes = 3 } ノード障害時の挙動 操作 挙動 説明 既存デ…
先にコード sub vcl_recv { #FASTLY recv # www付きドメインはwwwなしにリダイレクト if (req.http.host ~ "^www\.") { error 618 "redirect"; } return (lookup); } sub vcl_error { #FASTLY error # www付きドメインはwwwなしにリダイレクト if (obj.statu…
def take_full_page_screenshot(device, path, host) Capybara.app_host = "https://#{host}" visit path # 一旦windowサイズをリセット window = Capybara.current_session.driver.browser.manage.window window.resize_to(1600, 1080) # その後、縦幅は最…
Metrics Insightsクエリ SELECT みたいなSQL風の構文で、CloudWatchメトリクスを検索、分析できる機能 主に、分析やCloudWatchAlarmなどの条件式の作成向け 検索式(Search Expression) Search(〜 みたいな独自構文で、CloudWatchメトリクスを検索できる機能 …
これはなに? Dockerコンテナ内で、メインで動く処理と別に、スクリプトを定期実行したかった。 しかし、非rootユーザでは cron がうまく動かなかった。 苦肉の策でやった方法をメモ Dockerfile (略) # 実行ユーザ変更 USER nginx # 初回実行するスクリプト C…
作業の流れ AWS access portal から、AWS IAM Identity Centerの情報を取得 ローカル環境で AWS IAM Identity Center 認証情報を使い、AWSに接続 direnvで自動認証 ローカル環境で動作確認 dockerでもSSOできるように設定 コンテナ上の rails console で動作…
先に結論 /etc/init.d/varnish reload reload : キャッシュを維持したまま、設定ファイルを読み直す restart: varnishをstop/startする。起動時に既存の設定ファイルを読み直す。キャッシュはクリアされる reloadの仕組み varnish にはキャッシュを保持した…
これの続き techblog.lclco.com 書いてあることはほとんどこれと同じ。自分の覚え書き用 dev.classmethod.jp 発生した問題 IDの推奨事項に「MAIL FROMレコードが調整されていません」という警告がでる で、「問題の解決」にはDMARCレコードのセットアップと…
Aurora PostgreSQL前提です 定期バックアップ クラスタボリュームをバックアップウィンドウで指定された時間に定期的にバックアップする バックアップ先はS3。このS3は特殊なやつで、直接アクセスは不可能 バックアップウィンドウのデフォルトは、東京リージ…
DDoS対策は? デフォルトでAWS Shieldが入っているので、それで対策される 脆弱性攻撃対策は? WAFを入れれば対策できる Basic認証入れたい CloudFront Functions を使う 特定のPATHの場合リダイレクトしたい CloudFront Functions を使う Lambda@Edgeと、Clou…
TTLの挙動は、これ見るのが一番早い christina04.hatenablog.com Cache-Control ヘッダについては、こちらを参照 techblog.lclco.com なんでこんなにややこしいの オリジン側の Cache-Control を尊重した上で、CDNではどう振る舞うのか? を考慮しているため……
自動バックアップとスナップショットの違い スナップショット: フルバックアップ。手動のみ。保存期間無限 自動バックアップ: 差分バックアップ。1日1回自動。保存期間は1〜35日。任意の日時で復元が可能(PITR) どちらもクラスタ単位。復元では新しいクラス…
配列の接続 concat を使う addresses = concat( var.white-list-ip-address, [for ip in local.ips] ) } 文字列の配列の各要素に文字を追加する方法 for を使う * local.ips のそれぞれの末尾に /32 を追加する場合 [for ip in local.ips : "${ip}/32"]
タイトルで言いたいことだいたい言っちゃったんですが、 readerエンドポイントでpg_dump を実行していたら、大きめのテーブルをdumpしている時に接続がちょこちょこ途切れる現象が発生していました。 それで、DBのログを見てみたら以下のエラーがありました …
以下は、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の設定 SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%'; autovacuum が on であること 他の数値も異常な値でないこと(どう考えても実行されない閾値とか) AUTOVACUUMの最終実行日時 SELECT relname, last_autovacuum,last…
先に結論 Railsの中でスレッド処理をしていないのであれば Unicornの場合 1 Pumaの場合 スレッドの数 なんで UnicornとPumaで数が違うの? ざっくりいうと、Unicornはマルチプロセスで、Pumaはマルチスレッドだから (厳密には違うけど) それで、コネクション…
AWSコスト最適化ガイドブック作者:門畑 顕博,仁戸 潤一郎,柳 嘉起,杉 達也,小野 俊樹,藤本 剛志KADOKAWAAmazon 初学者やAWS詳しくない人が、最適な使い方を学ぶのには良い本でした 逆にある程度くわしい人は、知らないところをつまみ食いすればそれで終わる…
勉強する必要が出たのでおぼえがき レピュテーション(reputation) 「レピュテーション(reputation)」とは、電子メールの送信元の信頼性や評判を示す指標 スパムメールや悪意のあるメールの送信者と、信頼性のあるメール送信者を区別するために使用される …
RDS Auroraでライターインスタンスが死んだ場合、どういうルールで昇格するんだっけ? ライターインスタンスの内「優先度」が最も低い値のインスタンスから選ばれる(0がデフォルト) 同じ「優先度」の場合、同じサブネット、AZのものが優先される Terraformで…
GitHubのRSA SSH 秘密鍵が漏洩したため、2023/03/24 にGitHubのRSA SSH ホスト鍵が変更されました github.blog RSA SSH 秘密鍵って? RSAは暗号化方式 RSA SSH 秘密鍵は、RSAでSSHするためにGitHubが持っている秘密鍵 今回これが漏洩した RSA SSH ホスト鍵っ…
前提 金銭的なコスト削減のために、運用コストが上昇したら元も子もないので注意!!! 全体 EC2 から、ECS(Fargate)、lambdaへの移行を検討中ならば、Compute Savings Plansを使用する そもそも使っていないインスタンスを停止する EC2 性能が過剰ならば、より…
データベースの 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 -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' レ…
この記事はLCL Advent Calendar 2021 - 18日目です。 qiita.com こんにちは、 id:kasei_san です。 皆さん、技術情報の情報収集どうしてますか? 昔はLiveDoorReaderとか、はてなブックマークとかで集めれば割と良かったのですが、RSSがオワコンになり、はて…
これの続き blog.kasei-san.com Access-Control-Allow-Origin の値を動的に設定する必要があるパターン 複数のオリジンからクロスドメインのリクエストを受けるサーバが Access-Control-Allow-Origin を返す場合、オリジンごとに異なる値を動的に返す必要が…
現象 $ 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…
どうしても古いままの環境をいじらざるを得ない時ありますよね... 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は、StimulusとTurboのHotwireを標準のjsとしているが、jsまわりのトレンドとは方向が異なる Railsでリッチなフロントエンドをバリバリやるのは難しく、そのあたりの不満がフロントエンド側から表出している Railsは(最初から)、小さい…