CloudFront 入門 — CDN の基本と設定
Amazon CloudFront は AWS が提供する CDN(Content Delivery Network)です。世界中に配置されたエッジロケーションを通じてコンテンツをユーザーに近い場所から配信し、レイテンシの削減とオリジンサー…
Docker Compose 入門 — 複数コンテナを一括管理
Web アプリケーションの開発環境は、アプリ本体だけでは完結しません。データベース、キャッシュ、リバースプロキシなど、複数のコンテナを同時に動かす必要があります。これらを docker run で 1 つずつ起動すると、ポート・ネットワーク…
S3 で静的 Web サイトをホスティングする
HTML/CSS/JS だけで完結する静的サイト(ランディングページ、製品ドキュメント、SPA のビルド成果物など)は、サーバーを立てずに Amazon S3 でホスティングできる。本記事では次の 2 パターンをハンズオン形式で構築する。
S3 入門 — バケットポリシーとアクセス制御を理解する
Amazon S3 はシンプルに見えて、アクセス制御の仕組みが複数レイヤーに分かれているため、入門者がつまずきやすいサービスです。「意図せず公開してしまった」「正しく設定したつもりがアクセスできない」といった事故の多くは、各制御レイヤーの関…
マルチステージビルドでイメージサイズを半分にする
Docker イメージのサイズは、ビルド時間・デプロイ時間・レジストリ転送量・コンテナ起動、そして攻撃対象領域(アタックサーフェス)に直結します。ビルドに必要なツール(コンパイラ・devパッケージ・ソース一式)を最終イメージに残すと、実行に…
セキュリティグループ vs ネットワークACL:AWSの2つのファイアウォールを使い分ける
AWSのVPCには、トラフィックを制御する仕組みが2種類あります。セキュリティグループ(Security Group, SG) と ネットワークACL(Network ACL, NACL) です。どちらも「ファイアウォール」と説明されるため…
標準 auth_user は一切変更しない。紐付けは専用テーブルで持つ
個人開発の株式分析Webアプリで、認証基盤を全面的に入れ替えました。移行元は「Django allauth + Simple JWT のメール/パスワード認証」、移行先は「AWS Cognito User Pool ベースの OAuth 2…
Docker イメージのレイヤー構造を理解する
Docker を使い始めると、docker build のログに CACHED が並んだり、Dockerfile の書き方を少し変えるだけでビルド時間が大きく変わったりする場面に出会います。その背景にあるのが「イメージのレイヤー構造」です。
標準 auth_user は一切変更しない。紐付けは専用テーブルで持つ
個人開発の株式分析Webアプリで、認証基盤を全面的に入れ替えました。移行元は「Django allauth + Simple JWT のメール/パスワード認証」、移行先は「AWS Cognito User Pool ベースの OAuth 2…
パブリック/プライベートサブネットの設計と使い分け
AWS で VPC を設計するとき、最初に迷うのが「サブネットをどう分けるか」です。とくに パブリックサブネット と プライベートサブネット の違いと使い分けは、セキュリティにもコストにも直結する基本設計です。この記事では、両者の違いを「ル…
