【AWS】WordPressをLightsail+CloudFrontに移行した話
こんにちは、ゆーろんです。 今回は今回はレンタルサーバで動いていた当ブログ(yuuronacademy.com)をAWSのLightSail上に移動(お引越し)させたので、そのことに関してお話ししようと思います。
目次 使用したAWSのサービス LightSail CloudFront Route53 ACM 構築したアーキテクチャ 構築にあたっての小話 使用サービス サービス システム 基盤環境 アクセス解析 今後に関して 使用したAWSのサービス まず、今回利用したAWSのサービスに関して簡単に説明します。
LightSail AWS LightSailはAWSが提供しているVPS(仮想プライベートサーバ)です。
仮想マシンのEC2と異なり、VPCやサブネット等の作成も不要で、月額料金なためコスト見積もりしやすい特徴があります。
CloudFront AWS CloudFrontはAWSが提供しているCDN(コンテンツデリバリネットワーク)です。
サイトコンテンツ(静的・動的なウェブコンテンツ、ビデオ、アプリケーションデータなど)をAWSの管理する世界中のエッジサーバに配置することで効率的にデータを配信することができます。
CDNとは
キャッシュサーバなどで構成されたシステムを用いることによって、Webサイト上のコンテンツを迅速にユーザに届けるための仕組み。
通常のWebサイトでは、コンテンツを配信するためのサーバの処理能力やネットワークの帯域幅などの影響で、沢山のユーザーがWebサイトにアクセスするとレスポンスが低下する。
また、物理的に離れた場所からのアクセスに対してネットワーク遅延によりレスポンスが低下する場合がある。そういったものに対処するための仕組みといえる。
Route53 AWS Route53はAWSが提供しているDNS(Domain Name System)です。
Route53ではドメインの登録やDNS、ロードバランサの機能などサイトアクセスのための様々なDNS機能を提供しています。
ゆーろん
Route53の名前の由来はDNSのポート番号が53だからなのかな?
ACM AWS Certificate ManagerはAWSが提供しているSSL/TLS証明書のサービスです。
AWS上でホストされるウェブサイトやアプリケーションに対して、暗号化通信を実現するためのSSL/TLS証明書の取得、管理、自動更新を行うことができます。
構築したアーキテクチャ 今回AWSで構築したリソースのインフラ構成図は概ね以下の通りです。
見ての通りLIghtSail+CloudFrontの構成となっています。 HTTPS化にALBの利用などをする方法もありますが、料金を抑えるためにCloudFrontでSSL終端を行う構成にすることにしました。
SSL終端構成により「サーバへ直接クライアントのアクセスをさせない」、「CloudFrontによるキャッシュ/高速化」を実現しています。
またサイトへのアクセスステップは以下のようになっています。
HTTPSによるアクセス(:443) Route53 CloudFront(:80) Route53 Static IP(Lightsail) 構築にあたっての小話 サイトのインフラ基盤の管理にあたって当初Terraformを利用することを計画し、以下のように実行可能なコードを作成をしました。
GitHub - yuron3141/aws-lightsail-tf: This repo is to create the wp lightsail instance with the terraform. GitHub This repo is to create the wp lightsail instance with the terraform. - yuron3141/aws-lightsail-tf 上記コードをAWS Cloud9上で利用し.tfstateはS3で管理するというものです。