1. ภาพรวม
Cloud Run เป็นแพลตฟอร์มแบบ Serverless ที่มีการจัดการครบวงจรซึ่งช่วยให้คุณเรียกใช้คอนเทนเนอร์แบบไม่เก็บสถานะที่เรียกใช้ผ่านคำขอ HTTP ได้ Cloud Run เป็นแบบ Serverless ด้วยการตัดการจัดการโครงสร้างพื้นฐานทั้งหมดออก คุณจึงมุ่งเน้นไปที่การสร้างแอปพลิเคชันที่ยอดเยี่ยม ซึ่งเป็นสิ่งที่สำคัญที่สุดได้
Cloud Run สร้างขึ้นจาก Knative ซึ่งให้คุณเลือกที่จะเรียกใช้คอนเทนเนอร์แบบมีการจัดการครบวงจรด้วย Cloud Run หรือในคลัสเตอร์ Google Kubernetes Engine ด้วย Cloud Run บน GKE ได้
สิ่งที่คุณจะได้เรียนรู้
ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำสิ่งต่อไปนี้
- ติดตั้งใช้งานแอปพลิเคชัน Cloud Run
ข้อกำหนดเบื้องต้น
- แล็บนี้มีสมมติฐานว่าคุณคุ้นเคยกับสภาพแวดล้อมของ Cloud Console และ Cloud Shell
2. การตั้งค่าและข้อกำหนด
การตั้งค่าโปรเจ็กต์ Cloud
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี



- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมดและเปลี่ยนแปลงไม่ได้ (เปลี่ยนไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งโดยปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น
PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณก็สร้างรหัสแบบสุ่มอีกรหัสหนึ่งได้ หรือคุณจะลองใช้ชื่อของคุณเองเพื่อดูว่าพร้อมใช้งานหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงรหัสนี้หลังจากขั้นตอนนี้ไม่ได้ และรหัสจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ายังมีค่าที่ 3 ซึ่งคือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 นี้ได้ในเอกสารประกอบ
- จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตาม Codelab นี้ไม่ควรมีค่าใช้จ่ายมากนัก หรืออาจไม่มีเลย หากต้องการปิดทรัพยากรเพื่อไม่ให้มีการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบทั้งโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
การตั้งค่าสภาพแวดล้อม
เปิดใช้งาน Cloud Shell โดยคลิกไอคอนทางด้านขวาของแถบค้นหา

เปิดใช้ Cloud Run API จาก Cloud Shell โดยทำดังนี้
gcloud services enable run.googleapis.com
หากระบบแจ้งให้ให้สิทธิ์ ให้คลิก "ให้สิทธิ์" เพื่อดำเนินการต่อ

ซึ่งควรจะแสดงข้อความว่าดำเนินการสำเร็จคล้ายกับข้อความนี้
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
3. เตรียมแอปพลิเคชัน
ก่อนอื่น คุณจะต้องเตรียมแอปพลิเคชัน Node.js แบบง่ายที่อิงตาม Express ซึ่งตอบสนองต่อคำขอ HTTP
สร้างไดเรกทอรีใหม่ชื่อ starter-nodejs ใน Cloud Shell แล้วเปลี่ยนไปที่ไดเรกทอรีนั้น
mkdir starter-nodejs
cd starter-nodejs
สร้างไฟล์ package.json โดยเรียกใช้คำสั่งด้านล่าง
cat > ./package.json << EOF
{
"name": "cloudrun-starter-app",
"version": "1.0.0",
"description": "Node.js Starter Application",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "Apache-2.0",
"dependencies": {
"express": "^4.18.2"
}
}
EOF
ไฟล์ด้านบนมีคำสั่งสคริปต์เริ่มต้นและการอ้างอิงเฟรมเวิร์กเว็บแอปพลิเคชัน Express
จากนั้นในไดเรกทอรีเดียวกัน ให้สร้างไฟล์ index.js โดยเรียกใช้คำสั่งด้านล่าง
cat > ./index.js << EOF
const express = require('express');
const app = express();
app.get('/', (req, res) => {
console.log('Received a request.');
res.send("Hello Cloud Run!");
});
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log('Listening on port', port);
});
EOF
โค้ดนี้จะสร้างเว็บเซิร์ฟเวอร์พื้นฐานที่รอฟังพอร์ตซึ่งกำหนดโดยตัวแปรสภาพแวดล้อมของพอร์ต ตอนนี้แอปของคุณเสร็จสมบูรณ์แล้วและพร้อมที่จะทำเป็นคอนเทนเนอร์และนำไปใช้งาน
4. ติดตั้งใช้งานแอปพลิเคชัน Cloud Run
เรียกใช้คำสั่งด้านล่างเพื่อทำให้แอปพลิเคชันใช้งานได้
gcloud run deploy starter-app \
--source . \
--region us-central1 \
--allow-unauthenticated \
--max-instances=3
ยืนยันการสร้างที่เก็บ Artifact Registry
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created. Do you want to continue (Y/n)? y
คำสั่งก่อนหน้าจะส่งผลให้ระบบดำเนินการตามขั้นตอนต่อไปนี้

ดูเอาต์พุตของขั้นตอนเหล่านี้ใน Cloud Console: Cloud Build, Cloud Storage, Artifact Registry และ Cloud Run

5. ยินดีด้วย
ยินดีด้วย คุณเพิ่งติดตั้งใช้งานแอปพลิเคชันใน Cloud Run
สิ่งที่เราได้พูดถึงไปแล้ว
- วิธีติดตั้งใช้งานแอปพลิเคชันเริ่มต้นใน Cloud Run
ขั้นตอนต่อไปที่ทำได้
ดู Codelab อื่นๆ ของ Cymbal Eats
- ทริกเกอร์เวิร์กโฟลว์ระบบคลาวด์ด้วย Eventarc
- การทริกเกอร์การประมวลผลเหตุการณ์จาก Cloud Storage
- การเชื่อมต่อกับ Private Cloud SQL จาก Cloud Run
- การเชื่อมต่อกับฐานข้อมูลที่มีการจัดการครบวงจรจาก Cloud Run
- ปกป้องแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ด้วย Identity-Aware Proxy (IAP)
- ทริกเกอร์งาน Cloud Run ด้วย Cloud Scheduler
- การทำให้ใช้งานได้กับ Cloud Run อย่างปลอดภัย
- การรักษาความปลอดภัยให้การรับส่งข้อมูลขาเข้าของ Cloud Run
ล้างข้อมูล
โปรดลบโปรเจ็กต์ที่มีทรัพยากรหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการเพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
การลบโปรเจ็กต์
วิธีที่ง่ายที่สุดในการยกเลิกการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่คุณสร้างขึ้นสำหรับบทแนะนำ