2022-01-01から1年間の記事一覧
小規模なシステムではElasticsearchを1ノードだけで動かすことがある。 その場合に設定しておくべき項目をメモしておく。 設定ファイルは大抵 /etc/elasticsearch/elasticsearch.yml にある。 まず、1ノードでしか動かさないから無駄なディスカバリを無効化…
本番環境でも、常時アクセスが少なく、負荷の予想がしっかりできている場合にはバースト可能なt系インスタンスを使って費用を抑えることもありだ。 RDS 一番安価なリザーブドインスタンス(RI: reserved instance)を買えるdb.t3.microについて検討する1。 d…
データ型 SQLite3の整数型INTEGERは符号付になる。unsignedなんてない。 The value is a signed integer, stored in 0, 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value. Datatypes In SQLite
データ転送 prf. 使い方例 本当に1 Gbpsの帯域を占有できるなら1 GiBのファイルを8秒ほどで転送できる。 帯域を1 Gbps使っている通信路のパケットキャプチャをすると、119 MiB / sec 以上の速さで空きストレージを消費する。
passive checksとactive checks zabbix-agent2を使った監視方法にはpassive checksとactive checksがある。 passive checksはzabbixサーバが監視対象へ定期的に問い合わせ、監視対象にインストールされているzabbix-agent2がCPU負荷などのデータを返す。 act…
sudo amazon-linux-extras enable epel yum clean metadata sudo yum install -y epel-release sudo yum install -y nkf
ちゃんと調べていないから勘違いがあるかもしれない。 権限設定やセキュリティに関する設定をする場合は改めて調べるべきだ。 グループ ユーザは1つ以上のグループに属する。 どのグループにも属さないユーザなど存在しない。 system groupと普通のgroup gro…
Rustで文字列の定数を定義したくなることがある。 文字列定数の実現方法にはいくつかあるがmatch構文の恩恵を受けられるenumを使うと良い場合がある。 ところがRustのenumはC言語のそれに近く、enum variantの値として整数リテラルを設定することはできるが…
AES256の暗号鍵やシークレットソルトなど、ランダムなbyte列をシェルでサクッと欲しい時がある。 head -c NUMで指定バイト分だけ取れるから、base64にパイプで流せば良い。 次のコマンドはランダムな32 byteを base64エンコードして出力する。 head -c 32 /d…
不要なIAMユーザを調べるために、そのIAMユーザのキーが最後に使用された日時と共に一覧を取得したいことがある。 このワンライナーはIAMユーザ名、IAMキーのID、最終使用日時を一覧出力する。 キーを逐次的に調べているので完了するまで時間がかかる。 大量…
SQLite3の新しめの仕様を使いたかったから、自分でビルドする必要があった。 FROM debian:buster RUN apt-get update && \ apt-get install -y git gcc make tcl && \ git clone --depth=1 -b version-3.38.1 https://github.com/sqlite/sqlite.git && \ cd …
全リージョンをチェックするから、応答が返ってくるまでしばらく時間がかかる。 落ち着いて待て。 1件も行が表示されなかったら、全てのリソースが準拠状態にある。 while read REGION; do aws configservice describe-compliance-by-config-rule --region $…
terrafromで以下のようなエラーメッセージが表示されることがある。 │ Error: Invalid legacy provider address │ │ This configuration or its associated state refers to the unqualified provider "aws". │ │ You must complete the Terraform 0.13 upgr…
terrafromなどでRDSインスタンスを変更すると次のメンテナンスウィンドウで反映されるよう予約されるだけで、即座に反映されないことがある。 この状態でAWSコンソールから確認すると「保留中の変更」に表示される。 これは次のコマンドでメンテナスウィンド…
Catalyst 3650でバッファ溢れを起こしてパケットが大量にドロップされていたからチューニングを行う必要があった。 バッファの仕組みと必要なチューニングについてメモする。 Main Memory領域とI/O Memory領域 まず、物理メモリDRAMはCisco IOSの動作に使わ…
そこそこの規模のネットワークにおいて、インターネットへ向かうポートには多量のトラフィックが合流してパケットが破棄されてしまうことがある。 とある環境では上りのトラフィックのパケットだけがインターネットへの出口で大量にドロップされていた。 こ…
SSGではトラップ先のホストを設定しないと、そこからのSNMPのリクエストも受け付けない。 以下のようにSNMPコミュニティを設定したら set snmp community "snmp-com" Read-Only Trap-on traffic version v2c トラップを使わなくとも、以下のようにアクセス許…
paste -s -d ' ' FILE pasteコマンドはパイプから読み取ることを想定してないから、パイプで繋げたいときは-を渡す。 なんかのコマンド | paste -s -d ' ' - sedやtrやawkで頑張ろうとするな。大変だぞ。
あまりよく考えずに作ったから、もっと短くしたり、効率的にしたりできそう。 EC2 インスタンス aws ec2 describe-instances --query 'Reservations[].Instances[]' | jq --raw-output --monochrome-output '.[] | [.InstanceId, (.Tags[] | select(.Key == …
WindowsではLinuxやネットワーク機器と違って1500より大きなMTU(maximum transmission unit)値を細かく設定することはできないようだ。 NICやドライバに依存してフレームサイズの選択肢が用意されている。 デバイスドライバを開いてネットワークアダプター…
もしかして... ICMPは通信許可されているけどUDPは通信許可されていない。 linuxのtracerouteコマンドはデフォルトでUDPプロトコルを使う。 これが原因でICMPは許可しているけどUDPを許可していないホストにはtracerouteが通らない。 tracerouteコマンドはオ…
世界には日本と違う時間(≈ 暦)の考え方で動いている地域、国がわんさかある。 日本で何も考えずに作成したソフトウェアを他の国に持ち込んだら使い物にならないかもしれない。 時間の考え方は大きく2つに分解できる。 1つは暦法であり、もう一つは紀年法で…