とある事情で Ubuntu 18.04 のクリーンで直ぐにぶち壊せる環境が欲しかったので virt-builder で入れようとしたらすごくハマった件。 virt-builder でゲストを作って virt-resize でリサイズして virt-customize でカスタマイズ - Qiita でやってたのをもっ…
普段 PHP のコードは PhpStorm で書いているので VSCode で PHP のコードを開くことはほとんどありませんが、たまに PhpStorm では OK なのに Phan などの静的解析ではエラーになることがあり、その修正のために何度も phan コマンドを叩くのは辛いので(な…
とあるプロジェクトで phpstan/phpstan-shim を過去に一時的に入れていたことがあって、もう使わないので削除しようとしたところ、composer.json からは消えていたものの実際には削除出来ていませんでした。 こんな感じの依存関係になっています(これは説明…
先日 vagrant-libvirt を使ってみました が、libvirt も terraform-provider-libvirt を使えば Terraform で管理できるので試してみました。 インストール Terraform オフィシャルのプロバイダであれば terraform init で自動的にバイナリがダウンロードされ…
ずいぶん前に Docker Desktop (Docker for Windows) のために Hyper-V を有効にしたため VirtualBox が使えなくなりました。それに伴って Vagrant も使わなくなりました。 最初は Vagrant が使えなくなるのは辛いかな・・と思っていたのですが、開発系の作業…
ずいぶん前に Docker Desktop (Docker for Windows) のために Hyper-V を有効にしたため VirtualBox が使えなくなりました。それに伴って Vagrant も使わなくなりました。 最初は Vagrant が使えなくなるのは辛いかな・・と思っていたのですが、開発系の作業…
AWS DataSync はオンプレから AWS 上の S3 や EFS にデータを転送するものというイメージだったので、それならあまり使う機会はないかなー、と思っていたのですが下記によると EFS と S3 の間でデータの転送もできるので、それなら使う機会もあるかもー、と…
今まで EC2 インスタンスや EBS のバックアップには cron でスクリプトを回したり CloudWatch Events のスケジュールからの Lambda とかでしかやったことなかったので、Amazon Data Lifecycle Manager (DLM) と AWS Backup を EC2 と EBS だけでですが試して…
axios とかでエラーになったとき、 const axios = require('axios').default; async function f1() { await axios.get('http://localhost:9999'); } async function f2() { await f1(); } f2().catch(err => console.error(err.stack)); 素のままだとほとん…
Now という PaaS(静的サイトしかできないものだと思っていたけど動的もできたらしい)がいつのまにか Vercel という名前に変わった? ようなので試してみました。 ZEIT is now Vercel – Vercel イントロダクションだと Github などのコードリポジトリからデ…
2020/09/30 まで無料枠が拡大されているらしいので使ってみました。 https://aws.amazon.com/jp/workspaces/pricing/#FreeTier がしかし、Amazon WorkSpaces を使って最初の2ヶ月間は元々無料枠があるので、あえて今使わなくても良かったかも。どうせちょっ…
AWS Serverless Application Model (AWS SAM)を素振りしたので次は AWS CDK を試してみました。 チュートリアル 下記のチュートリアルを見ながら試してみます。 https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html typescript ts-node aws-cdk …
Serverless Framework を素振り したので次は AWS SAM を素振りしてみました。 インストール まずは AWS SAM CLI をインストールします。 Linux へのインストール手順でおもむろに Homebrew が出てきます。 https://docs.aws.amazon.com/serverless-applicat…
Serverless Framework とは AWS Lambda などの FaaS を構成管理するツールです。AWS 専用というわけではなくさまざなクラウドプロバイダの FaaS をサポートしています。 今回は AWS Lambda の構成管理を試したかったので下記のドキュメントを参考に素振りし…
tcpdump で次のようにキャプって保存したファイルは wireshark で開いて解析できます。 tcpdump -nn -w a.cap port 80 wireshark なら tcpdump よりもいろいろな解析が可能なので、よくサーバでキャプったファイルから HTTP などの TCP ストリームを取り出す…
firewalld でインタフェースやソースアドレスに基づいて特定のゾーンに入ったパケットが、そのゾーンに設定されているサービスやポートにマッチしなかったときのデフォルトの動作は、ゾーンの target で指定します。 指定します、と言っても定義済のゾーンで…
下記によると Amazon SES の SMTP エンドポイントに VPC エンドポイント(Private Link)経由でアクセスできるようになったので、インターネットアクセスの無いプライベートサブネットからでも VPC エンドポイント経由で SMTP でメールを送れるようになった…
何となくふんわりとしか理解していなくて、実際のところ TCP backlog が溢れたときに Client~Server 間で何が起こるかよく判っていなかったので、実際に backlog が 1 で accept しない簡易な TCP サーバを作り、tcpdump でどのようなパケットが飛び交うか…
複数の Lambda 関数で構成される環境を、基本的な構成は Terraform で管理しつつ、Lambda 関数のコードは make で aws cli を呼び出してデプロイするメモ。 Lambda 関数のコードも含めてすべてを Terraform で管理することもできると思いますが・・・それだ…
だいぶ前に社内ブログで次のような方法で tmux でペイン分割して複数コマンドを同時に実行する方法を紹介していたのですが、 tmux new-session -d ping 1.1.1.1 &&\ tmux split-window ping 8.8.8.8 &&\ tmux split-window ping 8.8.4.4 &&\ tmux set-window…
こんな感じに centos8.ks.cfg を作成して、 #version=RHEL8 cmdline url --url=http://ftp.riken.jp/Linux/centos/8.1.1911/BaseOS/x86_64/os/ lang en_US.UTF-8 keyboard --vckeymap=jp --xlayouts=jp timezone Asia/Tokyo --isUtc --ntpservers=192.168.2.…
Gitlab は マージリクエストに対してそれがマージされた結果を元にパイプラインを実行できます。 Pipelines for Merged Results | GitLab 便利そうですけど、これは gitlab.com なら Silver 以上、セルフホスティングなら Premium 以上じゃないと使えないよ…
js には Power Assert という便利なパッケージがあります。私自身は js でテストをほとんど書いたことがないので使ったこと無いのですが、例えば次のようなアサーションが、 assert(ary.indexOf(zero) === two) 次のように assert の各部位の値が表示される…
PostgreSQL のレプリケーションははるか昔に pgpool (pgpool-II ではなく) でレプリケーションさせて以来まったく触ってなかったので、組み込みのストリーミングレプリケーションをサクッと試してみました。 他にも色々パラメータを調整すべきものがあるらい…
わりとよくある、複数の項目に検索条件が入力できて、入力した項目だけを検索条件として使用し、未入力の項目は検索条件には使わない、というフォーム、クエリビルダのようなものを使わないなら IS NOT FALSE を使うと便利です。 SELECT * FROM t WHERE ( a …
Ansible AWX を素振りしたメモ。WebUI から Ansible を実行して実行結果を記録・閲覧したり、役割ベースでアクセスコントロールしたり、スケジュールで自動で Ansible を実行したり、メールや Slack などで通知したり、などなど、いろいろできます。 Ansible…
Ansible で大量のファイルをコピーしたいときは copy よりも synchronize の方が早いですが、 - hosts: all become: yes tasks: - name: synchronize many files synchronize: src: many-files/ dest: /tmp/many-files/ これだけだと rsync の -a が指定され…
snmptrap などによる通知を Nagios のパッシブチェックで受けるとき、アラートになったあと手動で解除するまでずっとアラート状態のままになります。解除(OK)もパッシブで受けるようになっていれば別ですけど・・・ なんとなくずっとアラート状態のままなの…
[Loki]Grafana Loki を素振りしたメモ Grafana Loki が ちょっと前に v1.0.0 がリリースされて GA になっていた ので素振りしました。 試したバージョンは v1.2.0 です。Kubernetes とかはよくわからないのでスルーしてます。 概要 Grafana Loki は Grafana …
systemd で同じプロセスを複数立ち上げる方法。Supervisord なら numprocs を指定するだけですけど systemd には相当する設定項目がありません。 ので、テンプレートユニットを使って、1つのユニットファイルを元に複数のプロセスを立ち上げます。 worker@.s…