AWSを利用した個人フォトフォリオのウェブサイトホスティング

SUNGJUN·2024년 4월 15일
0
post-thumbnail

目標のアーキテクチャ



Amazon S3静的ホスティング

静的ホスティングの特徴

  • ウェブサーバーに既に保存されたhtml文書をユーザーに提供
  • ユーザーは、サーバーに保存されたデータが変更されない固定されたウェブページを提供されます。
  • すべてのユーザーは、同じ結果のウェブページをサーバーに要求し、応答を受けます。
  • 頻繁に変更されないページに使用(会社紹介、個人ポートフォリオなど)

S3の静的ホスティングはHTTP エンドポイントのみをサポートします。

s3静的ホスティング実習については
scribeを利用して作成してみました。
注意点:ドメイン名とバケット名を一致させる必要があります。

https://scribehow.com/shared/Create_and_Deploy_a_Personal_Website_on_AWS_S3__ZCtJN0YMRuWNpWF6MwyQ1A



HTTPSをサポートするためには以下のサービスを組み合わせる必要があります。

Amazon Route53

Amazon Route 53は、可用性と拡張性に優れたDNS(ドメインネームシステム)Webサービスです。

Amazon Ceritificate Manger(ACM)

AWSサービスおよび接続された内部リソースに使用する公認およびプライベートSSL/TLS(Secure Sockets Layer/トランスポートレイヤーセキュリティ)証明書を簡単にプロビジョニング、管理、展開できるサービスです。

Amazon CloudFront

CloudFrontはAWSが提供するCDNサービスです。キャッシングを通じてユーザーにもっと速い転送速度を提供することを目的としています。CloudFrontは世界中のあちこちにEdge Server(Location)を置き、Clientに一番近いEdge Serverを探し、Latencyを最小化させて速いデータを提供します。


早速実習をしてみましょう。


・ドメインの購入
AWSでもドメインを購入することが可能ですが
テストの目的としては高い金額のため私は別のドメイン販売サイトで購入しました。

ACM設定


ACM -> 証明書 -> リクエストを選択


パブリック証明書を選択

ドメイン名を入力、その他はディフォルト設定

その他はディフォルト設定でリクエストする。


ACM発行完了!

CloudFront設定

注意点:CloudFrontサービスのSSL証明書を作成するため
リージョンは「us-east1」に設定が必要

cloudfront -> ディストリビューションに移動
「ディストリビューション作成」をクリック

Origin domain:静的ウェブサイトホスティングのサイトを入力

参考
形式:http://<サイト名>.s3-website-ap-northeast-1.amazonaws.com (〇)
<サイト名>.s3.ap-northeast-1.amazonaws.com (X)

名前:名前を入力
Enable Origin Shield:いいえ (はいの場合費用が発生)


ビューワープロトコルポリシー: Redirect HTTP to HTTPS


作成したカスタムSSL証明書を登録
その他はディフォルト設定でOK

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

Route53設定

Route53のサービスに移動してroute53-> host zoneに移動しホストゾーンの作成をクリック

ドメイン名:購入したドメイン名を入力
説明:省略可
タイプ:インターネットに公開する目的のためパブリックホストゾーンに選択。
タグ:省略可

入力完了したらホストゾーンを登録

登録したらスクリーンショットの下3つが児童に登録される(NS,SOA,CNAME)
ここでAレコードを登録する必要があるためレコードを作成を選択。
※スクリーンショットでは作成済み

レコード名:レコード名を確認しサブドメインがあれば入力
レコードタイプ:Aレコード
エイリアス:チェック
トラフィックのルーティング先:CloudFrontディストリビューションエイリアス
エリアス:作成したエリアスを選択
ルーティングポリシー:シンプルルーティング

上記を作成後、「レコードを作成」する

これで完成!

課題点

CloudFrontを利用してHTTPSの接続はされているが
Originに直接接続を防ぐ機能はない状態です。
次はOAI,OACを利用してOrigin接続を防ぐ機能を導入する予定です!

profile
클라우드를 좋아하는 엔지니어

0개의 댓글