LoginSignup
50
56

More than 5 years have passed since last update.

AWS S3,Route53で独自ドメインの静的サイトを公開する

Posted at

HTML,CSS,Javascriptでの静的サイトであれば、AWSのS3とRoute53を使って格安で公開できる。

Create Bucket

  • Bucket Nameは、ドメイン名に設定しないと、Route53での連携ができなくなるので注意
  • Loggingは、アクセスログをとれるようになるもの。古いログはアーカイブや削除のルールを作ることができる。 あとでも変更できる。

Static Website Hosting

作成したBucket のProperty「Static Website Hosting」にて、
Enable website hostingを選択し、以下のようにする。
- Index Document → index.html
- Error Document → error.html

Endpointが、URLになるので記録しておく

Permissions

作成したBucket のProperty「Permissions」にて、「Add Bucket Policy」を選択。

ダイアログの下のsample bucket policyを開くと、policyのサンプルが出てくる。
「Granting Read-Only Permission to an Anonymous User」をそのままコピーして、
「examplebucket」のところをBucket Nameに書き換えて、Saveする。

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

Upload

Bucket Nameの部分をクリックすると、Uploadボタンが出てくるので、アップロードする。

サイト確認

EndPointからアクセスすれば、サイトがみれるようになる。

自分の場合、アップローダを使ってアップロードしたのだが、CSSがうまく反映されていなかった。
CSSのMetadataのContents-Typeをtext/cssに修正したら正常にできるようになった。

Route53での設定

1.Route53にて、「CreateHostedZone」でドメイン名を入力してゾーンを作成。

2.作成後、右のほうに出てくるDelegation Set を記録しておく。

3.私はレジストラはムームードメインを使っています。
ムームードメインにてドメイン取得して、ネームサーバを弊社サービス以外 のネームサーバに変更する。

4.ネームサーバ1〜4に先ほどのDelegation Setを入力して保存。

5.Route53に戻って、「Go To Record Set」

6.「Create Record Set」
- Typeを「A - IPv4 Address」を選択
- AliasをYesにする
- AliasTargetの欄にフォーカスを当てると、S3のEndpointが出てくるので選択
- Createする

これで、しばらくすると独自ドメインでサイトが見れるようになる。
すぐには反映されないが、自分の場合、1時間くらいで反映されてました。(もっと早いかも)

50
56
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
50
56