Amazon S3 で Web サイト構築

はじめに

Amazon S3 の静的ウェブホスティングを使用して、Web サイトを構築する手順を紹介します。

Amazon S3 とは

Amazon S3(Amazon Simple Storage Service)とは、オブジェクトストレージサービスです。
オブジェクトストレージとは、従来のファイル単位・ブロック単位ではなく、オブジェクト単位で管理するストレージで、主にクラウドサービスで使われています。
簡単にいうと、全てのデータ本体が「ID」と「メタデータ」と呼ばれるものに紐づけられており、ID がわかればいつでもデータを引き出せます。

本記事の目標

静的コンテンツ(index.html / CSS / 画像ファイル)を Amazon S3 にアップロードして、インターネット経由で閲覧できるようにします。

構築手順

バケットの作成

Amazon S3 コンソールにアクセスし、バケットを作成します。
任意の「バケット名」を設定し、その他はデフォルトで「バケットを作成」をクリックします。

アクセス許可

作成されたバケットをクリックし、「アクセス許可」>「ブロックパブリックアクセス」>「編集」で「パブリックアクセスをすべてブロック」のチェックをはずし、「変更の保存」をクリックします。

アクセス許可」>「バケットポリシー」>「編集」からポリシーを設定後、「変更の保存」をクリックします。

ポリシーは次のとおりです。最新版はこちらからご確認ください。

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

静的ウェブサイトホスティングの有効化

作成したバケットをクリックし、「プロパティ」>「静的ウェブサイトホスティング」>「編集」で「静的ウェブサイトホスティング」を「有効にする」にチェックします。
また、「インデックスドキュメント」に「index.html」を設定し、「変更の保存」をクリックします。

オブジェクトのアップロード

作成したバケットをクリックし、「オブジェクト」>「アップロード」をクリックします。
ファイルを追加」もしくは「フォルダを追加」から静的コンテンツを選択してアップロードし、「アップロード」をクリックします。

確認手順

インターネットから静的コンテンツへのアクセス

作成したバケットをクリックし、「プロパティ」>「静的ウェブサイトホスティング」に記載の URL の末尾に「index.html」のパスを追記します。
本例では、「demopage/index.html」を追記すると、以下のとおりインターネットからアクセスできました。

以上

参考書籍