kasei_sanのブログ

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

EC2のvCPUは、物理コアをハイパースレッディングでCPUリソースを分割して仮想CPUとして提供している

オプションでハイパースレッディングをOFFにしたり、物理コア数を減らしたりできる(料金は変わらない CPU オプションの最適化 - Amazon Elastic Compute Cloud ハイパースレッディングって何 ハイパースレッディングとは、従来CPUのコア一つに一つしか搭載…

AWS 認定ソリューションアーキテクト アソシエイト(2018) に合格したので勉強方法について語る

社内勉強会のおかげで無事合格できました! 内訳 合格前の自分のステータス 以下について、実務経験あり EC2, ECS, S3, RDS(MySQL), Elastic Beanstalk, CloudWatch, IAM, Lambda, DynamoDB, VPC どんなふうに勉強したの? 以下のルートで勉強しました 合格対…

社内LT大会(FFLT)で、元号の文字コードについて話してきました

FFLTとは 弊社フィードフォースが不定期に行っているLT大会です くわしくはこちら developer.feedforce.jp かせいさんもひさびさに参加して、unicodeに元号 ( ㍾, ㍽, ㍼, ㍻ ) ってあるけど、来年の次の元号はどうなるの? というお話をしました 発表資料 Un…

Dependency Injection 依存オブジェクトの注入 についてのおぼえがき

Dependency Injectionって「依存性の注入」じゃないの? やっていることは、 依存しているオブジェクトを注入するようにする なので、「依存オブジェクトの注入」の方が訳としてただしいのでは? という議論がある little-hands.hatenablog.com あと、自分が読…

DynamoDB の capacity unit おぼえがき

概要 read/write capacity unit という単位でユーザがテーブル毎にcapacityを設定する 実際の使用量とは関係なく 設定した、read/write capacity unit に比例した金額が請求される capacity unit とは 1 capacity unitは、以下の通り write 1秒に1回 1KBの書…

Firefox で「サーバが適正な中間証明書を送信しない可能性があります」という表示が出た時に見るページ

あるいは中間証明書の解説 原因 中間証明書 がサーバにupされていない 中間証明書ってなあに? 証明書3階層の中間にある証明書 ルート証明書 → **中間証明書** → サーバ証明書 サーバ証明書を証明するのが中間証明書で、中間証明書を証明するのがルート証明書…

Docker For Mac の docker build で `no space left on device` した時の対策

原因 docker for mac は仮想マシン上で動いているが、その仮想ディスクの容量がいっぱいになると発生 対策 prefarence で仮想ディスクのサイズを変更する 画面上、変更できないように見えるけど、クリックしたら普通に変更できた ただし、今回はディスクリセ…

円記号問題の歴史

円記号問題の歴史をまとめました ISO/IEC 646 の誕生 元々、文字コードの国際規格 ISO/IEC 646 では 0x5C は国ごとに自由に設定してよい領域 だった アメリカ(ascii) では、 0x5C をバックスラッシュ 日本(JIS X 0201) では、0x5C を ¥ アメリカで 0x5C を特…

misspell で無視したい単語をgitで管理する方法

スペルチェッカー misspell。超便利なのでみんな使いましょう github.com 前提 misspell では、-i オプションにカンマ区切りで、スペルチェックを無視する単語を追加できる misspell -i "hoge,fuga" . やりたいこと misspell のチェックを無視する単語を git…

Dockerのディスクioがボトルネックになる原因とその対策

dockerのディスクのマウント先がループバックデバイスだと遅い ループバックデバイスは特定のファイルをデバイスとみなす仕組み ゲストOSでの書き込み→ループバックデバイスへの書き込み→物理ディスクへの書き込みとなるので、直接物理ディスクに書くより遅…

Dockerのmemory, memory-reservation について

memory : ハードリミット。ここで指定した以上のメモリを使用しようとするとOOMKillerが走る memory-reservation : ソフトリミット。ホストのメモリに余裕がある時は、これ以上使用することもある 余裕が無いときは、memory_reservation 内にとどめる ECSで…

AWS 認定ソリューションアーキテクト – アソシエイト (新版) 対策メモ

AWS

自分が知らなかったAWS用語のおぼえがき Amazon Redshift Amazonが提供するデータウェアハウス データウェアハウス(DWH)とは、意思決定のために、基幹系などの複数システムから、必要なデータを収集し、目的別に再構成して時系列に蓄積した統合データベー…

MHA for MySQLのデフォルトのヘルスチェックでは、DBの書き込み障害ではフェイルオーバーしないよというお話

先に結論 MHA for MySQLのデフォルトのヘルスチェックでは、DBの書き込み障害ではフェイルオーバーしない なんで? MHAはヘルスチェックをバラメータ ping_type で設定された方法で行う ping_type のデフォルトは SELECT ping_type : SELECT の場合、ヘルスチ…

SRE本読書メモ エラーバシェットの話しを読んで、明確な数値目標は意思決定コストを下げると思った

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム作者: 澤田武男,関根達夫,細川一茂,矢吹大輔,Betsy Beyer,Chris Jones,Jennifer Petoff,Niall Richard Murphy,Sky株式会社玉川竜司出版社/メーカー: オライリージ…

SRE本読書メモ 15章: ポストモーテム文化。非難のない振り返りが改善を生む

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム作者: 澤田武男,関根達夫,細川一茂,矢吹大輔,Betsy Beyer,Chris Jones,Jennifer Petoff,Niall Richard Murphy,Sky株式会社玉川竜司出版社/メーカー: オライリージ…

[SRE本読書メモ] 13章: 障害対応。ストレスの無い障害対応が少ないダウンタイムを生み出す

SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム作者: 澤田武男,関根達夫,細川一茂,矢吹大輔,Betsy Beyer,Chris Jones,Jennifer Petoff,Niall Richard Murphy,Sky株式会社玉川竜司出版社/メーカー: オライリージ…

RubyでGCしても直ちにRSSが減るわけではないというお話

先に結論 GCをしても、RSSが直ちに減るわけではない C言語のレイヤーで、free しても次の malloc に割り当てるためにメモリを手放さない実装があるのが原因らしい 計測してみた 適当な長さのStringを10000回作って、RSSと、ObjectSpace.memsize_of_all を計…

スレーブのレプリケーションが遅延している時に SHOW SLAVE STATUS でチェックするべき値

前提知識 MySQLのスレーブでは、以下の2つのスレッドを使って、レプリケーションを行っている I/Oスレッド : マスタからバイナリログの差分を取得する SQLスレッド : IOスレッドから取得したバイナリログを元にDBを更新する SHOW SLAVE STATUS で見るべき値 …

MySQLのバイナリログについて解説

バイナリログとは マスタのDBの 更新命令のみ を記録したログファイル マスタ/スレーブ間の同期(レプリケーション)で使用する my.cnf に log-bin オプションを設定すると、バイナリログが作成されるようになる バイナリログの保存形式 STATEMENT, ROW, MIXED…

クイズ形式で rubyのジャンプ構文の挙動をおさらいしてみましょう

全問正解した人は自慢して良いと思います。全5問です。 なお、動作環境は ruby 2.5.0 です 問1 Procの中でbreak 実行結果はどうなるでしょう? def main p = Proc.new{|v| p v break if v >= 5 } 1.upto(10, &p) # & は、ブロックの代わりにProcを渡す命令 p …

AWS EC2 の T2 インスタンスについてメモ

AWS

先にポイント T2インスタンスは他と違い、CPUの使用について独特の制限がある(その分安い) T2はインスタンスタイプ毎にCPU使用率が定められている。これを ベースラインパフォーマンス と呼ぶ また、CPUを使用するたびに、CPUの使用権である CPUクレジット …

ストレングス・ファインダーをやってみて自分の特性が明確になったお話

さあ、才能(じぶん)に目覚めよう 新版 ストレングス・ファインダー2.0作者: トム・ラス,古屋博子出版社/メーカー: 日本経済新聞出版社発売日: 2017/04/13メディア: 単行本この商品を含むブログ (2件) を見る 先にまとめ 主に自分向けの内容です ストレングス…

ECSのawsvpcネットワークモードおぼえがき

awsvpcネットワークモードとは? taskにENIを紐付けるネットワークモード ENIとは? Elastic Network Interface 仮想ネットワークカードを表す VPC 内の論理ネットワーキングコンポーネントです インスタンスにネットワークインターフェイスをアタッチすると、…

AWS Fargateでtaskを動作させるのに必要な設定の記録

task definition 以下はインスタンスのcpuinfoとメモリの情報をチェックするtaskのdefinition { "family": "get_fargate_cpu_info", "containerDefinitions": [ { "name": "get_fargate_cpu_info", "image": "#{AWS_ACCOUNT_ID}.dkr.ecr.us-east-1.amazonaws…

AWSのドキュメントに添ってECSを動かしてみた

この2つを参考に、ECSを動かしてみた docs.aws.amazon.com docs.aws.amazon.com ゴール Hello World と書かれた index.html を持つ apache サーバをECSで動作させて、ブラウザで動作確認する 手順 DockerImageを作る DockerImageをECRに登録する Task Defini…

Amazon ECS 覚え書き

Amazon ECSとは Amazon Elastic Container Service (Amazon ECS) Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービスです (最近乱立しがちでK8Sに統合が向かうのかどうなのかわからない)コンテナオーケスト…

ruby:2.3.6-alpine3.4 に、postgresql-dev 9.6系をインストールしようとしたら conflict が発生した話

現象 alpine3.4 だと、postgresql-dev や client が 9.5 系 9.6 系を入れたくて、Dockerfileで /etc/apk/repositories を加工して、alpine3.5系のパッケージを入れるように変更した /etc/apk/repositories http://dl-cdn.alpinelinux.org/alpine/v3.5/main h…

springの子プロセスが `BUNDLE_APP_CONFIG` を無視するバグがある

現象 docker-compose を使って、run bin/rake を実行した時に、Could not find rake が発生 (ローカル環境では正しく動作する) $ docker-compose exec web bundle exec bin/rake --version Could not find rake-12.3.0 in any of the sources Run `bundle in…

docker-compose でよく使いそうなコマンドおぼえがき

ビルド docker-compose build # Build or rebuild services 起動、停止 docker-compose up # Create and start containers docker-compose up -d # デーモンとして起動 docker-compose start # サービスを開始 docker-compose restart # サービスを再起動 do…

Alpine Linuxで素のRailsが動くDockerfile を作った

DBはPostgreSQLで、他に余分なgemを入れなければこんな感じ FROM ruby:2.5.0-alpine COPY Gemfile* /myapp/ WORKDIR /myapp RUN apk upgrade --no-cache && \ apk add --update --no-cache \ postgresql-client \ nodejs \ tzdata && \ apk add --update --n…