บทความนี้กล่าวถึงวิธีโฮสต์เว็บไซต์บน Google Cloud Google Cloud เป็นแพลตฟอร์มที่แข็งแกร่ง ยืดหยุ่น เชื่อถือได้ และปรับขนาดได้สำหรับการให้บริการเว็บไซต์ Google สร้าง Google Cloud โดยใช้โครงสร้างพื้นฐานเดียวกับที่ Google ใช้เพื่อให้บริการเนื้อหาจากไซต์ต่างๆ เช่น Google.com, YouTube และ Gmail คุณสามารถให้บริการเนื้อหาบนเว็บไซต์ของคุณได้โดยใช้ประเภทและการออกแบบโครงสร้างพื้นฐานที่เหมาะกับความต้องการของคุณมากที่สุด คุณอาจพบว่าบทความนี้มีประโยชน์หากคุณ: - มีความรู้เกี่ยวกับวิธีการสร้างเว็บไซต์และเคยใช้งานและเรียกใช้โครงสร้างพื้นฐานสำหรับบริการเว็บมาก่อน - ประเมินว่าจะย้ายไซต์ของคุณไปยัง Google Cloud หรือไม่และอย่างไร หากคุณต้องการสร้างเว็บไซต์ที่เรียบง่าย ให้ลองใช้ Google Sites ซึ่งเป็นวิกิที่มีโครงสร้างและเครื่องมือสร้างหน้าเว็บâÃÂàสำหรับข้อมูลเพิ่มเติม โปรดไปที่วิธีใช้ไซต์ ## การเลือกตัวเลือก หากคุณยังใหม่กับการใช้ Google Cloud เป็นแนวทางที่เหมาะสมในการเริ่มต้นโดยใช้เทคโนโลยีที่คุณคุ้นเคยอยู่แล้ว ตัวอย่างเช่น หากปัจจุบันคุณใช้เซิร์ฟเวอร์ฮาร์ดแวร์หรือเครื่องเสมือน (VM) เพื่อโฮสต์ไซต์ของคุณ อาจใช้กับผู้ให้บริการระบบคลาวด์รายอื่นหรือใช้ฮาร์ดแวร์ของคุณเอง Compute Engine จะมอบกระบวนทัศน์ที่คุ้นเคยให้กับคุณ หากคุณใช้ข้อเสนอ platform-as-a-service (PaaS) อยู่แล้ว เช่น Heroku หรือ Engine Yard App Engine อาจเป็นจุดเริ่มต้นที่ดีที่สุด หากคุณชอบการประมวลผลแบบไร้เซิร์ฟเวอร์ Cloud Run อาจเป็นตัวเลือกที่ดีสำหรับคุณ หลังจากที่คุณคุ้นเคยกับ Google Cloud มากขึ้นแล้ว คุณสามารถสำรวจผลิตภัณฑ์และบริการต่างๆ ที่ Google Cloud มีให้ ตัวอย่างเช่น หากคุณเริ่มต้นด้วยการใช้ Compute Engine คุณอาจเพิ่มความสามารถของไซต์โดยใช้ Google Kubernetes Engine (GKE) หรือย้ายฟังก์ชันบางส่วนหรือทั้งหมดไปยัง App Engine และ Cloud Run ตารางต่อไปนี้สรุปตัวเลือกการโฮสต์ของคุณบน Google Cloud: |ตัวเลือก||ผลิตภัณฑ์||การจัดเก็บข้อมูล||โหลดบาลานซ์||ความสามารถในการปรับขนาด||การบันทึกและการตรวจสอบ| |เว็บไซต์คงที่|| | การจัดเก็บเมฆ โฮสติ้ง Firebase |ที่เก็บข้อมูลบนคลาวด์|| | HTTP(S) เป็นทางเลือก |โดยอัตโนมัติ| |เครื่องเสมือน||Compute Engine|| | Cloud SQL Admin API, Cloud Storage API, Datastore API และ Cloud Bigtable API หรือคุณจะใช้ผู้ให้บริการพื้นที่เก็บข้อมูลภายนอกรายอื่นก็ได้ จานถาวรแบบใช้ฮาร์ดดิสก็เรียก | | HTTP(เอส) พร็อกซี TCP พร็อกซี SSL การยกเลิก IPv6 เครือข่าย ข้ามภูมิภาค ภายใน |โดยอัตโนมัติด้วยกลุ่มอินสแตนซ์ที่มีการจัดการ| |คอนเทนเนอร์||GKE||คล้ายกับ Compute Engine แต่โต้ตอบกับดิสก์ถาวรต่างกัน||เครือข่าย | HTTP(เอส) |ตัวปรับขนาดคลัสเตอร์อัตโนมัติ| |แพลตฟอร์มที่มีการจัดการ|| | App Engine |บริการ Google Cloud เช่น Cloud SQL, Firestore, Cloud Storage และฐานข้อมูลบุคคลที่สามที่เข้าถึงได้|| | HTTP(เอส) จัดการโดย Google |จัดการโดย Google| |ไร้เซิร์ฟเวอร์|| | คลาวด์รัน |บริการ Google Cloud เช่น Cloud SQL, Firestore, Cloud Storage และฐานข้อมูลบุคคลที่สามที่เข้าถึงได้|| | HTTP(เอส) จัดการโดย Google |จัดการโดย Google| บทความนี้สามารถช่วยให้คุณเข้าใจเทคโนโลยีหลักๆ ที่คุณใช้สำหรับการให้บริการเว็บบน Google Cloud และช่วยให้คุณเห็นคร่าวๆ ว่าเทคโนโลยีเหล่านี้ทำงานอย่างไร บทความนี้มีลิงก์ไปยังเอกสาร บทช่วยสอน และบทความเกี่ยวกับวิธีแก้ปัญหาฉบับสมบูรณ์ ซึ่งสามารถช่วยให้คุณสร้างความเข้าใจที่ลึกซึ้งยิ่งขึ้นเมื่อคุณพร้อม ## เข้าใจต้นทุน เนื่องจากมีตัวแปรจำนวนมากและการนำไปใช้งานแต่ละอย่างแตกต่างกัน การให้คำแนะนำเฉพาะเจาะจงเกี่ยวกับต้นทุนจึงอยู่นอกเหนือขอบเขตของบทความนี้ หากต้องการทำความเข้าใจหลักการของ Google เกี่ยวกับวิธีการทำงานของการกำหนดราคาบน Google Cloud โปรดดูหน้าการกำหนดราคา หากต้องการทำความเข้าใจการกำหนดราคาสำหรับบริการแต่ละรายการ โปรดดูส่วนการกำหนดราคาผลิตภัณฑ์ คุณยังสามารถใช้เครื่องคำนวณราคาเพื่อประมาณว่าการใช้งาน Google Cloud ของคุณจะเป็นอย่างไร คุณสามารถให้รายละเอียดเกี่ยวกับบริการที่คุณต้องการใช้ จากนั้นดูการประเมินราคา ## การตั้งค่าบริการชื่อโดเมน โดยปกติแล้ว คุณจะต้องจดทะเบียนชื่อโดเมนสำหรับไซต์ของคุณ คุณสามารถใช้ผู้รับจดทะเบียนชื่อโดเมนสาธารณะ เช่น Google Domains เพื่อจดทะเบียนชื่อเฉพาะสำหรับไซต์ของคุณได้ หากคุณต้องการควบคุมระบบชื่อโดเมน (DNS) ของคุณเองอย่างสมบูรณ์ คุณสามารถใช้ Cloud DNS เพื่อทำหน้าที่เป็นผู้ให้บริการ DNS ของคุณได้ เอกสารประกอบของ Cloud DNS มีการเริ่มต้นอย่างรวดเร็วเพื่อให้คุณดำเนินการได้ หากคุณมีผู้ให้บริการ DNS อยู่แล้วที่คุณต้องการใช้ โดยทั่วไปคุณจำเป็นต้องมี สร้างบันทึกสองสามรายการกับผู้ให้บริการรายนั้น สำหรับชื่อโดเมน เช่น example.com คุณสร้างไฟล์ บันทึกกับผู้ให้บริการ DNS ของคุณ สำหรับ www.example.com โดเมนย่อย คุณสร้าง บันทึก CNAME สำหรับ www ชี้ มันไปที่ โดเมน example.com เดอะ ระเบียนจับคู่ชื่อโฮสต์กับที่อยู่ IP เดอะ ระเบียน CNAME สร้างนามแฝงสำหรับ บันทึก หากผู้รับจดทะเบียนชื่อโดเมนของคุณเป็นผู้ให้บริการ DNS ของคุณด้วย นั่นอาจเป็นทั้งหมดที่คุณต้องทำ หากคุณใช้ผู้ให้บริการแยกต่างหากสำหรับการจดทะเบียนและ DNS ตรวจสอบให้แน่ใจว่าผู้รับจดทะเบียนชื่อโดเมนของคุณมีเซิร์ฟเวอร์ชื่อที่ถูกต้องซึ่งเชื่อมโยงกับโดเมนของคุณ หลังจากทำการเปลี่ยนแปลง DNS แล้ว การอัปเดตระเบียนอาจใช้เวลาสักครู่ในการเผยแพร่ ทั้งนี้ขึ้นอยู่กับค่า time-to-live (TTL) ในโซนของคุณ หากเป็นชื่อโฮสต์ใหม่ การเปลี่ยนแปลงจะมีผลอย่างรวดเร็วเนื่องจากตัวแก้ไข DNS ไม่มีการแคชค่าก่อนหน้านี้ และสามารถติดต่อผู้ให้บริการ DNS เพื่อรับข้อมูลที่จำเป็นเพื่อส่งคำขอกำหนดเส้นทาง ## โฮสต์เว็บไซต์แบบคงที่ วิธีที่ง่ายที่สุดในการให้บริการเนื้อหาเว็บไซต์ผ่าน HTTP(S) คือการโฮสต์ *หน้าเว็บคงที่*. ให้บริการหน้าเว็บแบบคงที่ ไม่เปลี่ยนแปลงตามที่เขียน โดยปกติจะใช้ HTML การใช้เว็บไซต์คงที่ เป็นตัวเลือกที่ดีหากหน้าของไซต์ของคุณไม่ค่อยเปลี่ยนแปลงหลังจากที่มีการเปลี่ยนแปลงไปแล้ว เผยแพร่ เช่น บล็อกโพสต์หรือเพจที่เป็นส่วนหนึ่งของธุรกิจขนาดเล็ก เว็บไซต์. คุณสามารถทำอะไรได้มากมายด้วยหน้าเว็บแบบคงที่ แต่ถ้าคุณต้องการเว็บไซต์ของคุณ มีปฏิสัมพันธ์ที่แข็งแกร่งกับผู้ใช้ผ่านโค้ดฝั่งเซิร์ฟเวอร์ คุณควร พิจารณาตัวเลือกอื่นๆ ที่กล่าวถึงในบทความนี้ โฮสต์เว็บไซต์แบบคงที่ด้วย Cloud Storage ในการโฮสต์ไซต์แบบสแตติกใน Cloud Storage คุณต้องสร้าง ที่เก็บข้อมูลบนคลาวด์ อัปโหลดเนื้อหาและทดสอบไซต์ใหม่ของคุณ คุณสามารถ ให้บริการข้อมูลของคุณโดยตรงจาก storage.googleapis.com หรือคุณสามารถ ยืนยันว่าคุณเป็นเจ้าของโดเมน และใช้ ชื่อโดเมนของคุณ คุณสามารถสร้างหน้าเว็บแบบคงที่ได้ตามต้องการ ตัวอย่างเช่น คุณสามารถ หน้าเขียนด้วยมือโดยใช้ HTML และ CSS คุณสามารถใช้ *เครื่องสร้างไซต์คงที่*, เช่น เจคิล ผี, หรือฮิวโก้ เพื่อสร้างเนื้อหา ด้วยเครื่องมือสร้างเว็บไซต์แบบสแตติก คุณจะสร้างเว็บไซต์แบบสแตติกได้โดย การเขียนใน มาร์กดาวน์, และจัดหาเทมเพลตและเครื่องมือต่างๆ ตัวสร้างไซต์โดยทั่วไป จัดเตรียมเว็บเซิร์ฟเวอร์ภายในที่คุณสามารถใช้เพื่อดูตัวอย่างเนื้อหาของคุณ หลังจากที่ไซต์สแตติกของคุณทำงาน คุณสามารถอัปเดตเพจสแตติกโดยใช้อะไรก็ได้ กระบวนการที่คุณชอบ กระบวนการนั้นอาจตรงไปตรงมาเหมือนกับการคัดลอกด้วยมือ อัปเดตหน้าไปยังที่ฝากข้อมูล คุณอาจเลือกใช้แนวทางอัตโนมัติมากขึ้น เช่น จัดเก็บเนื้อหาของคุณบน GitHub แล้วใช้ a เว็บฮุค เพื่อเรียกใช้ สคริปต์ที่อัปเดตบัคเก็ต ระบบขั้นสูงยิ่งขึ้นอาจใช้ เครื่องมือบูรณาการต่อเนื่อง/การส่งมอบต่อเนื่อง (CI/CD) เช่น เจนกินส์ เพื่ออัพเดทเนื้อหาใน ถัง. Jenkins มีที่เก็บข้อมูลบนคลาวด์ เสียบเข้าไป ที่ให้ก ขั้นตอนหลังการสร้าง Google Cloud Storage Uploader เพื่อเผยแพร่งานสร้าง สิ่งประดิษฐ์ไปยังที่เก็บข้อมูลบนคลาวด์ หากคุณมีเว็บแอปที่ต้องให้บริการเนื้อหาแบบคงที่หรือสื่อแบบคงที่ที่ผู้ใช้อัปโหลด การใช้ Cloud Storage อาจเป็นวิธีที่คุ้มค่าและมีประสิทธิภาพในการโฮสต์และให้บริการเนื้อหานี้ ในขณะที่ลดปริมาณคำขอแบบไดนามิกไปยังเว็บแอปของคุณ นอกจากนี้ Cloud Storage ยังยอมรับเนื้อหาที่ผู้ใช้ส่งมาได้โดยตรง คุณลักษณะนี้ช่วยให้ผู้ใช้อัปโหลดไฟล์มีเดียขนาดใหญ่ได้โดยตรงและปลอดภัยโดยไม่ต้องใช้พร็อกซีผ่านเซิร์ฟเวอร์ของคุณ เพื่อให้ได้รับประสิทธิภาพสูงสุดจากเว็บไซต์แบบคงที่ โปรดดูแนวทางปฏิบัติที่ดีที่สุดสำหรับ Cloud Storage สำหรับข้อมูลเพิ่มเติม ดูหน้าต่อไปนี้: - โฮสต์เว็บไซต์แบบคงที่ - J สำหรับเจนกินส์ (บล็อกโพสต์) - Band Aid 30 บน Google Cloud (บล็อกโพสต์) - เอกสารประกอบที่เก็บข้อมูลบนคลาวด์ การโฮสต์เว็บไซต์แบบคงที่ด้วย Firebase HostingFirebase Hosting ให้การโฮสต์แบบคงที่ที่รวดเร็วและปลอดภัยสำหรับเว็บแอปของคุณด้วยโฮสติ้ง Firebase คุณสามารถปรับใช้เว็บแอปและเนื้อหาแบบสแตติกกับเครือข่ายการส่งเนื้อหาทั่วโลก (CDN) ได้โดยใช้คำสั่งเดียวต่อไปนี้เป็นประโยชน์บางประการที่คุณจะได้รับเมื่อคุณ ใช้โฮสติ้ง Firebase:- SSL การกำหนดค่าศูนย์ถูกสร้างขึ้นในโฮสติ้ง Firebaseจัดเตรียมใบรับรอง SSL บนโดเมนที่กำหนดเองฟรี- เนื้อหาทั้งหมดของคุณให้บริการผ่าน HTTPS- เนื้อหาของคุณถูกส่งไปยังผู้ใช้ของคุณ จากขอบ CDN ทั่วโลก- เมื่อใช้ Firebase CLI คุณสามารถทำให้แอปของคุณทำงานได้ในไม่กี่วินาทีใช้เครื่องมือบรรทัดคำสั่งเพื่อเพิ่มเป้าหมายการปรับใช้ในกระบวนการสร้างของคุณ- คุณจะได้รับคุณลักษณะการจัดการรุ่น เช่น การปรับใช้อะตอมของสินทรัพย์ใหม่ เวอร์ชันเต็ม และคลิกเดียว ย้อนกลับ- โฮสติ้งนำเสนอการกำหนดค่าที่มีประโยชน์สำหรับแอพหน้าเดียวและไซต์อื่น ๆ ที่มีลักษณะคล้ายแอพมากกว่า- โฮสติ้งถูกสร้างขึ้นเพื่อให้ใช้งานได้อย่างราบรื่นกับ คุณลักษณะ Firebase อื่นๆสำหรับข้อมูลเพิ่มเติม โปรดดูหน้าต่อไปนี้:## การใช้เครื่องเสมือนกับ Compute Engineสำหรับกรณีการใช้งานโครงสร้างพื้นฐานเป็นบริการ (IaaS) Google Cloud ให้บริการ Compute EngineCompute Engine มีโครงสร้างพื้นฐานการประมวลผลที่แข็งแกร่ง แต่คุณต้องเลือกและกำหนดค่าส่วนประกอบของแพลตฟอร์มที่คุณต้องการใช้ด้วย Compute Engine เป็นความรับผิดชอบของคุณในการกำหนดค่า จัดการ และตรวจสอบระบบGoogle รับรองว่าทรัพยากรจะพร้อมใช้งาน เชื่อถือได้ และพร้อมให้คุณใช้ แต่ขึ้นอยู่กับคุณว่าจะจัดสรรและจัดการทรัพยากรเหล่านั้นข้อดีคือคุณสามารถควบคุมระบบได้อย่างสมบูรณ์และมีความยืดหยุ่นไม่จำกัดใช้ Compute Engine เพื่อออกแบบและปรับใช้ระบบให้บริการเว็บไซต์เกือบทุกระบบที่คุณต้องการคุณสามารถใช้ VM ที่เรียกว่าอินสแตนซ์เพื่อสร้างแอปของคุณได้ เช่นเดียวกับที่คุณใช้หากคุณมีโครงสร้างพื้นฐานฮาร์ดแวร์ของคุณเองCompute Engine นำเสนอประเภทเครื่องที่หลากหลายเพื่อปรับแต่งการกำหนดค่าให้ตรงกับความต้องการและงบประมาณของคุณคุณสามารถเลือกระบบปฏิบัติการ กลุ่มการพัฒนา ภาษา เฟรมเวิร์ก บริการ และเทคโนโลยีซอฟต์แวร์อื่นๆ ที่คุณต้องการการตั้งค่าโดยอัตโนมัติด้วย Google Cloud Marketplaceวิธีที่ง่ายที่สุดในการปรับใช้สแตกบริการเว็บที่สมบูรณ์คือการใช้ Google Cloud Marketplaceเพียงคลิกไม่กี่ครั้ง คุณก็ปรับใช้โซลูชันใดๆ ที่มีอยู่มากกว่า 100 รายการได้ด้วย Google Click to Deploy หรือ Bitnamiตัวอย่างเช่น คุณสามารถตั้งค่า LAMP stack หรือ WordPress ด้วย Cloud Marketplaceระบบปรับใช้ชุดซอฟต์แวร์ที่สมบูรณ์และใช้งานได้ในเวลาเพียงไม่กี่นาทีในอินสแตนซ์เดียวก่อนที่คุณจะปรับใช้ Cloud Marketplace จะแสดงค่าใช้จ่ายโดยประมาณสำหรับการเรียกใช้ไซต์ ให้ข้อมูลที่ชัดเจนเกี่ยวกับเวอร์ชันของส่วนประกอบซอฟต์แวร์ที่ติดตั้งให้คุณ และให้คุณปรับแต่งการกำหนดค่าของคุณโดยการเปลี่ยนชื่ออินสแตนซ์ของส่วนประกอบ เลือก ประเภทเครื่อง และการเลือกขนาดดิสก์หลังจากปรับใช้ คุณจะสามารถควบคุมอินสแตนซ์ Compute Engine การกำหนดค่า และซอฟต์แวร์ได้อย่างสมบูรณ์การตั้งค่าด้วยตนเองคุณยังสามารถสร้างโครงสร้างพื้นฐานบน Compute Engine ด้วยตนเอง ไม่ว่าจะเป็นการสร้างการกำหนดค่าตั้งแต่เริ่มต้นหรือสร้างบนการปรับใช้ Google Cloud Marketplaceตัวอย่างเช่น คุณอาจต้องการใช้เวอร์ชันของส่วนประกอบซอฟต์แวร์ที่ไม่มีใน Cloud Marketplace หรือบางทีคุณอาจต้องการติดตั้งและกำหนดค่าทุกอย่างด้วยตัวคุณเองให้เสร็จสมบูรณ์ กรอบงานและแนวปฏิบัติที่ดีที่สุดสำหรับการตั้งค่าเว็บไซต์อยู่นอกเหนือขอบเขตของบทความนี้แต่จากมุมมองระดับสูง ด้านเทคนิคในการตั้งค่าโครงสร้างพื้นฐานการให้บริการเว็บบน Compute Engine กำหนดให้คุณ:เข้าใจข้อกำหนดหากคุณกำลังสร้างเว็บไซต์ใหม่ ตรวจสอบให้แน่ใจว่าคุณเข้าใจส่วนประกอบที่คุณต้องการ เช่น อินสแตนซ์ พื้นที่เก็บข้อมูล และโครงสร้างพื้นฐานเครือข่ายหากคุณกำลังย้ายแอปของคุณจากโซลูชันที่มีอยู่ คุณอาจเข้าใจข้อกำหนดเหล่านี้แล้ว แต่คุณต้องคิดให้ถี่ถ้วนว่าการตั้งค่าที่มีอยู่ของคุณแมปกับบริการ Google Cloud อย่างไรวางแผนการออกแบบคิดผ่านสถาปัตยกรรมของคุณและเขียนการออกแบบของคุณชัดเจนที่สุดเท่าที่จะทำได้สร้างส่วนประกอบส่วนประกอบที่คุณมักคิดว่าเป็นทรัพย์สินทางกายภาพ เช่น คอมพิวเตอร์และสวิตช์เครือข่าย มีให้บริการผ่านบริการใน Compute Engineตัวอย่างเช่น หากคุณต้องการคอมพิวเตอร์ คุณต้องสร้างอินสแตนซ์ Compute Engineหากคุณต้องการฮาร์ดไดร์ฟแบบถาวร คุณก็สร้างมันขึ้นมาเช่นกันCloud Deployment Manager หรือ Terraform ทำให้ขั้นตอนนี้ง่ายและทำซ้ำได้กำหนดค่าและปรับแต่งหลังจากที่คุณมีส่วนประกอบที่ต้องการแล้ว คุณต้องกำหนดค่า ติดตั้งและกำหนดค่าซอฟต์แวร์ รวมถึงเขียนและปรับใช้โค้ดการปรับแต่งใดๆ ที่คุณต้องการคุณสามารถทำซ้ำการกำหนดค่าได้โดยการเรียกใช้เชลล์สคริปต์ ซึ่งช่วยเพิ่มความเร็วในการปรับใช้ในอนาคตDeployment Manager ช่วยที่นี่เช่นกัน โดยจัดทำเทมเพลตการกำหนดค่าที่ยืดหยุ่นและเปิดเผยสำหรับการปรับใช้ทรัพยากรโดยอัตโนมัติคุณยังสามารถใช้ประโยชน์จากเครื่องมือไอทีอัตโนมัติ เช่น Puppet และ Chefปรับใช้เนื้อหาสมมุติว่าคุณมีหน้าเว็บและรูปภาพทดสอบตรวจสอบว่าทุกอย่างทำงานตามที่คุณคาดหวังปรับใช้กับการผลิตเปิดไซต์ของคุณให้โลกเห็นและใช้เพื่อช่วยให้คุณเริ่มต้นใช้งานและเข้าใจว่าการตั้งค่าอินสแตนซ์ Compute Engine ด้วยตนเองเป็นอย่างไร ให้ลองอย่างน้อยหนึ่งรายการ บทช่วยสอนต่อไปนี้:การจัดเก็บข้อมูลด้วย Compute Engine เว็บไซต์ส่วนใหญ่ต้องการพื้นที่เก็บข้อมูลบางประเภท คุณอาจต้องการพื้นที่เก็บข้อมูลด้วยเหตุผลหลายประการ เช่น การบันทึกไฟล์ที่ผู้ใช้อัปโหลด และแน่นอนว่าเป็นเนื้อหาที่ไซต์ของคุณใช้ Google Cloud ให้บริการพื้นที่เก็บข้อมูลที่มีการจัดการมากมาย รวมถึง: - ฐานข้อมูล SQL ใน Cloud SQL ซึ่งใช้ MySQL - สองตัวเลือกสำหรับการจัดเก็บข้อมูล NoSQL: Firestore และ Cloud Bigtable - ที่จัดเก็บอ็อบเจกต์ความจุขนาดใหญ่ที่สม่ำเสมอ ปรับขนาดได้ การจัดเก็บเมฆ Cloud Storage มีหลายคลาส: - Standard ให้ความพร้อมใช้งานสูงสุด - Nearline เป็นตัวเลือกราคาประหยัดที่เหมาะสำหรับการเข้าถึงข้อมูลน้อยกว่าเดือนละครั้ง - Coldline เป็นตัวเลือกต้นทุนต่ำที่เหมาะสำหรับการเข้าถึงข้อมูลน้อยกว่าไตรมาสละครั้ง - ไฟล์เก็บถาวรให้ทางเลือกต้นทุนต่ำที่สุดสำหรับการเก็บถาวร สำรองข้อมูล และกู้คืนระบบ - ดิสก์ถาวรบน Compute Engine เพื่อใช้เป็นที่เก็บข้อมูลหลักสำหรับอินสแตนซ์ของคุณ ข้อเสนอของ Compute Engine ทั้งดิสก์ถาวรแบบใช้ฮาร์ดดิสก์ก็เรียก ดิสก์ถาวรมาตรฐาน และดิสก์ถาวรโซลิดสเตต (SSD) คุณยังสามารถเลือกที่จะตั้งค่าเทคโนโลยีการจัดเก็บข้อมูลที่คุณต้องการบน Compute Engine โดยใช้ดิสก์ถาวร ตัวอย่างเช่น คุณสามารถตั้งค่า PostgreSQL เป็นฐานข้อมูล SQL หรือ MongoDB เป็นพื้นที่จัดเก็บ NoSQL หากต้องการทำความเข้าใจเกี่ยวกับบริการพื้นที่เก็บข้อมูลทั้งหมดบน Google Cloud โปรดดูการเลือกตัวเลือกพื้นที่เก็บข้อมูล โหลดบาลานซ์ด้วย Compute Engine สำหรับเว็บไซต์ที่ทำงานตามขนาด การใช้เทคโนโลยีโหลดบาลานซ์เพื่อกระจายปริมาณงานระหว่างเซิร์ฟเวอร์มักเป็นสิ่งที่จำเป็น คุณมีตัวเลือกมากมายเมื่อออกแบบสถาปัตยกรรมเว็บเซิร์ฟเวอร์ที่มีโหลดบาลานซ์บน Compute Engine รวมถึง: - โหลดบาลานซ์ HTTP(S) อธิบายพื้นฐานของการใช้ Cloud Load Balancing - โหลดบาลานซ์ตามเนื้อหา สาธิตวิธีกระจายการรับส่งข้อมูลไปยังอินสแตนซ์ต่างๆ ตาม URL ที่เข้ามา - โหลดบาลานซ์ข้ามภูมิภาค สาธิตการกำหนดค่าอินสแตนซ์ VM ในภูมิภาคต่างๆ และใช้ HTTP หรือ HTTPS โหลดบาลานซ์เพื่อกระจายการรับส่งข้อมูลข้ามภูมิภาค - โหลดบาลานซ์ TCP Proxy สาธิตการตั้งค่าการโหลดบาลานซ์ TCP Proxy ส่วนกลางสำหรับบริการที่มีอยู่ในหลายภูมิภาค - โหลดบาลานซ์ SSL Proxy สาธิตการตั้งค่าโหลดบาลานซ์ SSL Proxy ส่วนกลางสำหรับบริการที่มีอยู่ในหลายภูมิภาค - การยกเลิก IPv6 สำหรับ HTTP(S), SSL Proxy และ TCP Proxy load balancing อธิบายการยกเลิก IPv6 และตัวเลือกสำหรับการกำหนดค่าโหลดบาลานเซอร์เพื่อจัดการคำขอ IPv6 - สมดุลโหลดเครือข่าย แสดงสถานการณ์พื้นฐานที่ตั้งค่าการกำหนดค่าการจัดสรรภาระงานเลเยอร์ 3 เพื่อกระจายการรับส่งข้อมูล HTTP ข้ามอินสแตนซ์ที่สมบูรณ์ - โหลดบาลานซ์ข้ามภูมิภาคโดยใช้แบ็กเอนด์ Microsoft IIS แสดงวิธีใช้ตัวจัดสรรภาระงาน Compute Engine เพื่อกระจายการรับส่งข้อมูลไปยังเซิร์ฟเวอร์ Microsoft Internet Information Services (IIS) - การตั้งค่าโหลดบาลานซ์ภายใน คุณสามารถตั้งค่าโหลดบาลานเซอร์ที่กระจายการรับส่งข้อมูลเครือข่ายบนเครือข่ายส่วนตัวที่ไม่ได้เปิดเผยต่ออินเทอร์เน็ต การทำโหลดบาลานซ์ภายในมีประโยชน์ไม่เพียงแต่กับแอปอินทราเน็ตที่ทราฟฟิกทั้งหมดยังคงอยู่ในเครือข่ายส่วนตัวเท่านั้น แต่ยังมีประโยชน์สำหรับเว็บแอปที่ซับซ้อนซึ่งส่วนหน้าร้องขอไปยังเซิร์ฟเวอร์ส่วนหลังโดยใช้เครือข่ายส่วนตัว การปรับใช้โหลดบาลานซ์มีความยืดหยุ่น และคุณสามารถใช้ Compute Engine กับโซลูชันที่มีอยู่ได้ ตัวอย่างเช่น การจัดสรรภาระงาน HTTP(S) โดยใช้ Nginx เป็นโซลูชันหนึ่งที่เป็นไปได้ที่คุณสามารถใช้แทนตัวจัดสรรภาระงาน Compute Engine การกระจายเนื้อหาด้วย Compute Engine เนื่องจากเวลาตอบสนองเป็นเมตริกพื้นฐานสำหรับเว็บไซต์ใดๆ การใช้ CDN เพื่อลดเวลาแฝงและเพิ่มประสิทธิภาพจึงมักเป็นข้อกำหนด โดยเฉพาะอย่างยิ่งสำหรับไซต์ที่มีการเข้าชมเว็บทั่วโลก Cloud CDN ใช้จุดแสดงตนที่กระจายอยู่ทั่วโลกของ Google เพื่อส่งเนื้อหาจากตำแหน่งแคชที่ใกล้กับผู้ใช้มากที่สุด Cloud CDN ทำงานร่วมกับ HTTP(S) load balancing หากต้องการให้บริการเนื้อหาจาก Compute Engine, Cloud Storage หรือทั้งสองอย่างจากที่อยู่ IP เดียว ให้เปิดใช้ Cloud CDN สำหรับตัวจัดสรรภาระงาน HTTP(S) การปรับขนาดอัตโนมัติด้วย Compute Engine คุณสามารถตั้งค่าสถาปัตยกรรมของคุณเพื่อเพิ่มและลบเซิร์ฟเวอร์ได้ตามความต้องการที่แตกต่างกันไป วิธีนี้สามารถช่วยให้แน่ใจว่าไซต์ของคุณทำงานได้ดีภายใต้การโหลดสูงสุด ในขณะที่ควบคุมค่าใช้จ่ายในช่วงที่มีความต้องการปกติมากขึ้น Compute Engine มีตัวปรับขนาดอัตโนมัติที่คุณใช้เพื่อจุดประสงค์นี้ได้ การปรับขนาดอัตโนมัติเป็นคุณลักษณะหนึ่งของกลุ่มอินสแตนซ์ที่มีการจัดการ กลุ่มอินสแตนซ์ที่มีการจัดการคือกลุ่มของอินสแตนซ์เครื่องเสมือนที่เป็นเนื้อเดียวกัน ซึ่งสร้างขึ้นจากเทมเพลตอินสแตนซ์ทั่วไป ตัวปรับขนาดอัตโนมัติจะเพิ่มหรือลบอินสแตนซ์ในกลุ่มอินสแตนซ์ที่มีการจัดการ แม้ว่า Compute Engine จะมีทั้งกลุ่มอินสแตนซ์ที่มีการจัดการและไม่ได้รับการจัดการ แต่คุณสามารถใช้ได้เฉพาะกลุ่มอินสแตนซ์ที่มีการจัดการกับตัวปรับขนาดอัตโนมัติเท่านั้น สำหรับข้อมูลเพิ่มเติม โปรดดูที่การปรับขนาดอัตโนมัติบน Compute Engine สำหรับข้อมูลเชิงลึกเกี่ยวกับสิ่งที่ต้องใช้ในการสร้างโซลูชันเว็บแอปที่ปรับขนาดได้และยืดหยุ่น โปรดดูที่ การสร้างเว็บแอปที่ปรับขนาดได้และยืดหยุ่น การบันทึกและการตรวจสอบด้วย Compute Engine Google Cloud มีคุณลักษณะต่างๆ ที่คุณสามารถใช้เพื่อติดตามสิ่งที่เกิดขึ้นกับเว็บไซต์ของคุณ Cloud Logging รวบรวมและจัดเก็บบันทึกจากแอพและบริการบน Google Cloud คุณสามารถดูหรือส่งออกบันทึกและรวมบันทึกของบุคคลที่สามได้โดยใช้ตัวแทนการบันทึก Cloud Monitoring จัดเตรียมแดชบอร์ดและการแจ้งเตือนสำหรับไซต์ของคุณคุณกำหนดค่าการตรวจสอบด้วย Google Cloud Consoleคุณสามารถตรวจสอบเมตริกประสิทธิภาพสำหรับบริการคลาวด์ เครื่องเสมือน และเซิร์ฟเวอร์โอเพ่นซอร์สทั่วไป เช่น MongoDB, Apache, Nginx และ Elasticsearchคุณสามารถใช้ Cloud Monitoring API เพื่อดึงข้อมูลการตรวจสอบและสร้างเมตริกที่กำหนดเองCloud Monitoring ยังมีการตรวจสอบเวลาทำงาน ซึ่งส่งคำขอไปยังเว็บไซต์ของคุณเพื่อดูว่าตอบสนองหรือไม่คุณสามารถตรวจสอบความพร้อมใช้งานของเว็บไซต์ได้โดยการปรับใช้นโยบายการแจ้งเตือนที่สร้างเหตุการณ์หากการตรวจสอบเวลาทำงานล้มเหลวการจัดการ DevOps ด้วย Compute Engineสำหรับข้อมูลเกี่ยวกับการจัดการ DevOps ด้วย Compute Engine โปรดดูบทความต่อไปนี้:- การทดสอบโหลดแบบกระจายโดยใช้ Kubernetes- การเรียกใช้ Spinnaker บน Compute Engine- การจัดการการปรับใช้บน Google Cloud ด้วย Spinnaker# # การใช้คอนเทนเนอร์กับ GKEคุณอาจใช้คอนเทนเนอร์อยู่แล้ว เช่น คอนเทนเนอร์ Dockerสำหรับการให้บริการเว็บ คอนเทนเนอร์มีข้อดีหลายประการ ได้แก่:การจัดองค์ประกอบคุณสามารถใช้คอนเทนเนอร์เพื่อแยกส่วนประกอบต่างๆ ของเว็บแอปของคุณตัวอย่างเช่น สมมติว่าไซต์ของคุณเรียกใช้เว็บเซิร์ฟเวอร์และฐานข้อมูลคุณสามารถเรียกใช้คอมโพเนนต์เหล่านี้ในคอนเทนเนอร์ที่แยกจากกัน แก้ไขและอัปเดตคอมโพเนนต์หนึ่งโดยไม่ส่งผลกระทบต่ออีกคอมโพเนนต์เนื่องจากการออกแบบแอปของคุณมีความซับซ้อนมากขึ้น คอนเทนเนอร์จึงเหมาะสำหรับสถาปัตยกรรมที่เน้นบริการ ซึ่งรวมถึงไมโครเซอร์วิสด้วยการออกแบบประเภทนี้รองรับความสามารถในการปรับขนาด รวมถึงเป้าหมายอื่นๆการพกพาคอนเทนเนอร์มีทุกสิ่งที่จำเป็นในการเรียกใช้แอปของคุณและการอ้างอิงรวมเข้าด้วยกันคุณสามารถเรียกใช้คอนเทนเนอร์ของคุณบนแพลตฟอร์มต่างๆ โดยไม่ต้องกังวลเกี่ยวกับรายละเอียดระบบพื้นฐานการปรับใช้อย่างรวดเร็วเมื่อถึงเวลาปรับใช้ ระบบของคุณสร้างขึ้นจากชุดของคำจำกัดความและอิมเมจ ดังนั้นส่วนต่างๆ จึงปรับใช้ได้อย่างรวดเร็ว เชื่อถือได้ และอัตโนมัติโดยทั่วไปคอนเทนเนอร์จะมีขนาดเล็กและปรับใช้ได้เร็วกว่ามากเมื่อเทียบกับ เช่น เครื่องเสมือนคอนเทนเนอร์คอมพิวติ้งบน Google Cloud มีข้อดีมากกว่าสำหรับการให้บริการเว็บ ได้แก่ออเคสตร้า.GKE เป็นบริการที่มีการจัดการซึ่งสร้างขึ้นบน Kubernetes ซึ่งเป็นระบบการจัดการคอนเทนเนอร์แบบโอเพ่นซอร์สที่ Google นำมาใช้ด้วย GKE โค้ดของคุณจะทำงานในคอนเทนเนอร์ที่เป็นส่วนหนึ่งของคลัสเตอร์ที่ประกอบด้วยอินสแตนซ์ Compute Engineแทนที่จะต้องจัดการแต่ละคอนเทนเนอร์หรือสร้างและปิดแต่ละคอนเทนเนอร์ด้วยตนเอง คุณสามารถจัดการคลัสเตอร์โดยอัตโนมัติผ่าน GKE ซึ่งใช้การกำหนดค่าที่คุณกำหนดการลงทะเบียนรูปภาพContainer Registry หรือ Artifact Registry มอบพื้นที่เก็บข้อมูลส่วนตัวสำหรับอิมเมจ Docker บน Google Cloudคุณสามารถเข้าถึงรีจิสทรีผ่านจุดสิ้นสุด HTTPS คุณจึงสามารถดึงอิมเมจจากเครื่องใดก็ได้ ไม่ว่าจะเป็นอินสแตนซ์ Compute Engine หรือฮาร์ดแวร์ของคุณเองบริการรีจิสทรีโฮสต์รูปภาพที่คุณกำหนดเองใน Cloud Storage ภายใต้โครงการ Google Cloudวิธีการนี้ช่วยให้แน่ใจว่าโดยค่าเริ่มต้นรูปภาพที่กำหนดเองของคุณสามารถเข้าถึงได้โดยผู้หลักเท่านั้นที่มีสิทธิ์เข้าถึงโครงการของคุณความคล่องตัวซึ่งหมายความว่าคุณมีความยืดหยุ่นในการย้ายและรวมปริมาณงานกับผู้ให้บริการคลาวด์รายอื่น หรือผสมปริมาณงานการประมวลผลแบบคลาวด์กับการใช้งานในสถานที่เพื่อสร้างโซลูชันแบบไฮบริดการจัดเก็บข้อมูลด้วย GKEเนื่องจาก GKE ทำงานบน Google Cloud และใช้อินสแตนซ์ของ Compute Engine เป็นโหนด ตัวเลือกพื้นที่เก็บข้อมูลของคุณจึงมีหลายอย่างเหมือนกันกับพื้นที่เก็บข้อมูลบน Compute Engineคุณสามารถเข้าถึง Cloud SQL, Cloud Storage, Datastore และ Bigtable ผ่าน API ของพวกเขา หรือคุณจะใช้ผู้ให้บริการพื้นที่เก็บข้อมูลภายนอกรายอื่นก็ได้ หากคุณเลือกอย่างไรก็ตาม GKE โต้ตอบกับดิสก์ถาวรของ Compute Engine ด้วยวิธีที่แตกต่างจากอินสแตนซ์ Compute Engine ปกติอินสแตนซ์ของ Compute Engine มีดิสก์ที่ต่อพ่วงเมื่อคุณใช้Compute Engine ตราบใดที่มีอินสแตนซ์อยู่ ปริมาณดิสก์จะยังคงอยู่กับอินสแตนซ์คุณยังสามารถแยกดิสก์และใช้กับอินสแตนซ์อื่นได้อีกด้วยแต่ในคอนเทนเนอร์ ไฟล์บนดิสก์เป็นแบบชั่วคราวเมื่อคอนเทนเนอร์เริ่มการทำงานใหม่ เช่น หลังจากการหยุดทำงาน ไฟล์ในดิสก์จะสูญหายKubernetes แก้ไขปัญหานี้โดยใช้โวลุ่มabstraction และโวลุ่มประเภทหนึ่งคือgcePersistentDiskซึ่งหมายความว่าคุณสามารถใช้ดิสก์ถาวรของ Compute Engine กับคอนเทนเนอร์เพื่อป้องกันไม่ให้ไฟล์ข้อมูลของคุณถูกลบเมื่อคุณใช้ GKEเพื่อทำความเข้าใจคุณลักษณะและประโยชน์ของไดรฟ์ข้อมูล คุณควรทำความเข้าใจเกี่ยวกับพ็อดก่อนคุณอาจคิดว่าพ็อดเป็นโฮสต์เชิงตรรกะเฉพาะแอปสำหรับหนึ่งคอนเทนเนอร์ขึ้นไปพ็อดทำงานบนโหนดอินสแตนซ์เมื่อคอนเทนเนอร์เป็นสมาชิกของพ็อด คอนเทนเนอร์สามารถใช้ทรัพยากรต่างๆ ร่วมกัน รวมถึงชุดของวอลุ่มพื้นที่เก็บข้อมูลที่ใช้ร่วมกันไดรฟ์ข้อมูลเหล่านี้ช่วยให้ข้อมูลอยู่รอดได้เมื่อคอนเทนเนอร์รีสตาร์ทและแชร์ระหว่างคอนเทนเนอร์ภายในพ็อดแน่นอน คุณสามารถใช้คอนเทนเนอร์และวอลุ่มเดียวในพ็อดได้เช่นกัน แต่พ็อดนั้นเป็นนามธรรมที่จำเป็นในการเชื่อมต่อทรัพยากรเหล่านี้อย่างมีเหตุผลตัวอย่างเช่น ให้ดูบทช่วยสอน การใช้ดิสก์ถาวรกับ WordPress และ MySQLโหลดบาลานซ์ด้วย GKEสถาปัตยกรรมการให้บริการเว็บขนาดใหญ่จำนวนมากจำเป็นต้องมีเซิร์ฟเวอร์หลายเครื่องที่ทำงานซึ่งสามารถใช้ความต้องการในการรับส่งข้อมูลร่วมกันได้เนื่องจากคุณสามารถสร้างและจัดการคอนเทนเนอร์ โหนด และพ็อดได้หลายรายการด้วย GKE จึงเหมาะอย่างยิ่งสำหรับระบบบริการเว็บที่มีโหลดบาลานซ์การใช้เครือข่ายโหลดบาลานซ์วิธีที่ง่ายที่สุดในการสร้างโหลดบาลานเซอร์ใน GKE คือการใช้เครือข่ายโหลดบาลานซ์ของ Compute Engineเครือข่ายโหลดบาลานซ์สามารถปรับสมดุลโหลดของระบบของคุณตามข้อมูลอินเทอร์เน็ตโปรโตคอลที่เข้ามา เช่น ที่อยู่ พอร์ต และประเภทโปรโตคอลเครือข่ายโหลดบาลานซ์ใช้กฎการส่งต่อกฎเหล่านี้ชี้ไปที่กลุ่มเป้าหมายที่แสดงรายการอินสแตนซ์ที่พร้อมใช้งานสำหรับการจัดสรรภาระงาน ด้วยการจัดสรรภาระงานเครือข่าย คุณสามารถโหลดสมดุลโปรโตคอลที่ใช้ TCP/UDP เพิ่มเติม เช่น การรับส่งข้อมูล SMTP และแอปของคุณสามารถตรวจสอบแพ็กเก็ตได้โดยตรง คุณสามารถปรับใช้เครือข่ายโหลดบาลานซ์ได้ง่ายๆ โดยการเพิ่ม ประเภท: LoadBalancer ลงในไฟล์การกำหนดค่าบริการของคุณ การใช้โหลดบาลานซ์ HTTP(S) หากคุณต้องการฟีเจอร์การจัดสรรภาระงานขั้นสูงเพิ่มเติม เช่น การจัดสรรภาระงาน HTTPS การจัดสรรภาระงานตามเนื้อหา หรือการจัดสรรภาระงานข้ามภูมิภาค คุณสามารถรวมบริการ GKE ของคุณเข้ากับคุณลักษณะการจัดสรรภาระงาน HTTP/HTTPS ของ Compute Engine Kubernetes จัดเตรียมทรัพยากร Ingress ที่รวมชุดของกฎสำหรับการกำหนดเส้นทางการรับส่งข้อมูลภายนอกไปยังปลายทาง Kubernetes ใน GKE ทรัพยากร Ingress จะจัดการการจัดสรรและกำหนดค่าตัวจัดสรรภาระงาน HTTP/HTTPS ของ Compute Engine สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้การจัดสรรภาระงาน HTTP/HTTPS ใน GKE โปรดดูที่การตั้งค่าการจัดสรรภาระงาน HTTP ด้วย Ingress ปรับขนาดด้วย GKE สำหรับการปรับขนาดคลัสเตอร์โดยอัตโนมัติ คุณสามารถใช้ Cluster Autoscaler คุณลักษณะนี้จะตรวจสอบเป็นระยะๆ ว่ามีพ็อดใดบ้างที่กำลังรอโหนดที่มีทรัพยากรฟรีแต่ไม่ได้กำหนดเวลาไว้ หากมีพ็อดดังกล่าวอยู่ ตัวปรับขนาดอัตโนมัติจะปรับขนาด Node Pool หากการปรับขนาดจะทำให้สามารถกำหนดเวลาพ็อดที่รออยู่ได้ Autoscaler คลัสเตอร์ยังตรวจสอบการใช้งานของโหนดทั้งหมด หากไม่ต้องการใช้โหนดเป็นระยะเวลานาน และสามารถกำหนดเวลาพ็อดทั้งหมดไว้ที่อื่นได้ โหนดนั้นจะถูกลบ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Cluster Autoscaler ข้อจำกัด และแนวทางปฏิบัติที่ดีที่สุด โปรดดูเอกสารประกอบของ Cluster Autoscaler การบันทึกและการตรวจสอบด้วย GKE เช่นเดียวกับ Compute Engine การบันทึกและการตรวจสอบจะให้บริการการบันทึกและการตรวจสอบของคุณ การบันทึกจะรวบรวมและจัดเก็บบันทึกจากแอพและบริการต่างๆ คุณสามารถดูหรือส่งออกบันทึกและรวมบันทึกของบุคคลที่สามได้โดยใช้ตัวแทนการบันทึก การตรวจสอบให้แดชบอร์ดและการแจ้งเตือนสำหรับไซต์ของคุณ คุณกำหนดค่าการตรวจสอบด้วย Google Cloud Console คุณสามารถตรวจสอบเมตริกประสิทธิภาพสำหรับบริการคลาวด์ เครื่องเสมือน และเซิร์ฟเวอร์โอเพ่นซอร์สทั่วไป เช่น MongoDB, Apache, Nginx และ Elasticsearch คุณสามารถใช้ API การตรวจสอบเพื่อดึงข้อมูลการตรวจสอบและสร้างเมตริกที่กำหนดเอง การจัดการ DevOps ด้วย GKE เมื่อคุณใช้ GKE คุณจะได้รับประโยชน์มากมายที่คนส่วนใหญ่นึกถึงเมื่อนึกถึง DevOps โดยเฉพาะอย่างยิ่งเมื่อพูดถึงความง่ายในการบรรจุ การปรับใช้ และการจัดการ สำหรับความต้องการเวิร์กโฟลว์ CI/CD ของคุณ คุณสามารถใช้ประโยชน์จากเครื่องมือยอดนิยม เช่น Jenkins ดูบทความต่อไปนี้: ## สร้างบนแพลตฟอร์มที่มีการจัดการด้วย App Engine บน Google Cloud แพลตฟอร์มที่มีการจัดการในรูปแบบบริการ (PaaS) เรียกว่า App Engine เมื่อคุณสร้างเว็บไซต์บน App Engine คุณจะต้องมุ่งเน้นไปที่การเขียนโค้ดคุณสมบัติของคุณและปล่อยให้ Google กังวลเกี่ยวกับการจัดการโครงสร้างพื้นฐานที่รองรับ App Engine มีคุณลักษณะมากมายที่ทำให้ความสามารถในการปรับขนาด การจัดสรรภาระงาน การบันทึก การตรวจสอบ และการรักษาความปลอดภัยทำได้ง่ายกว่าการที่คุณต้องสร้างและจัดการด้วยตนเอง App Engine ให้คุณเขียนโค้ดในภาษาการเขียนโปรแกรมต่างๆ และสามารถใช้บริการ Google Cloud อื่นๆ ได้หลากหลาย App Engine จัดเตรียมสภาพแวดล้อมมาตรฐาน ซึ่งช่วยให้คุณเรียกใช้แอปในสภาพแวดล้อมที่ปลอดภัยและเป็นแบบแซนด์บ็อกซ์ สภาพแวดล้อมมาตรฐานของ App Engine กระจายคำขอไปยังเซิร์ฟเวอร์หลายเครื่อง และปรับขนาดเซิร์ฟเวอร์ให้ตรงกับความต้องการในการรับส่งข้อมูล แอปของคุณทำงานในสภาพแวดล้อมที่ปลอดภัยและเชื่อถือได้ซึ่งไม่ขึ้นกับฮาร์ดแวร์ ระบบปฏิบัติการ หรือตำแหน่งทางกายภาพของเซิร์ฟเวอร์ เพื่อให้คุณมีตัวเลือกมากขึ้น App Engine ขอเสนอสภาพแวดล้อมที่ยืดหยุ่น เมื่อคุณใช้สภาพแวดล้อมที่ยืดหยุ่น แอปของคุณจะทำงานบนอินสแตนซ์ Compute Engine ที่กำหนดค่าได้ แต่ App Engine จะจัดการสภาพแวดล้อมการโฮสต์ให้คุณ ซึ่งหมายความว่าคุณสามารถใช้รันไทม์เพิ่มเติม รวมถึงรันไทม์แบบกำหนดเอง สำหรับตัวเลือกภาษาโปรแกรมเพิ่มเติม คุณยังสามารถใช้ประโยชน์จากความยืดหยุ่นบางอย่างที่ Compute Engine มอบให้ เช่น การเลือกจากตัวเลือก CPU และหน่วยความจำที่หลากหลาย ภาษาโปรแกรม สภาพแวดล้อมมาตรฐานของ App Engine จัดเตรียมรันไทม์เริ่มต้น และคุณเขียนซอร์สโค้ดในเวอร์ชันเฉพาะของภาษาโปรแกรมที่รองรับ ด้วยสภาพแวดล้อมที่ยืดหยุ่น คุณจะเขียนซอร์สโค้ดในเวอร์ชันของภาษาโปรแกรมที่รองรับ คุณสามารถปรับแต่งรันไทม์เหล่านี้หรือระบุรันไทม์ของคุณเองด้วยอิมเมจ Docker หรือ Dockerfile ที่กำหนดเอง หากภาษาการเขียนโปรแกรมที่คุณใช้เป็นปัญหาหลัก คุณต้องตัดสินใจว่ารันไทม์ที่จัดเตรียมโดยสภาพแวดล้อมมาตรฐานของ App Engine นั้นตรงกับความต้องการของคุณหรือไม่ หากไม่เป็นเช่นนั้น คุณควรพิจารณาใช้สภาพแวดล้อมที่ยืดหยุ่น หากต้องการพิจารณาว่าสภาพแวดล้อมใดที่ตอบสนองความต้องการของแอปของคุณได้ดีที่สุด โปรดดูที่ การเลือกสภาพแวดล้อม App Engine บทเรียนเริ่มต้นตามภาษา บทช่วยสอนต่อไปนี้สามารถช่วยคุณเริ่มต้นใช้งานสภาพแวดล้อมมาตรฐานของ App Engine: - สวัสดีชาวโลกใน Python - สวัสดีชาวโลกในภาษาจาวา - สวัสดีชาวโลกใน PHP - สวัสดีชาวโลกใน Ruby - สวัสดีชาวโลกใน Go - สวัสดีชาวโลกใน Node.js บทช่วยสอนต่อไปนี้สามารถช่วยคุณเริ่มต้นใช้งานสภาพแวดล้อมที่ยืดหยุ่นได้: - การเริ่มต้นกับ Python - การเริ่มต้นกับ Java - การเริ่มต้นกับ PHP - เริ่มต้นด้วย Go - เริ่มต้นใช้งาน Node.js - เริ่มต้นใช้งาน Ruby - เริ่มต้นใช้งาน .NET จัดเก็บข้อมูลด้วย App Engine App Engine ให้ตัวเลือกสำหรับการจัดเก็บข้อมูลของคุณ: |ชื่อ||โครงสร้าง||ความสอดคล้อง| |Firestore||ไร้สคีมา||สอดคล้องอย่างยิ่ง| |Cloud SQL||เชิงสัมพันธ์||สอดคล้องอย่างยิ่ง| |ที่เก็บข้อมูลบนคลาวด์||ไฟล์และข้อมูลเมตาที่เกี่ยวข้อง||มีความสอดคล้องกันอย่างมาก ยกเว้นเมื่อดำเนินการรายการที่ได้รับรายการที่เก็บข้อมูลหรือวัตถุ| คุณยังสามารถใช้ฐานข้อมูลบุคคลที่สามหลายฐานข้อมูลกับสภาพแวดล้อมมาตรฐาน สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับที่เก็บข้อมูลใน App Engine โปรดดูที่การเลือกตัวเลือกที่เก็บข้อมูล จากนั้นเลือกภาษาโปรแกรมที่คุณต้องการ เมื่อคุณใช้สภาพแวดล้อมที่ยืดหยุ่น คุณสามารถใช้ตัวเลือกพื้นที่เก็บข้อมูลทั้งหมดได้เหมือนกับที่คุณทำได้กับสภาพแวดล้อมมาตรฐาน และฐานข้อมูลของบุคคลที่สามที่หลากหลายมากขึ้นเช่นกัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฐานข้อมูลของบริษัทอื่นในสภาพแวดล้อมที่ยืดหยุ่น โปรดดูที่ การใช้ฐานข้อมูลของบริษัทอื่น โหลดบาลานซ์และปรับขนาดอัตโนมัติด้วย App Engine ตามค่าเริ่มต้น App Engine จะกำหนดเส้นทางคำขอขาเข้าไปยังอินสแตนซ์แบ็กเอนด์ที่เหมาะสมโดยอัตโนมัติ และจัดสรรภาระงานให้คุณ อย่างไรก็ตาม หากคุณต้องการใช้ประโยชน์จากความสามารถโหลดบาลานซ์ HTTP(S) ระดับองค์กรที่มีคุณลักษณะครบถ้วนของ Google Cloud คุณสามารถใช้กลุ่มปลายทางเครือข่ายแบบไร้เซิร์ฟเวอร์ สำหรับการปรับขนาด App Engine สามารถสร้างและลดอินสแตนซ์โดยอัตโนมัติเมื่อปริมาณการใช้งานผันผวน หรือคุณสามารถระบุจำนวนอินสแตนซ์ที่จะเรียกใช้โดยไม่คำนึงถึงปริมาณการรับส่งข้อมูล การบันทึกและการตรวจสอบด้วย App Engine ใน App Engine คำขอจะถูกบันทึกโดยอัตโนมัติ และคุณสามารถดูสิ่งเหล่านี้ได้ เข้าสู่ระบบ Google Cloud Console App Engine ยังทำงานร่วมกับ ไลบรารีมาตรฐานเฉพาะภาษาที่มีฟังก์ชันการบันทึกและ ส่งต่อรายการบันทึกไปยังบันทึกใน Google Cloud Console ตัวอย่างเช่น, ในไพธอน คุณสามารถใช้โมดูลการบันทึก Python มาตรฐานและ ในชวา คุณสามารถรวมส่วนต่อท้าย logback หรือ java.util.logging ด้วยการบันทึกบนคลาวด์ วิธีการนี้ทำให้สามารถใช้คุณสมบัติทั้งหมดของ Cloud Logging และต้องการรหัสเฉพาะของ Google Cloud เพียงไม่กี่บรรทัด Cloud Monitoring มีคุณสมบัติสำหรับการตรวจสอบแอป App Engine ของคุณ คุณสามารถตรวจสอบเหตุการณ์ การตรวจสอบเวลาทำงาน และรายละเอียดอื่นๆ ผ่านทาง Google Cloud Console ## สร้างบนแพลตฟอร์มไร้เซิร์ฟเวอร์ด้วย Cloud Run แพลตฟอร์มไร้เซิร์ฟเวอร์ของ Google CloudâÃÂàช่วยให้คุณเขียนโค้ดในแบบของคุณโดยไม่ต้องกังวลเกี่ยวกับโครงสร้างพื้นฐาน คุณสามารถสร้างแอปพลิเคชันไร้เซิร์ฟเวอร์แบบฟูลสแต็กด้วยพื้นที่เก็บข้อมูล ฐานข้อมูล แมชชีนเลิร์นนิง และอื่นๆ ของ Google CloudâÃÂÃÂs สำหรับเว็บไซต์คอนเทนเนอร์ คุณยังสามารถปรับใช้กับ Cloud Run นอกเหนือจากการใช้ GKE Cloud Run เป็นแพลตฟอร์มไร้เซิร์ฟเวอร์ที่มีการจัดการเต็มรูปแบบ ซึ่งช่วยให้คุณเรียกใช้แอปพลิเคชันคอนเทนเนอร์ที่ปรับขนาดได้สูงบน Google Cloud คุณจะจ่ายเฉพาะเวลาที่รหัสของคุณทำงานเท่านั้น เมื่อใช้คอนเทนเนอร์กับ Cloud Run คุณสามารถใช้ประโยชน์จากเทคโนโลยีที่พัฒนาแล้ว เช่น Nginx, Express.js และ Django เพื่อสร้างเว็บไซต์ เข้าถึงฐานข้อมูล SQL บน Cloud SQL และแสดงหน้า HTML แบบไดนามิก เอกสารประกอบของ Cloud Run มีการเริ่มต้นอย่างรวดเร็วเพื่อให้คุณไปต่อได้ จัดเก็บข้อมูลด้วย Cloud Run คอนเทนเนอร์ Cloud Run เป็นแบบชั่วคราวและคุณต้องเข้าใจโควต้าและขีดจำกัดสำหรับกรณีการใช้งานของคุณ ไฟล์สามารถเก็บไว้ชั่วคราวสำหรับการประมวลผลในอินสแตนซ์คอนเทนเนอร์ แต่พื้นที่จัดเก็บนี้มาจากหน่วยความจำที่มีอยู่สำหรับบริการตามที่อธิบายไว้ในสัญญารันไทม์ สำหรับพื้นที่เก็บข้อมูลถาวร คล้ายกับ App Engine คุณสามารถเลือกบริการของ Google Cloud เช่น Cloud Storage, Firestore หรือ Cloud SQL หรือคุณสามารถใช้โซลูชันการจัดเก็บข้อมูลของบุคคลที่สามได้เช่นกัน โหลดบาลานซ์และปรับขนาดอัตโนมัติด้วย Cloud Run ตามค่าเริ่มต้น เมื่อคุณสร้างบน Cloud Run ระบบจะกำหนดเส้นทางคำขอขาเข้าไปยังคอนเทนเนอร์ส่วนหลังที่เหมาะสมโดยอัตโนมัติ และทำการจัดสรรภาระงานให้คุณ อย่างไรก็ตาม หากคุณต้องการใช้ประโยชน์จากความสามารถโหลดบาลานซ์ HTTP(S) ระดับองค์กรที่มีคุณลักษณะครบถ้วนของ Google Cloud คุณสามารถใช้กลุ่มปลายทางเครือข่ายแบบไร้เซิร์ฟเวอร์ ด้วยการจัดสรรภาระงาน HTTP(S) คุณสามารถเปิดใช้งาน Cloud CDN หรือให้บริการการรับส่งข้อมูลจากหลายภูมิภาค นอกจากนี้ คุณสามารถใช้มิดเดิลแวร์ เช่น API Gateway เพื่อปรับปรุงบริการของคุณ สำหรับ Cloud Run นั้น Google Cloud จะจัดการการปรับขนาดอัตโนมัติของอินสแตนซ์คอนเทนเนอร์ สำหรับคุณ. การแก้ไขแต่ละครั้ง จะถูกปรับขนาดโดยอัตโนมัติตามจำนวนอินสแตนซ์ของคอนเทนเนอร์ที่จำเป็นในการจัดการ คำขอที่เข้ามาทั้งหมด เมื่อการแก้ไขไม่ได้รับการเข้าชมตามค่าเริ่มต้น มันปรับขนาดเป็นศูนย์อินสแตนซ์ของคอนเทนเนอร์ อย่างไรก็ตามหากต้องการคุณสามารถทำได้ เปลี่ยนค่าเริ่มต้นนี้เพื่อระบุอินสแตนซ์ที่จะไม่ได้ใช้งานหรือ *อุ่น* โดยใช้ การตั้งค่าอินสแตนซ์ขั้นต่ำ การบันทึกและการตรวจสอบด้วย Cloud Run Cloud Run มีบันทึก 2 ประเภท ซึ่งจะถูกส่งไปยัง Cloud Logging โดยอัตโนมัติ: - บันทึกคำขอ: บันทึกคำขอที่ส่งไปยังบริการ Cloud Run บันทึกเหล่านี้ถูกสร้างขึ้นโดยอัตโนมัติ - บันทึกคอนเทนเนอร์: บันทึกที่ปล่อยออกมาจากอินสแตนซ์คอนเทนเนอร์ โดยทั่วไปมาจากโค้ดของคุณเอง เขียนไปยังตำแหน่งที่รองรับตามที่อธิบายไว้ใน การเขียนบันทึกคอนเทนเนอร์ คุณสามารถดูบันทึกสำหรับบริการของคุณได้สองวิธี: - ใช้หน้า Cloud Run ใน Google Cloud Console - ใช้ Cloud Logging Logs Explorer ในคอนโซล Google Cloud วิธีการดูทั้งสองนี้จะตรวจสอบบันทึกเดียวกันที่จัดเก็บไว้ใน Cloud Logging แต่ Logs Explorer ให้รายละเอียดเพิ่มเติมและความสามารถในการกรองเพิ่มเติม Cloud Monitoring ให้การตรวจสอบประสิทธิภาพ Cloud Run, เมตริก และการตรวจสอบเวลาทำงาน พร้อมด้วยการแจ้งเตือนเพื่อส่งการแจ้งเตือนเมื่อเกินเกณฑ์เมตริกที่กำหนด มีการคิดราคาชุดปฏิบัติการของ Google Cloud ซึ่งหมายความว่าไม่มีค่าใช้จ่ายสำหรับเมตริกใน Cloud Run เวอร์ชันที่มีการจัดการเต็มรูปแบบ โปรดทราบว่าคุณสามารถใช้เมตริกแบบกำหนดเองของ Cloud Monitoring ได้เช่นกัน Cloud Run ผสานรวมกับ Cloud Monitoring *ไม่ต้องตั้งค่าหรือกำหนดค่าใดๆ* ซึ่งหมายความว่าเมตริกของคุณ บริการ Cloud Run จะถูกบันทึกโดยอัตโนมัติเมื่อกำลังทำงาน ## สร้างระบบจัดการเนื้อหา การให้บริการเว็บไซต์หมายถึงการจัดการเนื้อหาเว็บไซต์ของคุณ Cloud Storage มอบพื้นที่เก็บข้อมูลส่วนกลางสำหรับเนื้อหาเหล่านี้ สถาปัตยกรรมทั่วไปอย่างหนึ่งปรับใช้เนื้อหาแบบสแตติกกับ Cloud Storage แล้วซิงค์กับ Compute Engine เพื่อแสดงหน้าไดนามิก Cloud Storage ทำงานร่วมกับระบบจัดการเนื้อหาของบุคคลที่สามมากมาย เช่น WordPress, Drupal และ Joomla Cloud Storage ยังมี API ที่เข้ากันได้กับ Amazon S3 ดังนั้นระบบใดๆ ที่ทำงานร่วมกับ Amazon S3 ก็สามารถทำงานร่วมกับ Cloud Storage ได้ ไดอะแกรมด้านล่างเป็นตัวอย่างสถาปัตยกรรมสำหรับระบบจัดการเนื้อหา ## อะไรต่อไป - สำรวจสถาปัตยกรรมอ้างอิง ไดอะแกรม บทช่วยสอน และแนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับ Google Cloud ดูที่ Cloud Architecture Center ของเรา