-
AWS S3バケットの作成: まず、AWSコンソールにログインし、S3バケットを作成します。バケット名は一意である必要があります。バケットの設定で「静的ウェブサイトホスティング」を有効にし、インデックスドキュメントとエラードキュメントを設定します。
-
ウェブサイトファイルのアップロード: S3バケットにウェブサイトのファイルをアップロードします。HTML、CSS、JavaScriptなどの静的ファイルをバケットに配置します。必要に応じてフォルダ構造を作成することもできます。
-
バケットポリシーの設定: S3バケットにアクセスできるようにするために、バケットポリシーを設定します。ポリシーはJSON形式で記述されます。例えば、以下のポリシーはパブリックアクセスを許可します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
}
]
}
- Terraformを使用したインフラストラクチャーコードの作成: Terraformを使用して、S3バケットを作成および構成するためのインフラストラクチャーコードを作成します。以下はTerraformのコード例です。
provider "aws" {
region = "YOUR_AWS_REGION"
}
resource "aws_s3_bucket" "static_website" {
bucket = "YOUR_BUCKET_NAME"
acl = "public-read"
website {
index_document = "index.html"
error_document = "error.html"
}
}
上記のコードでは、AWSプロバイダーを設定し、S3バケットを作成しています。バケット名やリージョンなどのパラメータを自分の環境に合わせて変更してください。
- インフラストラクチャーの展開: Terraformコードを実行し、インフラストラクチャーを展開します。Terraformは指定したAWSアカウントで自動的にS3バケットを作成し、構成します。
以上が、AWS S3を使用した静的ウェブサイトの構築方法とTerraformの活用についての手順です。これにより、簡単かつ効率的に静的なウェブサイトを作成し、インフラストラクチャーの管理を自動化することができます。詳細な設定やカスタマイズはドキュメントを参照してください。