らくがきちょう

なんとなく

Amazon Linux2 初期化用シェルスクリプト

しばしばテスト用の Amazon Linux2 を構築するのですが、自分なりの初期設定をスクリプト化してみました。「初期設定を手間なくすませる」方法は、他に以下が考えられると思います。

  1. Ansible で初期設定用の Playbook を作成する
  2. 初期設定を済ませた AMI を作成しておく
  3. cloud-init で初期設定する

Ansible は手軽だし、エージェントも不要なので「良い手段」のひとつだと思います。 大量にテスト用 Linux を用意するのであれば AMI 化するのもひとつの方法だと思いますが、そこまで頻度が高いわけでは無いのであれば、毎回 AWS が提供する最新ベースイメージを Ansible やスクリプト等で設定しても良いと思います。 cloud-init も手軽な方法のひとつですが、「cloud-init が使えない環境には応用し辛い」という点はデメリットだと思います。

続きを読む

Windows の WSL2 な Ubuntu に homebrew をインストールする

macOS のパッケージマネージャとしてお馴染みの homebrew が WSL にも対応したそうなので、実際に WSL2 へインストールしてみました。 インストール手順は公式サイトに記載されています。

続きを読む

AWS S3 で同じ名前の Bucket を再作成する場合は時間を空ける必要がある

Amazon S3 で Bucket を「意図しないリージョン」で作成してしまった際、やむを得ず、一旦 Bucket を削除して「意図したリージョン」で作成するケースがあるかも知れません。 但し同じ名前で S3 Bucket を再作成する場合、(リージョンの一致・不一致に関わらず) しばらく下記のようなエラーが出て Bucket が作成出来ないことがあります。

Error
A conflicting conditional operation is currently in progress against this resource. Please try again.

f:id:sig9:20191124130442p:plain

正確に「どの程度の間隔をおけば再作成可能なのか?」は分かりませんが、大凡 30 分 ~ 1 時間程度待てば Bucket を再作成出来るようになるはずです。

Python の ntplib を使った NTP クライアントサンプル

Python には PyPintplib というライブラリがあり、手軽に NTP の動作をコーディングすることが出来ます。

続きを読む

C# で FastEnum を試す

FastEnum はキャッシュを効果的に活用することで標準の System.Enum よりも速度を改善したライブラリだそうです。 今回は「どのくらい速いのか?」実際に試してみます。 言語は C# を使います。

続きを読む