Go 1.11 런타임은 웹 서비스의 코드 및 종속 항목을 설치하고 서비스를 실행하는 소프트웨어 스택입니다.
표준 환경에서 App Engine용 Go 1.11 런타임은 app.yaml
파일에서 선언됩니다.
runtime: go111
Go 버전
Go 1.11 런타임 환경은 Go 1.11의 최신 안정화 버전을 사용합니다. App Engine은 새로운 부 버전으로 자동 업데이트되지만 주 버전을 자동 업데이트하지는 않습니다.
예를 들어 애플리케이션이 Go 1.11.1에 배포되고 이후 배포 시에 1.11.2로 자동 업데이트될 수 있지만 Go 1.12로 자동 업데이트되지 않습니다.
종속 항목
종속 항목 선언 및 관리에 대한 자세한 내용은 종속 항목 지정을 참조하세요.
환경 변수
다음 환경 변수는 런타임에서 설정됩니다.
환경 변수 | 설명 |
---|---|
GAE_APPLICATION
|
App Engine 애플리케이션 ID입니다. 이 ID는 유럽에 배포된 애플리케이션의 'e~'와 같이 'region code~'로 시작됩니다. |
GAE_DEPLOYMENT_ID |
현재 배포 ID입니다. |
GAE_ENV |
App Engine 환경입니다. standard 로 설정합니다. |
GAE_INSTANCE |
서비스가 현재 실행되고 있는 인스턴스 ID입니다. |
GAE_MEMORY_MB |
애플리케이션 프로세스에 제공되는 메모리 양(MB)입니다. |
GAE_RUNTIME |
app.yaml 파일에 지정된 런타임입니다. |
GAE_SERVICE |
app.yaml 파일에 지정된 서비스 이름입니다. 서비스 이름을 지정하지 않으면 default 로 설정됩니다. |
GAE_VERSION |
서비스의 현재 버전 라벨입니다. |
GOOGLE_CLOUD_PROJECT |
애플리케이션과 연결된 Google Cloud 프로젝트 ID입니다. |
PORT |
HTTP 요청을 수신하는 포트입니다. |
app.yaml
파일에 추가 환경 변수를 정의할 수 있지만 위의 값을 재정의할 수 없습니다.
HTTPS 및 전달 프록시
App Engine은 부하 분산기에서 HTTPS 연결을 종료하고 애플리케이션에 요청을 전달합니다. 일부 애플리케이션에서는 원본 요청 IP와 프로토콜을 확인해야 합니다. 사용자의 IP 주소는 표준 X-Forwarded-For
헤더에서 제공됩니다. 이 정보가 필요한 애플리케이션은 프록시를 신뢰하도록 웹 프레임워크를 구성해야 합니다.
파일 시스템
런타임에는 읽기 전용 액세스 권한이 있는 다른 모든 디렉터리와 함께 쓰기 가능한 /tmp
디렉터리가 포함됩니다. /tmp
에 쓰는 데 시스템 메모리가 사용됩니다. 자세한 내용은 TempDir
및 TempFile
문서를 참조하세요.
메타데이터 서버
애플리케이션의 각 인스턴스는 App Engine 메타데이터 서버를 사용하여 인스턴스와 프로젝트에 대한 정보를 쿼리할 수 있습니다.
다음 엔드포인트를 통해 메타데이터 서버에 액세스할 수 있습니다.
http://metadata
http://metadata.google.internal
메타데이터 서버로 전송되는 요청에는 요청 헤더 Metadata-Flavor: Google
이 포함되어야 합니다. 이 헤더는 요청이 메타데이터 값을 검색하기 위해 전송되었음을 나타냅니다.
다음 표에는 특정 메타데이터에 대해 HTTP 요청을 수행할 수 있는 엔드포인트가 나열되어 있습니다.
메타데이터 엔드포인트 | 설명 |
---|---|
/computeMetadata/v1/project/numeric-project-id |
프로젝트에 할당된 프로젝트 번호입니다. |
/computeMetadata/v1/project/project-id |
프로젝트에 할당된 프로젝트 ID입니다. |
/computeMetadata/v1/instance/zone |
인스턴스가 실행 중인 영역입니다. |
/computeMetadata/v1/instance/service-accounts/default/aliases |
|
/computeMetadata/v1/instance/service-accounts/default/email |
프로젝트에 할당된 기본 서비스 계정 이메일입니다. |
/computeMetadata/v1/instance/service-accounts/default/ |
프로젝트의 모든 기본 서비스 계정이 나열됩니다. |
/computeMetadata/v1/instance/service-accounts/default/scopes |
기본 서비스 계정에 지원되는 모든 범위가 나열됩니다. |
/computeMetadata/v1/instance/service-accounts/default/token |
다른 Google Cloud API에 애플리케이션을 인증하기 위해 사용할 수 있는 인증 토큰을 반환합니다. |
예를 들어 프로젝트 ID를 검색하려면 http://metadata.google.internal/computeMetadata/v1/project/project-id
에 요청을 보냅니다.
환경 변수
다음 환경 변수는 런타임에서 설정됩니다.
환경 변수 | 설명 |
---|---|
GAE_APPLICATION
|
App Engine 애플리케이션 ID입니다. 이 ID는 유럽에 배포된 애플리케이션의 'e~'와 같이 'region code~'로 시작됩니다. |
GAE_DEPLOYMENT_ID |
현재 배포 ID입니다. |
GAE_ENV |
App Engine 환경입니다. standard 로 설정합니다. |
GAE_INSTANCE |
서비스가 현재 실행되고 있는 인스턴스 ID입니다. |
GAE_MEMORY_MB |
애플리케이션 프로세스에 제공되는 메모리 양(MB)입니다. |
GAE_RUNTIME |
app.yaml 파일에 지정된 런타임입니다. |
GAE_SERVICE |
app.yaml 파일에 지정된 서비스 이름입니다. 서비스 이름을 지정하지 않으면 default 로 설정됩니다. |
GAE_VERSION |
서비스의 현재 버전 라벨입니다. |
GOOGLE_CLOUD_PROJECT |
애플리케이션과 연결된 Google Cloud 프로젝트 ID입니다. |
PORT |
HTTP 요청을 수신하는 포트입니다. |
app.yaml
파일에 추가 환경 변수를 정의할 수 있지만 위의 값을 재정의할 수 없습니다.