0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

S3にリソースをアップロードし、ACMで証明書を取得してCloudFrontで配信する手順

Last updated at Posted at 2025-03-23

概要

備忘録として、Vue.jsで作成した静的サイトをS3にアップロードし、CloudFrontを利用してHTTPSで配信する手順を記載する。ACM(AWS Certificate Manager)でSSL/TLS証明書を取得し、独自ドメインを適用する方法についても残す。

前提条件

  • Vue.jsのプロジェクトがすでにビルド済みであること(dist/ ディレクトリが存在する)

1. Route 53で独自ドメインを取得

1.1 ドメインの取得

  1. AWSマネジメントコンソールで Route 53 を開く
  2. 「ドメインを登録」をクリックし、希望の独自ドメイン(例: example.com)を検索
  3. 取得可能であれば購入し、登録を完了する

1.2 ホストゾーンの作成

  1. Route 53の「ホストゾーン」を開き、「ホストゾーンの作成」をクリック
  2. 取得したドメイン(example.com)を入力し、作成
  3. 作成されたホストゾーンのNSレコードを確認し、ドメインレジストラの設定と一致させる

2. S3にVueのリソースをアップロード

2.1 S3バケットの作成

  1. AWSマネジメントコンソールで S3 を開く
  2. 「バケットを作成」をクリックし、以下の設定でバケットを作成する
    • バケット名: example-bucket(任意の名前)
    • リージョン: us-east-1(ACMの証明書と合わせるため推奨。東京でもOK)
    • パブリックアクセスをすべてブロック: オフ(後でCloudFrontを経由するため)
    • 静的ウェブサイトホスティング: 有効(CloudFrontを使用するため、インデックスドキュメントを index.html に設定)

2.2 Vueリソースのアップロード

ローカルでVueプロジェクトの dist/ ディレクトリをS3にアップロードする。

aws s3 sync ./dist s3://example-bucket --acl public-read

3. ACMでSSL/TLS証明書を取得

3.1 ACMの証明書をリクエスト

  1. AWSマネジメントコンソールで ACM(AWS Certificate Manager) を開く
  2. 「証明書のリクエスト」をクリック
  3. パブリック証明書 を選択し、独自ドメイン(例: www.example.com)を入力
  4. 検証方法は DNS検証 を選択
  5. Route 53でDNSレコードを作成し、検証を完了させる

4. CloudFrontの設定

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

  1. AWSマネジメントコンソールで CloudFront を開く
  2. 「ディストリビューションを作成」をクリック
  3. オリジンドメイン に作成したS3バケットを指定
  4. プロトコル: Redirect HTTP to HTTPS
  5. 代替ドメイン名(CNAME)www.example.com を追加
  6. ACMで取得した証明書 を選択
  7. 設定を保存し、CloudFrontディストリビューションを作成

⚠️ 注意: 代替ドメイン名(CNAME)を設定しないと、CloudFrontで独自ドメインを利用できず、HTTPS証明書エラーが発生する。


5. Route 53でDNS設定

5.1 Aレコードの追加(エイリアス有効)

  1. AWSマネジメントコンソールで Route 53 を開く
  2. 該当するホストゾーンを選択
  3. 新しいレコードを作成 し、以下の設定を追加
    • 名前: www.example.com
    • タイプ: A
    • エイリアス: 有効
    • ターゲット: CloudFrontのディストリビューション(例:abcdefg.cloudfront.net.)

5.2 ホストゾーンのNSレコードを確認

取得したドメインのNS(ネームサーバー)と、Route 53のホストゾーンのNSが一致しているかを確認する。

⚠️ 注意: NSレコードが一致しないと、DNSが正しく機能せずCloudFrontにアクセスできない。


6. 動作確認

  1. ブラウザで https://www.example.com にアクセス
  2. Vueのサイトが正しく表示されることを確認

まとめ

本記事では、S3にVueのリソースをアップロードし、CloudFrontを利用してHTTPSで配信する手順を説明した。特に以下の2点が重要である。

  1. CloudFrontの代替ドメイン名(CNAME)を正しく設定すること
    • 設定しないとHTTPS証明書の適用ができず、独自ドメインでアクセスできない
  2. Route 53のホストゾーンのNS設定を確認すること
    • 取得したドメインのNSと一致していないと、DNSが機能せずCloudFrontにアクセスできない
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?