Skip to content

Blog

AWS CLI で CloudFront のキャッシュを削除する

awscli から CloudFront のキャッシュ削除 (Create Invalidation) を行うには以下のように実行します。

aws cloudfront create-invalidation --distribution-id ABCD0123456789 --paths "/T*"

これを実行するには IAM で最低限、下記の権限が付与されている必要があります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CFResourceLevelPermission",
      "Effect": "Allow",
      "Action": ["cloudfront:CreateInvalidation"],
      "Resource": "arn:aws:cloudfront::012345678901:distribution/ABCD0123456789"
    }
  ]
}

間接的アクセスの送信元アドレスを X-Forwarded-For で記録する

クライアントから LB や CDN、Reverse Proxy などを介さず、直接、サーバへアクセスする場合、サーバのログには「クライアントの送信元 IP アドレス」が記録されます。しかし、クライアントとサーバの間に LB や CDN、Reverse Proxy を介している場合、サーバから見た送信元 IP アドレスは「LB などのアドレス」に見えてしまいます。 これではサーバ側で正確な送信元を把握出来ない為、LB などで X-Forwarded-For というヘッダにオリジナルの送信元 IP アドレスを挿入します。 サーバは X-Forwarded-For が存在する場合、このヘッダを読み取ることで「本来の正確な送信元 IP アドレス」を理解することが出来ます。 今回は Apache のログに X-Forwarded-For を追加して記録する設定方法をメモしておきます。

ripgrep-all を使って CLI で PDF を検索する

以前に Ubuntu に ripgrep をインストールする というメモを書きました。 ripgrep (rg) は [Rust] 製のツールで grep と同じように検索が行えます。 ripgrep がインストールされている前提ですが、rga を使うとテキストファイルだけで無く、様々なファイルを検索出来るようになります。 ripgrep-all の GitHub ページには以下の説明がされています。

rga is a line-oriented search tool that allows you to look for a regex in a multitude of file types. rga wraps the awesome ripgrep and enables it to search in pdf, docx, sqlite, jpg, movie subtitles (mkv, mp4), etc.

ripgrep も ripgrep-all も macOS であれば Homebrew から、Ubuntu であれば Rust Tools apt repo から、いずれにしても簡単にインストールすることが出来ます。 Rust Tools apt repo のインストール方法は Ubuntu に「Rust Tools apt repo」をインストールする にメモしました。 今回は ripgrep-all を使って PDF ファイルを検索する方法をメモしておきます。

Ubuntu 22 上で作成した Ubuntu 24 のカスタム qcow2 イメージを CML で起動する

以前に以下のメモを書きました。

この過去メモに記載した init-os リポジトリへ新たに Ubuntu 24 の qemu イメージをカスタマイズする為の init-qemu-ubuntu24.sh というスクリプトを追加しました。 今回はこのスクリプトを使って作成した Ubuntu 24 イメージを CML 上で動作させる手順をメモしておきます。

CLI の HTTP クライアントである xh の基本的な使い方

以前に HTTPie のインストールと基本的な使い方 というメモを書きました。 HTTPie は CLI の HTTP / HTTPS クライアントです。 これを Rust で書き直したものが xh です。 xh は HTTPie とオプションがほぼ互換である為、HTTPie の利用経験があれば xh も利用出来るはずです。 HTTPie と xh の比較については How xh compares to HTTPie に以下の記載があります。

Advantages
  • Improved startup speed.
  • Available as a single statically linked binary that's easy to install and carry around.
  • HTTP/2 support.
  • Builtin translation to curl commands with the --curl flag.
  • Short, cheatsheet-style output from --help. (For longer output, pass help.)
Disadvantages
  • Not all of HTTPie's features are implemented. (#4)
  • No plugin system.
  • General immaturity. HTTPie is old and well-tested.
  • Worse documentation.

今回は xh の基本的な使い方をメモしておきます。