0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wordpress環境を進化させたい(構築編)

Posted at

はじめに

実際にALBをオリジンとするCloudFrontを作成してWordpressを配信する環境を構築しました。オリジン設定やRoute53のレコードで結構ハマってしまいました。

システム構成

使用するAWSサービス

  • CloudFront: ALBをオリジンとし、コンテンツのキャッシュと最適化
  • ALB: EC2の負荷分散
  • EC2 (WordPress Webサーバー): マルチAZ構成で配置
  • RDS: マルチAZで配置
  • Route 53: DNS管理、CloudFrontとの統合

構成図

構成図.png

前提

  • WordPress環境の構築は完了していること
  • 独自ドメインをRoute53に登録済みであること
  • ACMでCloudFront、ALBのそれぞれでSSL証明書を発行していること
  • Route53のホストゾーンが作成済みで、ALBのAレコードが設定されているこ

手順

ALB の設定確認

  • ALB が HTTPS (443) をリスニング しているか(セキュリティグループのインバウンドも確認)
  • 証明書 (ACM) が適用 されているか
  • ターゲットグループが EC2 (WordPress) と関連付けられているか
  • ヘルスチェックが成功しているか
    スクリーンショット 2025-02-04 185156.png
    スクリーンショット 2025-02-04 185246.png

Route53のDNS設定

独自ドメインで設定したホストゾーンにて以下のレコードを作成
  • Aレコード(エイリアス)を作成
  • レコード名 → 独自ドメイン
  • エイリアスターゲット → ALBのドメイン名を選択

CloudFront ディストリビューション作成

  • オリジンドメイン → 独自ドメイン名(Route53でALBと紐付けているため)
  • プロトコル → HTTPSのみ
    スクリーンショット 2025-02-04 190330.png

  • ビヘイビア
  • ビューワープロトコルポリシー→Redirect HTTP to HTTPS
  • 許可された HTTP メソッド→GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
  • キャッシュポリシー→CatchingDisabled
  • オリジンリクエストポリシー→AllViewerExceptHostHeader
    スクリーンショット 2025-02-04 190307.png
    スクリーンショット 2025-02-04 190404.png

  • 代替ドメイン名→独自ドメイン名
  • 証明書→us-east-1で発行した証明書
    スクリーンショット 2025-02-04 190439.png

確認

スクリーンショット 2025-02-04 192353.png
curlの結果
X-Cache: Miss from cloudfront(キャッシュではなくオリジンの応答)
Via: 1.1 xxxxxxxxxxxxxxxxxx.cloudfront.net (CloudFront)

最後に

オリジンドメインの設定やRoute53のレコード、またホストゾーン作成時に自動で生成されるネームサーバーがドメイン登録されているネームサーバーと一致していなかったりなどが注意点として挙げられると思います。それを踏まえて次回は作成の際の注意点をまとめます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?