Google App Engine에서 정적 웹사이트 호스팅

리전 ID

REGION_ID는 앱을 만들 때 선택한 리전을 기준으로 Google에서 할당하는 축약된 코드입니다. 일부 리전 ID는 일반적으로 사용되는 국가 및 주/도 코드와 비슷하게 표시될 수 있지만 코드는 국가 또는 주/도와 일치하지 않습니다. 2020년 2월 이후에 생성된 앱의 경우 REGION_ID.r이 App Engine URL에 포함됩니다. 이 날짜 이전에 만든 기존 앱의 경우 URL에서 리전 ID는 선택사항입니다.

리전 ID에 대해 자세히 알아보세요.

Google App Engine을 사용하여 정적 웹사이트를 호스팅할 수 있습니다. 정적 웹페이지에는 HTML, CSS, 자바스크립트와 같은 클라이언트 측 기술이 포함됩니다. App Engine은 무료 등급을 제공하기 때문에 App Engine에서 정적 사이트를 호스팅하는 것이 기존 호스팅 업체를 사용하는 것보다 비용이 적게 듭니다.

App Engine에서 호스팅되는 사이트는 [my-project-id].uc.r.appspot.com과 같은 REGION_ID.r.appspot.com 하위 도메인에서 호스팅됩니다. 사이트를 배포한 후에는 App Engine에서 호스팅하는 웹사이트에 자신의 도메인 이름을 매핑할 수 있습니다.

시작하기 전에

Google App Engine에서 웹사이트를 호스팅하려면 먼저 다음을 수행하세요.

  1. 새 Google Cloud Console 프로젝트를 만들거나 사용할 기존 프로젝트의 프로젝트 ID를 검색합니다.

    프로젝트 페이지로 이동

  2. Google Cloud CLI를 설치하고 초기화합니다.

    SDK 다운로드

Google App Engine에서 호스팅할 웹사이트 만들기

프로젝트의 기본 구조

이 가이드에서는 프로젝트에 다음과 같은 구조를 사용합니다.

  • app.yaml: App Engine 애플리케이션의 설정을 구성합니다.
  • www/: HTML, CSS, 이미지, 자바스크립트와 같은 모든 정적 파일을 저장할 디렉터리입니다.
    • css/: 스타일시트를 저장할 디렉터리입니다.
      • style.css: 사이트의 형식과 분위기를 지정하는 기본 스타일시트입니다.
    • images/: 이미지를 저장할 선택적 디렉터리입니다.
    • index.html: 웹사이트의 콘텐츠를 표시하는 HTML 파일입니다.
    • js/: 자바스크립트 파일을 저장할 선택적 디렉터리입니다.
    • 기타 애셋 디렉터리

app.yaml 파일 만들기

app.yaml 파일은 URL을 정적 파일에 매핑하는 방법을 App Engine에 안내하는 구성 파일입니다. 다음 단계에서는 다른 사용자가 내 웹사이트를 방문할 때 www/index.html을 로드하는 핸들러를 추가합니다. 모든 정적 파일은 www 디렉터리에 저장되고 여기에서 호출됩니다.

애플리케이션의 루트 디렉터리에 app.yaml 파일을 만듭니다.

  1. 프로젝트 ID와 이름이 같은 디렉터리를 만듭니다. 콘솔에서 프로젝트 ID를 찾을 수 있습니다.
  2. 방금 만든 디렉터리에서 app.yaml이라는 파일을 만듭니다.
  3. app.yaml 파일을 수정하고 다음 코드를 파일에 추가합니다.

    runtime: php55
    api_version: 1
    threadsafe: true
    
    handlers:
    - url: /
      static_files: www/index.html
      upload: www/index.html
    
    - url: /(.*)
      static_files: www/\1
      upload: www/(.*)
    

app.yaml 파일에 대한 더 많은 참조 정보는 app.yaml 참조 문서를 참조하세요.

index.html 파일 만들기

다른 사용자가 웹사이트의 루트 페이지로 이동할 때 제공할 HTML 파일을 만듭니다. 이 파일을 www 디렉터리에 저장합니다.

<html>
  <head>
    <title>Hello, world!</title>
    <link rel="stylesheet" type="text/css" href="/css/style.css">
  </head>
  <body>
    <h1>Hello, world!</h1>
    <p>
      This is a simple static HTML file that will be served from Google App
      Engine.
    </p>
  </body>
</html>

App Engine에 애플리케이션 배포

애플리케이션 파일을 배포하면 웹사이트가 App Engine에 업로드됩니다. App Engine에 앱을 배포하려면 app.yaml 파일이 있는 애플리케이션의 루트 디렉터리에서 다음 명령어를 실행합니다.

gcloud app deploy

선택적 플래그:

  • --project 플래그를 포함하여 gcloud CLI에서 기본값으로 초기화한 값으로 대체 Google Cloud 콘솔 프로젝트 ID를 지정합니다. 예: --project [YOUR_PROJECT_ID]
  • 버전 ID를 지정하려면 -v 플래그를 포함하세요. 그렇지 않으면 버전 ID가 자동으로 생성됩니다. 예: -v [YOUR_VERSION_ID]

명령줄에서 앱을 배포하는 방법에 대한 자세한 내용은 PHP 5 앱 배포를 참조하세요.

애플리케이션 보기

브라우저를 실행하고 https://PROJECT_ID.REGION_ID.r.appspot.com에서 앱을 보려면 다음 명령어를 실행합니다.

gcloud app browse

다음 단계

커스텀 도메인에서 App Engine이 호스팅하는 웹사이트 제공