AWS S3는 웹 프로젝트를 호스팅하기에 매우 유용한 서비스입니다. 특히 정적 웹 사이트(HTML, CSS, JavaScript로 구성된 웹 프로젝트)를 빠르고 안정적으로 배포할 수 있는 강력한 도구입니다. 이번 글에서는 S3를 활용해 정적 웹 사이트를 직접 호스팅하는 과정을 단계별로 설명하겠습니다. 이 가이드를 따르면, 처음부터 끝까지 스스로 웹 프로젝트를 배포할 수 있습니다.
S3(Simple Storage Service)는 AWS에서 제공하는 오브젝트 스토리지 서비스로, 데이터를 클라우드에 저장하고 이를 언제든지 쉽게 접근할 수 있도록 해줍니다. S3는 특히 정적 웹 사이트 호스팅을 위한 옵션을 제공하며, HTML, CSS, JavaScript 파일을 업로드하여 사용자에게 서비스할 수 있습니다. 이를 통해 S3는 간단한 웹 프로젝트 호스팅에 매우 적합한 환경을 제공합니다.
웹 사이트를 호스팅하기 위해서는 S3에 버킷(bucket)을 먼저 생성해야 합니다. 버킷은 데이터를 저장하는 기본 단위이며, 각 버킷은 고유한 이름을 가져야 합니다.
먼저, AWS 관리 콘솔에 로그인합니다. 로그인 후 서비스 목록에서 S3를 선택합니다.
my-awesome-website
버킷을 생성했으면 이제 웹 사이트에 필요한 파일들을 업로드해야 합니다.
업로드한 파일들은 S3 버킷의 최상단에 있어야 합니다. 웹 사이트의 루트 파일 구조가 그대로 유지될 수 있도록 주의해서 업로드하세요.
S3 버킷은 기본적으로 정적 파일을 저장하기 위해 사용되지만, 설정을 통해 웹 사이트로 직접 서비스할 수 있도록 변경할 수 있습니다.
index.html
을 입력합니다.error.html
을 입력할 수 있습니다.S3는 기본적으로 보안을 위해 모든 버킷에 대한 공용 액세스를 차단합니다. 하지만 웹 사이트를 호스팅하려면 모든 사용자가 파일에 접근할 수 있어야 하므로 퍼블릭 액세스를 허용해야 합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-awesome-website/*"
}
]
}
"my-awesome-website"
부분을 여러분이 생성한 버킷 이름으로 바꿔주세요.모든 설정을 완료하면 S3에서 제공하는 엔드포인트(Endpoint) URL을 통해 웹 사이트에 접근할 수 있습니다.
기본적으로 S3는 HTTP 프로토콜을 사용합니다. 만약 HTTPS를 적용하고 싶다면, CloudFront를 사용하여 S3 버킷을 CDN(Content Delivery Network)으로 설정하고 SSL 인증서를 적용할 수 있습니다.
이제 AWS S3를 이용하여 정적 웹 사이트를 성공적으로 호스팅할 수 있습니다. 이 가이드를 따라서 버킷 생성, 파일 업로드, 퍼블릭 액세스 설정, 그리고 웹 사이트 접근까지 모두 완료해 보세요. 추가로 CloudFront를 사용해 HTTPS를 적용하면 더욱 안전한 웹 사이트를 운영할 수 있습니다.
AWS S3를 활용한 웹 호스팅은 간단하면서도 강력한 솔루션입니다. 이러한 과정들을 이해하고 실습해 보면서 클라우드 환경에서의 웹 배포 경험을 쌓아보세요! 😊