インフラ

AWS上級 #2 ECR — イメージレジストリ
読了 9分

AWS上級 #2 ECR — イメージレジストリ

Amazon ECR private / public、IAM 認証、docker push / pull、イメージスキャン、ライフサイクルポリシー、マルチアーキテクチャ (linux/amd64 + arm64) まで — ECS と Lambda が持っていくイメージをどこに保管するか。

Docker 実戦 #2 Django + PostgreSQL compose — 二つのコンテナを一束に
読了 8分

Docker 実戦 #2 Django + PostgreSQL compose — 二つのコンテナを一束に

Django アプリと PostgreSQL を docker compose 一ファイルに束ねる。マイグレーション entrypoint、depends_on の healthcheck 依存、データボリューム、.env 分離、collectstatic まで — compose が解いてくれる構成を運用形に。

K8s 中級 #5 Health check — liveness / readiness / startup probe
読了 20分

K8s 中級 #5 Health check — liveness / readiness / startup probe

[#4](/ja/posts/k8s-intermediate-4) まで Pod のリソースモデルをまとめたとすれば、この記事は K8s がコンテナの「生存」と「トラフィックを受ける準備」をどう判断するかのモデルです。3 種類の probe — liveness、readiness、startup — がそれぞれ違う役割を担い、誤って設定すると無限再起動ループ・トラフィック取りこぼし・起動失敗のような運用事故に直結します。`httpGet` / `tcpSocket` / `exec` の 3 つの検査方式、`initialDelaySeconds` / `periodSeconds` / `failureThreshold` のような共通パラメータ、liveness に外部依存を入れたときの cascading failure、`terminationGracePeriodSeconds` と PreStop フックが描く graceful shutdown まで 1 サイクルでまとめます。

RHEL 上級 #1 ブートプロセス — GRUB2、dracut、レスキューモード
読了 11分

RHEL 上級 #1 ブートプロセス — GRUB2、dracut、レスキューモード

RHEL マシンに電源が入ってからログインプロンプトが出るまでの全体の流れを段階別に整理します。UEFI/BIOS、GRUB2 設定と grub2-mkconfig、initramfs と dracut 再生成、systemd ターゲットと default.target、rescue/emergency モード、GRUB 編集を経て root パスワードを復旧する手順まで 1 サイクルで扱います。

AWS上級 #1 ECS と Fargate — コンテナのデプロイ
読了 12分

AWS上級 #1 ECS と Fargate — コンテナのデプロイ

ECS の動作 (vs EKS)、Cluster / Service / Task / Task Definition の 4 つの構成要素、EC2 launch type vs Fargate、ALB / VPC との接続、最初のコンテナデプロイまで — AWS の上にコンテナをどう載せるかを一気に。

Docker 実戦 #1 FastAPI コンテナ化 — uv・マルチステージ・non-root
読了 9分

Docker 実戦 #1 FastAPI コンテナ化 — uv・マルチステージ・non-root

実戦シリーズの最初の記事。最も典型的なシナリオである FastAPI アプリをコンテナとして束ねる。uv ベースのスリムなベース、マルチステージでビルド依存とランタイム依存を分離、non-root ユーザ、HEALTHCHECK まで — 運用にすぐ乗せられる形で。

K8s 中級 #4 resources.requests / limits — Pod のリソース要求と上限
読了 17分

K8s 中級 #4 resources.requests / limits — Pod のリソース要求と上限

[#3](/ja/posts/k8s-intermediate-3) まで外部トラフィックがクラスタの中へ入ってくる道をまとめました。この記事の視点は再び Pod の中に入ってきます — コンテナが CPU とメモリをどう要求し、どう制限を受けるかのモデルです。`resources.requests` はスケジューラがノードを選ぶときに見る値で、`resources.limits` は kubelet がランタイムに強制する上限です。この 2 つの分離、QoS クラス(Guaranteed / Burstable / BestEffort)、CPU throttling と OOMKilled の違い、JVM・Go ランタイムの cgroup 認識、`LimitRange` で namespace のデフォルトをかけるパターンまで 1 サイクルでまとめます。

RHEL 中級 #7 コンテナ入門 — Podman/Buildah/Skopeo
読了 10分

RHEL 中級 #7 コンテナ入門 — Podman/Buildah/Skopeo

RHEL 9 のコンテナ標準は Podman です。Docker とほぼ同じコマンドを使いながらもデーモンがなく、rootless で回り、systemd と一体のように調和する構造を運用観点から見ます。Buildah でイメージをビルドし、Skopeo でレジストリの間を移すフローまで 1 サイクルで整理します。

AWS中級 #7 CloudFront で静的サイトを配信
読了 9分

AWS中級 #7 CloudFront で静的サイトを配信

AWS のグローバル CDN、CloudFront。Origin / Behavior / Cache Policy の流れ、S3 + CloudFront 静的ホスティングパターン、OAC で S3 を安全に隠す方法、そして無効化 (invalidation) の運用。

Docker 上級 #6 プロダクション運用 — graceful shutdown、healthcheck、restart
読了 9分

Docker 上級 #6 プロダクション運用 — graceful shutdown、healthcheck、restart

PID 1 の信号処理、SIGTERM グレースフル終了の正確な流れ、init と dumb-init の役割、restart 方針の深掘り、liveness vs readiness の概念。一コンテナをプロダクションで安定的に回す細部をまとめて整理します。Docker 上級シリーズの締めくくり。

K8s 中級 #3 Ingress と Ingress Controller — 外部入口
読了 19分

K8s 中級 #3 Ingress と Ingress Controller — 外部入口

[K8s 基礎 #5](/ja/posts/k8s-basics-5) の LoadBalancer は外部入口の標準ですが、外部公開が必要な Service が数十個あれば、Service ごとにクラウド LoadBalancer を 1 つずつ立てるコスト・管理の負担が急速に膨らみます。ドメインやパスごとにトラフィックを分けなければならない要求も、LoadBalancer 1 段では解けません。この記事ではその負担を 1 か所に集めるオブジェクト `Ingress` と、そのマニフェストを実際のトラフィックに解いてくれる Ingress Controller(nginx / Traefik / GKE Ingress / AWS ALB Controller など)の 2 層モデル、ホスト・パスベースルーティング、`pathType`、TLS 終端、`IngressClass` まで 1 サイクルでまとめます。

AWS中級 #6 ALB / NLB と ACM (HTTPS)
読了 8分

AWS中級 #6 ALB / NLB と ACM (HTTPS)

AWS のマネージドロードバランサー ALB / NLB / GWLB の違い、Listener / Target Group / Health Check の流れ、そして ACM で証明書を発行して HTTPS を一気に貼り付ける運用。