0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【AWS S3】静的ウェブサイトの設定方法

Last updated at Posted at 2020-08-12

#はじめに
Route53に登録されたカスタムドメインを使用した静的ウェブサイトの設定のサイトを元に、静的ウェブサイトを作成したい。(すでに作成したため、画像が一番はじめに作成したものと一部異なる場合がございますが、あらかじめご了承ください。)

#手順
##ドメイン購入
AWSでドメイン購入すると高いので(作成時点だと$9~だった)、基本的に1円〜購入可能であるお名前.comで購入する。取得方法はこちら。(サーバー購入はする必要なし。)

##バケット作成

ルートドメインバケットを今回は例としてhoge.workとする。(実際は先ほど購入したドメイン名にして下さい。)
「S3」>「バケットを作成する」を選択。
スクリーンショット 2020-08-12 20.24.37.png
バケット名(hoge.workなど先ほど購入したドメイン名に合わせると良い)を入力。
リージョンは日本に住んでいれば、「アジアパシフィック(東京)」を選択する。
後はデフォルトの設定のままで、作成を押す。
スクリーンショット 2020-08-12 20.26.52.png

##バケットの設定
先ほど作成したルートドメインバケットを選択する。
スクリーンショット 2020-08-12 20.34.53.png
「プロパティ」>「静的ホスティング」を選択。
スクリーンショット 2020-08-12 21.17.33.png
「このバケットを使用してウェブサイトをホストする」を選択する。
インデックスドキュメント名index.html、エラードキュメントerror.html と入力する。保存を選択する。
スクリーンショット 2020-08-12 21.22.58.png
##サーバーアクセスのログ記録を有効化
同じリージョンで、ログ記録用のバケットを作成。(名前の例:logs.hoge.com)(適宜自分の作成したドメイン名で変更する。一意でないとダメなので、すでに存在するようなら、一意になるような名前にする。)
スクリーンショット 2020-08-12 20.24.37.png
作成したバケットに入り「概要」>「フォルダの作成」でログファイル用のフォルダを作成。 (名前の例:logs
スクリーンショット 2020-08-12 21.35.51.png
ルートドメインバケットに入り、「プロパティ」>「Server access logging (サーバーアクセスのログ記録)」を選択。「ログの有効化」を選択する。ターゲットバケットで、下記項目を入力。
・ログファイル用に作成したバケット (logs.example.comなど)
・「ターゲットプレフィックス」 に、ログファイル用に作成したフォルダの名前に続けて区切り記号 (/) を入力(例:logs/)
「保存」を選択。
※ログは「概要」でみれる。
スクリーンショット 2020-08-12 21.41.58.png
##アップロード
index.htmlを作成する。
ローカルのエディタで下記内容を入力し、index.htmlで保存する。(大文字ではなく。小文字でindex.htmlとする。)

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>My Website Home Page</title>
</head>
<body>
  <h1>Welcome to my website</h1>
  <p>Now hosted on Amazon S3!</p>
</body>
</html>

「ルートドメインバケット」>「概要」>「アップロード」を選択。
スクリーンショット 2020-08-12 21.50.20.png
先ほど作成したindex.htmlを追加し、アップロードする。
スクリーンショット 2020-08-12 21.51.53.png
「ルートドメインバケット」のバケットを選択し、「パブリックアクセス設定を編集する」を選択する。
スクリーンショット 2020-08-12 21.54.42.png
「Block all public access (すべてのパブリックアクセスをブロックする)」のチェックをはずし、[保存] を選択。
スクリーンショット 2020-08-12 21.57.10.png
確認を入力し、「確認」を選択する。
スクリーンショット 2020-08-12 21.58.11.png
「ルートドメインバケット」のバケットに入り、「アクセス権限」>「バケットポリシー」で以下のように入力する。
スクリーンショット 2020-08-12 21.59.24.png

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::hoge.work/*"
            ]
        }
    ]
}

Resource内のexample.workは作成したバケット名に合わせる。
入力したら、「保存」を押す。

「プロパティ」>「静的ウェブサイトホスティング」で「エンドポイント」の横のURLを選択し、ブラウザにindex.htmlページが表示されれば、成功。
スクリーンショット 2020-08-12 21.17.33.png
スクリーンショット 2020-08-12 21.22.58.png
スクリーンショット 2020-08-12 22.07.41.png

#エイリアスレコードを追加
「Route53」>「ホストゾーン」を選択。
スクリーンショット 2020-08-12 22.09.04.png
「ホストゾーンの作成」を押し、「ドメイン名」で作成したドメインを入力。タイプは「パブリックホストゾーン」とする。「作成」を押す。
スクリーンショット 2020-08-12 22.10.40.png
作成したドメインを選択し、「レコードセットの作成」を選択する。
下記の項目を確認・選択する。
名前 何も入力せず、そのままとする。

タイプ:「A – IPv4 アドレス」を選択。
エイリアス:「Yes」を選択。
エイリアス先:リストの「S3 website endpoints (S3 ウェブサイトエンドポイント)」セクションで、バケット名を選択。
ルーティングポリシー:デフォルト値の「Simple」をそのまま使用。
ターゲットの正常性の評価:デフォルト値の「No」をそのまま使用。

「作成」を選択する。
スクリーンショット 2020-08-12 22.10.40.png

ネームサーバーがお名前.comのままになっているので、変更する。お名前.comのネームサーバの変更の仕方はこちら
該当ドメインのNSレコードの値4つを「その他のネームサーバーを使う」に入力する。保存したら、変更されるまでしばらく待つ。

##ウェブサイトを確認
ブラウザで、URLを入力。ドメイン 例:http://hoge.work
下記のように出れば成功。
スクリーンショット 2020-08-12 22.07.41.png

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?