이 튜토리얼은 소유한 도메인의 정적 웹사이트를 호스팅하기 위해 Cloud Storage 버킷을 구성하는 방법을 설명합니다. 정적 웹페이지에는 HTML, CSS, 자바스크립트와 같은 클라이언트 측 기술이 포함될 수 있습니다. 반면 PHP와 같은 서버 측 스크립트를 비롯한 동적 콘텐츠는 포함될 수 없습니다.
이 튜토리얼에서는 HTTP를 통해 콘텐츠를 제공하는 방법을 보여줍니다. HTTPS를 사용하는 튜토리얼은 정적 웹사이트 호스팅을 참조하세요.
동적 웹사이트의 정적 애셋을 호스팅하는 방법을 비롯하여 정적 웹페이지에 대한 예시와 도움말은 정적 웹사이트 페이지를 참조하세요.
목표
이 튜토리얼에서는 다음 단계를 진행합니다.CNAME레코드를 사용하여 도메인을 Cloud Storage로 지정합니다.- 도메인에 연결된 버킷을 만듭니다.
- 사이트의 파일을 업로드하고 공유합니다.
- 웹사이트를 테스트합니다.
비용
이 튜토리얼에서는 다음과 같은 비용이 청구될 수 있는 Google Cloud구성 요소를 사용합니다:
- Cloud Storage
정적 웹사이트 호스팅 시 발생할 수 있는 요금에 대한 자세한 내용은 스토리지 요금 모니터링 팁을 참조하세요. Cloud Storage 비용에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- 자신이 소유하거나 관리하는 도메인이 있어야 합니다. 기존 도메인이 없는 경우 Cloud Domains와 같은 다양한 서비스를 사용하여 새 도메인을 등록할 수 있습니다.
이 튜토리얼은
example.com도메인을 사용합니다. - 사용할 도메인을 소유 또는 관리하고 있는지 확인합니다.
www.example.com과 같은 하위 도메인이 아니라example.com과 같은 최상위 도메인을 확인해야 합니다.참고: 버킷에 연결된 도메인을 소유하고 있는 경우, 이전에 이 단계를 이미 수행했을 수 있습니다. Cloud Domains를 통해 도메인을 구매한 경우 자동으로 확인이 수행됩니다.
Cloud Storage에 도메인 연결
Cloud Storage에 도메인을 연결하려면 도메인 등록 서비스를 통해 CNAME 레코드를 만듭니다. CNAME 레코드는 DNS 레코드의 한 유형입니다. 이 레코드는 URL을 요청하는 트래픽을 도메인에서 제공할 리소스(이 경우 Cloud Storage 버킷에 있는 객체)로 전달합니다.
www.example.com의 경우, CNAME 레코드에는 다음 정보가 포함될 수 있습니다.
NAME TYPE DATA www CNAME c.storage.googleapis.com.
CNAME 리디렉션에 대한 자세한 내용은 CNAME 별칭 URI를 참조하세요.
도메인을 Cloud Storage에 연결하려면 다음을 수행합니다.
c.storage.googleapis.com.을 가리키는CNAME레코드를 만듭니다.도메인 등록 서비스에는
CNAME레코드 추가가 포함된 도메인 관리 방법이 있어야 합니다. 예를 들어 Cloud DNS를 사용하는 경우 레코드 추가, 수정, 삭제 페이지에서 리소스 레코드 추가에 대한 안내를 확인할 수 있습니다.
버킷 만들기
도메인용으로 만든 CNAME과 이름이 일치하는 버킷을 만듭니다.
예를 들어 example.com의 www 하위 도메인에서 c.storage.googleapis.com.을 가리키는 CNAME 레코드를 추가한 경우 이름이 www.example.com인 버킷을 만드는 Google Cloud CLI 명령어는 다음과 유사합니다.
gcloud storage buckets create gs://www.example.com --location=US
다양한 도구로 버킷을 만드는 방법에 관한 자세한 내용은 버킷 만들기를 참조하세요.
사이트 파일 업로드
웹사이트가 제공할 파일을 버킷에 추가하려면 다음을 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 앞서 만든 버킷의 이름을 클릭합니다.
객체 탭에서 파일 업로드 버튼을 클릭합니다.
파일 대화상자에서 원하는 파일을 탐색하고 선택합니다.
업로드가 완료되면 버킷에 표시된 파일 정보와 함께 파일 이름이 표시됩니다.
명령줄
gcloud storage cp 명령어를 사용하여 파일을 버킷으로 복사합니다.
예를 들어 현재 위치 Desktop에서 index.html 파일을 복사하려면 다음을 사용하세요.
gcloud storage cp Desktop/index.html gs://www.example.com
성공하면 응답은 다음 예시와 같습니다.
Completed files 1/1 | 164.3kiB/164.3kiB
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 클라이언트 라이브러리의 인증 설정을 참조하세요.
다음 샘플은 개별 객체를 업로드합니다.