View a markdown version of this page

Lightsail 버킷 및 배포를 사용하여 정적 사이트 호스팅 - Amazon Lightsail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lightsail 버킷 및 배포를 사용하여 정적 사이트 호스팅

개요

이 자습서에서는 Amazon Lightsail 버킷에 호스팅되고 Lightsail 배포를 통해 전역적으로 제공되는 정적 사이트를 생성합니다.

이 설정은 다음 기능을 사용하여 정적 사이트를 구성하는 방법을 안내합니다.

  • 글로벌 성능 -는 전 세계 엣지 로케이션에서 콘텐츠를 Lightsail 캐싱하여 방문자의 지연 시간을 줄입니다.

  • 보안 - 프라이빗 오리진 액세스가 활성화된 경우 배포는 버킷의 프라이빗 객체를 제공합니다. 배포에서 콘텐츠를 제공하기 위해 버킷을 퍼블릭(읽기 전용)으로 구성할 필요가 없습니다.

  • 사용자 지정 오류 페이지 - 방문자에게 문제가 발생할 때 원시 오류 메시지 대신 친숙하고 브랜딩된 오류 페이지를 표시합니다.

  • 기본 루트 객체 - 방문자가 사이트의 루트 URL을 요청할 때 Lightsail 사용할 객체(예: index.html)를 지정합니다.

사전 조건

시작하기 전에 다음 항목이 준비되었는지 확인합니다.

  • AWS 계정. 계정이 없는 경우 AWS 계정 시작하기를 참조하세요.

  • 홈 페이지로 사용할 하나 이상의 HTML 페이지를 포함한 정적 사이트 콘텐츠 파일(일반적으로 로 명명됨index.html).

작은 정보

원하는 AI 어시스턴트를 사용하여 HTML 페이지, CSS 스타일시트, JavaScript 파일 등 정적 사이트 콘텐츠를 생성할 수 있습니다.

목차

중요

이 자습서에서 생성한 리소스는 계정에 AWS 요금이 부과됩니다. 요금 정보는 Amazon Lightsail 요금을 참조하세요.

1단계: Lightsail 버킷 생성

버킷을 생성하여 정적 사이트 파일을 저장합니다.

버킷 생성 버튼, AWS 리전 및 스토리지 계획 옵션, 버킷 이름 입력 필드가 있는 Lightsail 콘솔의 스토리지 페이지.
  1. Lightsail 콘솔에 로그인합니다.

  2. 왼쪽 탐색 창에서 스토리지를 선택합니다.

  3. 버킷 생성을 선택합니다.

  4. 기본 대상과 가장 AWS 리전 가까운 대상을 선택합니다.

  5. 스토리지 플랜을 선택합니다.

  6. 버킷의 이름을 입력합니다(예: lightsail-static-site).

  7. 버킷 생성을 선택합니다.

자세한 내용은 버킷 생성을 참조하세요.

버킷 요금은 Amazon Lightsail 요금을 참조하세요.

2단계: 버킷에 웹 사이트 파일 업로드

생성한 버킷에 정적 사이트 파일을 업로드합니다.

업로드 버튼과 업로드된 웹 사이트 파일 목록이 있는 Lightsail 버킷 관리 페이지의 객체 탭입니다.
  1. 객체(Objects) 탭을 선택합니다.

  2. 객체 목록 영역에서 업로드를 선택한 다음 웹 사이트 파일을 선택합니다. 또는 파일을 객체 목록 영역으로 직접 끌어다 놓습니다.

  3. 사이트에 하위 디렉터리(예: , css/js/, images/)가 있는 경우 전체 폴더를 끌어서 놓아 구조를 유지합니다.

자세한 내용은 버킷에 파일 업로드를 참조하세요.

3단계: 버킷을 오리진으로 사용하여 배포 생성

Lightsail 배포를 생성하고 버킷을 오리진으로 구성합니다.

버킷이 오리진으로 선택되고 프라이빗 오리진 액세스 활성화 토글이 켜져 있는 Lightsail 콘솔의 배포 생성 페이지.
  1. 왼쪽 탐색 창에서 네트워킹을 선택합니다.

  2. 배포 생성을 선택합니다.

  3. 오리진 선택 섹션에서 버킷을 생성한 AWS 리전 을 선택합니다.

  4. 오리진으로 버킷을 선택합니다.

  5. 프라이빗 오리진 액세스 활성화를 선택합니다. 이 옵션을 켜면 배포가 버킷의 프라이빗 객체를 제공할 수 있습니다. 배포는 프라이빗 오리진 액세스가 켜져 있는지 여부에 관계없이 항상 퍼블릭 객체를 제공합니다.

    배포에 대해 활성화된 프라이빗 오리진 액세스 토글입니다.
  6. (선택 사항) 호스팅 설정에서 기본 루트 객체(예: )를 입력합니다index.html. 이는 방문자가 Lightsail 배포의 루트 URL(예: )로 이동할 때 배포가 제공하는 객체입니다https://abc123.cloudfront.net/. 기본 루트 객체를 지정하지 않으면 루트 URL에 대한 요청은 오류를 반환합니다.

  7. 배포 계획을 선택합니다.

    참고

    USD $2.50 배포 번들에는 매월 50GB의 아웃바운드 데이터 전송이 포함됩니다. 대략적인 가이드로, 1MB 페이지에는 약 50,000개의 페이지 보기가 있습니다(2MB 페이지가 더 무거우면 약 25,000개). 실제 도달 범위는 페이지 크기에 따라 달라집니다. 즉, 브라우저가 자산을 캐싱하는 페이지가 짧고 방문자가 돌아오면 더 넓어집니다.

  8. 배포의 이름을 입력합니다.

  9. 배포 생성을 선택합니다.

Lightsail는 몇 분 후에 배포를 생성합니다.

배포 요금은 Amazon Lightsail 요금을 참조하세요.

참고

프라이빗 오리진 액세스가 활성화된 경우 버킷 액세스 권한을 변경할 필요가 없습니다. 버킷은 '모든 객체가 프라이빗'으로 설정된 상태로 유지될 수 있습니다. 배포에만 읽기 액세스 권한이 있습니다.

프라이빗 오리진 액세스는 배포가 버킷에 도달하는 방식을 제어하지만 웹 사이트 콘텐츠를 비공개로 만들지는 않습니다. 배포에서 제공하는 모든 객체는 배포의 URL이 있는 모든 사용자가 공개적으로 액세스할 수 있습니다. 게시하려는 콘텐츠만 웹 사이트 호스팅에 사용하는 버킷에 저장합니다. 프라이빗 객체나 민감한 객체를 배치하지 마세요.

배포 상태가 배포됨으로 변경되면 정적 사이트가 라이브 상태가 되고 액세스할 수 있습니다.

배포됨 상태 및 기본 도메인 URL을 보여주는 Lightsail 배포 페이지입니다.

배포의 관리 페이지로 이동하여 사이트의 URL을 찾습니다. 기본 도메인(예: abc123.cloudfront.net)은 이제 정적 사이트에 액세스할 수 있는 주소입니다. 브라우저에서이 URL을 열어 사이트를 봅니다.

4단계: 사용자 지정 오류 응답 추가

배포를 생성한 후 관리 페이지를 열어 사용자 지정 오류 응답을 추가합니다. HTTP 오류 코드 403에 대한 오류 응답을 추가하는 것이 좋습니다. 이는 방문자가 버킷에 없는 페이지를 요청할 때 발생하는 가장 일반적인 오류입니다.

프라이빗 오리진 액세스를 활성화하면 버킷은 존재하지 않는 객체에 대해 HTTP 403(금지됨)을 반환하므로 403 오류 코드에 대한 오류 응답을 구성합니다.

  1. 왼쪽 탐색 창에서 네트워킹을 선택한 다음 생성한 배포를 선택합니다.

  2. 배포의 세부 정보 탭에서 사용자 지정 오류 응답 섹션을 찾아 오류 응답 추가를 선택합니다.

  3. HTTP 오류 코드 403에 대한 오류 응답을 추가합니다. 제공할 객체에 대한 응답 페이지 경로(예: /404.html)를 지정하고 응답 코드를 404로 설정합니다.

    HTTP 오류 코드 403에 대한 오류 응답이 추가된 배포 세부 정보 탭의 사용자 지정 오류 응답 섹션입니다.

5단계: (선택 사항) 사용자 지정 도메인 구성

배포의 기본 도메인 대신 자체 도메인(예: www.example.com)을 사용하려면:

  1. 도메인에 대한 SSL/TLS 인증서를 생성합니다. 자세한 내용은 배포용 SSL/TLS 인증서 생성을 참조하세요.

  2. 배포에서 사용자 지정 도메인을 활성화합니다. 자세한 내용은 배포용 사용자 지정 도메인 사용을 참조하세요.

  3. 도메인을 배포로 가리키는 DNS 별칭 레코드를 추가합니다. 자세한 내용은 배포로 도메인 연결을 참조하세요.

문제 해결

내 사이트는 배포를 통해 “액세스 거부됨”을 표시합니다.

  • 배포에서 프라이빗 오리진 액세스가 활성화되어 있는지 확인합니다.

  • 배포 상태가 배포됨(InProgress 아님)인지 확인합니다.

  • 기본 루트 객체로 지정한 객체가 제공한 정확한 경로의 버킷에 존재하는지 확인합니다. 객체의 경로가 올바르면 객체가 하위 폴더에 있을 수 있습니다(예: index.html 또는 content/index.html).

새 파일을 업로드한 후에도 사이트에 이전 콘텐츠가 계속 표시됨

  • Lightsail 배포는 엣지 로케이션에 콘텐츠를 캐싱합니다. 배포 관리 페이지에서 캐시 재설정을 선택하여 캐시된 모든 콘텐츠를 지웁니다. 자세한 내용은 배포의 캐시 재설정을 참조하세요.

  • 또는 캐시 수명(TTL)이 만료될 때까지 기다립니다. 기본값은 1일입니다.

프라이빗 오리진 액세스를 비활성화했지만 여전히 내 콘텐츠가 표시됨

캐싱하면이 문제가 발생합니다. Lightsail 배포는 엣지 로케이션에서 콘텐츠를 캐싱하고 웹 브라우저도 콘텐츠를 로컬로 캐싱합니다. 구성을 변경한 후 두 캐시 모두 지워질 때까지 이전 콘텐츠를 계속 제공할 수 있습니다.

  • 배포 캐시를 지우려면 배포의 관리 페이지에서 캐시 재설정을 선택합니다. 또한 캐싱 탭에서 배포가 콘텐츠를 캐싱하는 방법을 조정할 수 있습니다. 자세한 내용은 배포의 캐시 재설정을 참조하세요.

  • 브라우저 캐시를 지우려면 페이지를 새로 고칩니다(macOS의 경우 , Windows 및 LinuxCtrl+Shift+R의 경우 Command+Shift+R를 누름).

다음 단계 및 관련 리소스