朝活のもくもく会に参加した
https://morimori.connpass.com/event/395025/
週末は 8:00~9:30 開催。開始時にやること、終了時にやったことを投稿する。
時間を予約すると、それだけでメリハリがつく気がする。続けてみる。
先延ばしにしていた登壇スライドリポジトリの整備ができた。
https://github.com/JHashimoto0518/slide-deck/
再起動なしでマウントしたい
OS を再起動すると/etc/fstabを元にマウントされるが、再起動を避けたいケースがある。
# fstabに記述されているすべてのファイルシステムをマウントする sudo mount -a # 特定のエントリだけマウントする sudo mount /mountpoint
マウント先のEFSファイルシステムIDを確認する
複数の EFS ファイルシステムがある。誤ったファイルシステムをマウントしていないか確認したい。
dfの出力では EFS の接続先が 127.0.0.1 となり、ファイルシステム ID を確認できない。どうすればよいか?
df -h # 127.0.0.1:/path ...
EFS マウントヘルパーが TLS マウント時に自動生成するファイルをみればよい。
ファイルシステム ID がfs-xxxxxxxxxxxxxx、マウントポイントが/home/my-user/contents、トンネルのポートが20000だとすると、以下のように出力される。
sudo ls -1 /var/run/efs/ # fs-xxxxxxxxxxxxxxx.home.my-user.contents.20000
EFSの接続先が127.0.0.1である理由
先に記載したとおり、EFS の接続先が 127.0.0.1 として出力される。Amazon Linux 2023 (AL2023) で確認。
# AL2 fs-xxxxxxxxxxxxxx.efs.ap-northeast-1.amazonaws.com:/contents ... /home/my-user/contents # AL2023 127.0.0.1:/contents ... /home/my-user/contents
原因は Amazon Linux でサポートする amazon-efs-utils のバージョンアップ(1 系 → 2 系)の際に、デフォルトでのセキュリティ強化が入ったため。
- amazon-efs-utils 2 系では、EFS マウント時にデフォルトで転送時暗号化が有効になる
- その場合、NFS クライアントは暗号化されたトンネル経由で EFS に接続するため、df コマンドでは接続先が 127.0.0.1 として表示される
参考: https://docs.aws.amazon.com/ja_jp/efs/latest/ug/encryption-in-transit.html
EFS マウントヘルパーは、efs-proxy (efs-utils バージョン 2.0.0 以降) または stunnel (efs-utils の以前のバージョン) を使用して EFS ファイルシステムとの安全な TLS 接続を確立することでプロセスを管理します。