https://cloud.google.com/appengine/docs/standard/go/building-app?hl=ja#cloud-shell
https://dev.classmethod.jp/articles/gae-webapp/
https://www.topgate.co.jp/gcp05-google-app-engine-run-application#google-app-engine
-- 1. 前作業
gcloud init
gcloud auth list
gcloud --version
gcloud projects create project01-9999999 \
--name="project01"
gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet
gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111
gcloud services enable compute.googleapis.com --project project01-9999999
-- 2. App Engine 用の基本的なウェブサービスを作成する
mkdir go-app
cd go-app
runtime: go115 # or another supported version
vim main.go
package main
import (
"fmt"
"log"
"net/http"
"os"
)
func main() {
http.HandleFunc("/", indexHandler)
port := os.Getenv("PORT")
if port == "" {
port = "8080"
log.Printf("Defaulting to port %s", port)
}
log.Printf("Listening on port %s", port)
if err := http.ListenAndServe(":"+port, nil); err != nil {
log.Fatal(err)
}
}
func indexHandler(w http.ResponseWriter, r *http.Request) {
if r.URL.Path != "/" {
http.NotFound(w, r)
return
}
fmt.Fprint(w, "Hello, World!")
}
-- 3. ウェブサービスを App Engine にデプロイする
gcloud app create
gcloud app deploy
gcloud app describe
gcloud app browse
curl https://project01-9999999.an.r.appspot.com
コンソールをみると削除や停止が非活性化されており、削除や停止ができない。
削除や停止には条件がある模様
-- 4. クリーンアップ
gcloud projects list
gcloud projects delete project01-9999999
コンソールをみるとプロジェクトが削除されずに残っている。
コンソールからプロジェクトを削除した。