レンタルサーバーでホスティングしている静的なWebサイトをAWSに移行することにしました。このWebサイトは世界中のユーザーに閲覧されています。最適なアーキテクチャを選択してください。

  1. パブリックアクセスを許可したS3バケットを作成して、ソースコードを配置する。S3バケットを複数のAWSリージョンにレプリケートして、各リージョンにて配信をする。
  2. ソースコードをAmplifyにデプロイして、配信する。
  3. パブリックアクセスを拒否し、Origin Access Controlを設定したS3バケットを作成して、ソースコードを配置する。Amazon CloudFrontを構成し、そのオリジンにS3バケットを設定する。
  4. ALBとEC2インスタンスを作成して、EC2インスタンス内にソースコードを配置する。
解答

正解は3番です。

静的なWebサイトということはhtml,CSS,Javascript,その他画像などのみで構成されているため、PHPやRubyなどのバックエンドで動かすための仮想サーバーは必要ありません。
また、世界中からアクセスされる場合はCDN(Content Delivery Network)であるCloudFrontを使うのが最も効率的です。

  1. Route53にドメインに対応するIPアドレスを問い合わせる
  2. CloudFrontのIPアドレスを取得して、CloudFrontにアクセスする
  3. CloudFrontにキャッシュがあれば、レスポンスを返す。なければ、オリジンであるS3バケットにアクセスしてレスポンスを返す。

昨今では、SSL/TLSで暗号化したHTTPS通信が主流ですので、 ACMで発行したSSL証明書をCloudFrontにアタッチします。 ACMを利用して、SSL証明書を発行すれば、証明書の料金はかからず、1年間の自動更新も行えるので、めちゃくちゃ便利です。

私もこのオンライン学習で学びました!

IT資格の人気オンラインコース