AWS S3の転送コストって結構下がってるのね

AWS S3

仕事で使っているAWS、オンプレミスからの移行が中途半端な部分があって(日程が厳しかったそうなので仕方ない)、数十KB~数MBのファイルがEC2のストレージに大量に入っています。ジャケット画像とか試聴用のMP3ファイルとか。本当は新システムリリース時にS3に移行したかったけど大量すぎて上手く行かなかったらしい。まあねえ。

続きを読む

AWS Lightsailのプランを変更 【#np2020】

Amazon Lightsail

先週ぐらいからサーバがもっさりすることがあって、放って置いても直らずインスタンスを再起動すると戻るんだけど2日したらまたもっさりの繰り返し。良く言われるCPUクレジットの話かなと思ったけれど、Lightsailのメトリックス見るとCPU使用量はかなり低い(3%前後)ので多分その可能性はない、DBかなあと思ったけれどそっちも同じ。おかしいなと思いつつメモリの使用量を見てみると、メモリの使用量が大きくなってて、うわヤバい何かやっちゃってる……?と思ったけどそうじゃありませんでした。一番安いプランのままだったよ……

続きを読む

【CentOS】ターミナルに「You have new mail in /var/spool/mail/vagrant」と表示されて鬱陶しい【Vagrant】

centos.png ローカルのVagrant上で作業しているとき、ターミナルで何か処理をするごとに「You have new mail in /var/spool/mail/vagrant」と表示されるようになった。多分ローカルのcrontabがエラーでも吐いているんだろうと思うんだけど、確認出来ないし削除出来ないし鬱陶しい。どうしたもんか。

とにかくメールを見てみる

メールを開くためにはmailコマンドが使えないとダメらしい。あいにく
$ mail
-bash: mail: command not found
とのことだったので、mailコマンドを使うためにmailxというアプリケーションをインストールする。
$ sudo yum install mailx
するとmailコマンドでメールの一覧が見れるようになる。
$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/vagrant": 2452 messages 2452 new
>N  1 (Cron Daemon)         Wed Feb 13 05:00  25/1065  "Cron <vagrant@nobodyp"
N  2 (Cron Daemon)         Tue Feb 19 09:00  25/1065  "Cron <vagrant@nobodyp"
N  3 (Cron Daemon)         Wed Feb 20 01:30  34/1435  "Cron <vagrant@nobodyp"
N  4 (Cron Daemon)         Thu Feb 21 04:18  30/1445  "Cron <vagrant@nobodyp"
N  5 (Cron Daemon)         Tue Feb 26 04:05  30/1445  "Cron <vagrant@nobodyp"
N  6 (Cron Daemon)         Thu Feb 28 04:00  25/1065  "Cron <vagrant@nobodyp"
N  7 (Cron Daemon)         Tue Mar 12 07:30  25/1065  "Cron <vagrant@nobodyp"
N  8 (Cron Daemon)         Tue Mar 19 00:00  25/1056  "Cron <vagrant@nobodyp"
N  9 (Cron Daemon)         Tue Mar 19 03:49  30/1445  "Cron <vagrant@nobodyp"
N 10 (Cron Daemon)         Tue Apr 16 03:03  30/1445  "Cron <vagrant@nobodyp
どうやら全部で2,452通も溜まっているらしい。マジか。一応チェックしたけど、ローカルでテストしてたRSSリーダーの更新エラーだった。今はもう新しい環境の方で構築していてローカルのRSSリーダーは止めているので必要ない。というかそれ以前に、crontabの結果がここに送られてきているのがおかしい。

crontabに宛先を設定

ローカルとは言え一応エラーは受け取りたいので、設定をしておく。
$ crontab -e
最上部に以下を書く。
MAILTO="hoge@gmail.com"
これで結果はここに送られるはず。

メールを一括削除

何通か見てみたけど全部同じっぽかったので、一括削除。 mailコマンドに一括削除ってあるのかなと思ったけど、メールの削除はあっても一括削除はないので、これで削除。
cat /dev/null > /var/spool/mail/vagrant
$ mail
No mail for vagrant
綺麗になった。

参考

Linux や mac で You have new mail in … と表示される | uuutee.log

続きを読む

【メモ】Chefがバージョンアップしてライセンスエラーが出るようになった【#np2020】

「Chef」が100%オープンソースに | OSDN Magazine

設定管理ツール「Chef」を開発する米Chefは4月2日、Chefソフトウェアを完全にオープンソースとして公開することを発表した。ライセンスはApache License 2.0で、商標ポリシーが守られている限りソースコードの使用、配布、収益化に制限を設けないという。  Chefはこれまでコア部分のみがオープンソースとして提供されていたが、今回プロダクトコードのすべてをオープンソースとする。これによりコミュニティの目標とChefの目標を連携させることができ、より良いソフトウェアの構築につながると期待を寄せている。  ライセンスは、Chef Infra、Chef InSpec、Chef Habitatと一貫性のあるApache License 2を採用、商標ポリシーが守られている限り、ソースコードの使用、配布、収益化に制限を設けないとしている。今後、Chefチームが生成するソフトウェアはすべてオープンなリポジトリに入り、ロードマップなどの製品開発プロセスについてもオープンにしていくという。

Chefがオープンソースになった影響なのか、ver.15からライセンスへの同意を設定ファイルに含めないといけなくなったらしく、そのままではエラーが出て動かない。
==> default: Chef Infra Client cannot execute without accepting the license Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.
ドキュメントを読むとvagrantではこう追加せよとあったのでやってみたんだけど……

Accepting the Chef License — Chef Docs

Vagrant This license acceptance can be done via the arguments API:

config.vm.provision "chef_zero" do |chef|
chef.arguments = "--chef-license accept"
end
怒られた。
==> default: /opt/chef/embedded/lib/ruby/gems/2.6.0/gems/mixlib-cli-2.0.3/lib/mixlib/cli.rb:230:in `parse_options’: invalid option: –chef-license (OptionParser::InvalidOption)
「–chef-license」っていうオプションなんか知らねーって言われてるみたい。多分、何かをアップデートしたら動くようになるんだろうなと思いつつ、面倒くさかったのでドキュメントにあったもうひとつの方法「Chefのバージョンを固定する」を試す。
config.vm.provision "chef_zero" do |chef|
chef.version = "14.12.3"
end
無事、vagrant起動。初めからこうしておけばよかったんや…… とはいえ、バージョンアップしないというのもアレなので、そのうち何かしたいと思います。どうしたらいいかわかんないけど。誰か教えてください。

続きを読む

【メモ】LaravelでBASIC認証

認証が必要なページを作るんだったらきちんと認証システムを使って設計しましょう……とは思うんですけど、それほどセキュリティが必要ではないけれど閲覧は制限しておきたいみたいなページってたまにあって(管理用のショートカット集とか実験用スペースとか)、いちいちDBにユーザー設定してってスルの面倒くさい。相変わらず今でもApache使ってるんだし、出来ればBASIC認証でやってしまいたい。

続きを読む

【メモ】npm「package-lock.json」がコンフリクトしたら

npm ローカル環境で環境に変更を加えてpushしようと思ったら「package-lock.json」がコンフリクト。どうやら別のローカル環境で行った変更をマージするのを忘れていたみたい。これは面倒なことになった……と思ったのだけど、どうやら普通に

$ npm install
とするだけで勝手に直してくれるらしい。マジか。

やってみた

npm WARN conflict A git conflict was detected in package-lock.json. Attempting to auto-resolve.
npm WARN conflict To make this happen automatically on git rebase/merge, consider using the npm-merge-driver:
npm WARN conflict $ npx npm-merge-driver install -g
などなどと表示され、
updated 1 package and audited 16936 packages in 22.821s
found 0 vulnerabilities
問題なく終了! そのままマージコミットして事なきを得ましたとさ。 慌てて手作業で直し始めなくて良かった。素晴らしすぎ。 これに限らず今さらながら様々な自動化の恩恵を受けている気がします。モダンな開発環境、ステキ。 あと、
Attempting to auto-resolve.
っていう言い回しが控えめでとても好き。

参考

npm installでコンフリクトしたpackage-lock.jsonを自動でresolveしてくた – nwtgck / Ryo Ota package-lock.jsonについて知りたくても聞けなかったこと – Qiita

続きを読む