ปรับใช้ Linux และ PostgreSQL โครงสร้างพื้นฐาน

เสร็จสมบูรณ์เมื่อ

หน่วยนี้จะแนะนําคุณผ่านการสร้างทรัพยากรการคํานวณที่โฮสต์แอปพลิเคชันของคุณภายใน Azure

มีหลายวิธีในการปรับใช้โครงสร้างพื้นฐานใน Azure รวมถึงพอร์ทัล Azure, Azure CLI และเทมเพลตโครงสร้างพื้นฐานแบบเป็นโค้ด (รวมถึง Bicep และ Terraform) ในหน่วยนี้ คุณปรับใช้เทมเพลต Bicep ที่กําหนดค่าไว้ล่วงหน้าซึ่งห่อหุ้มทรัพยากรการคํานวณที่จําเป็นสําหรับแอปพลิเคชันของคุณ แหล่งข้อมูลหลักคือ:

  • เครื่องเสมือนที่ใช้ Linux (Ubuntu 24.04 LTS)
  • ฐานข้อมูล Azure สําหรับ Postgres ที่ทํางาน Postgres 16 หรือใหม่กว่า
  • ข้อมูลประจําตัวที่มีการจัดการ เพื่อเปิดใช้งานการเข้าถึงที่ปลอดภัยจาก VM ไปยังฐานข้อมูล
  • RBACรวมถึงบทบาทในการเข้าถึงฐานข้อมูลในฐานะผู้ดูแลระบบ และบทบาทที่เข้มงวดมากขึ้นสําหรับแอปพลิเคชัน
  • เครือข่ายเสมือนจริงสําหรับทั้ง VM และฐานข้อมูล

เนื่องจากตัวอย่างนี้เป็นปริมาณงานพัฒนา/ทดสอบ และเราต้องการเก็บสิ่งที่คุ้มค่าและมีประสิทธิภาพเราเลือกการกําหนดค่าต่อไปนี้สําหรับคุณ:

  • VM เป็น D2s_v4 มาตรฐาน (สอง vCPUs, 8 GB ของหน่วยความจํา) มี Azure Premium SSD พร้อมการทํางาน I/O สูงสุด 3,200 รายการต่อวินาที (IOPS) และที่เก็บข้อมูล 128 GB มีดิสก์ P10 128-GB Premium SSD ที่แนบมาด้วย 500 IOPS สําหรับดิสก์ระบบปฏิบัติการ คุณสามารถอัปเกรดดิสก์ระบบปฏิบัติการเพื่อให้ตรงกับ IOPS ของ VM ตามความจําเป็น

  • ฐานข้อมูลเป็น D2ds_v4 วัตถุประสงค์ทั่วไป (สอง vCores, 8 GB ของ RAM) ที่มี IOPS สูงสุด 3,200 มีดิสก์ P10 128 GB Premium SSD พร้อม 500 IOPS คุณสามารถปรับรุ่นดิสก์นี้เพื่อให้ตรงกับ IOPS คํานวณตามความจําเป็น

เมื่อเสร็จสิ้นโมดูล คุณจะลบทรัพยากรเหล่านี้เพื่อประหยัดค่าใช้จ่าย อย่างไรก็ตาม คุณยังสามารถปิด VM และฐานข้อมูลเมื่อไม่ได้ใช้งานเพื่อประหยัดค่าใช้จ่ายในการคํานวณและชําระเงินสําหรับที่เก็บข้อมูลที่คุณใช้เท่านั้นได้ คุณยังสามารถเพิ่มขนาดปริมาณงานนี้ได้ตามความจําเป็น

เทมเพลต Bicep ในโมดูลนี้ใช้ โมดูลที่ตรวจสอบแล้วของ Azure (AVM) AVM เป็นความคิดริเริ่มที่จะสร้างมาตรฐานโมดูลโครงสร้างพื้นฐานแบบรหัส Microsoft รักษาโมดูลเหล่านี้และย่อส่วนแนวทางปฏิบัติที่ดีที่สุดมากมายสําหรับการปรับใช้ทรัพยากรใน Azure

ตรวจสอบให้แน่ใจว่าคุณมีการสมัครใช้งาน Azure และ Azure CLI

ถ้าคุณยังไม่มีการสมัครใช้งาน Azure สร้าง บัญชี ฟรีก่อนที่คุณจะเริ่ม

โมดูลนี้จําเป็นต้องใช้ Azure CLI เวอร์ชัน 2.0.30 หรือใหม่กว่า ค้นหาเวอร์ชันโดยใช้คําสั่งต่อไปนี้:

az --version

หากคุณต้องการติดตั้งหรืออัปเกรด โปรดดู ติดตั้ง Azure CLI

ลงชื่อเข้าใช้ Azure โดยใช้ Azure CLI

หากต้องการเรียกใช้คําสั่งใน Azure โดยใช้ Azure CLI คุณจําเป็นต้องลงชื่อเข้าใช้ก่อน ลงชื่อเข้าใช้โดยใช้คําสั่ง az login:

az login

สร้างกลุ่มทรัพยากร

กลุ่มทรัพยากรเป็นคอนเทนเนอร์สําหรับทรัพยากรที่เกี่ยวข้อง ทรัพยากรทั้งหมดต้องถูกวางลงในกลุ่มทรัพยากร ใช้ az group สร้าง คําสั่งเพื่อสร้างกลุ่มทรัพยากร:

az group create \
    --name 240900-linux-postgres \
    --location westus2

ปรับใช้เทมเพลต Bicep โดยใช้ Azure CLI

Bicep เป็นภาษาเฉพาะโดเมน (DSL) ที่ใช้ไวยากรณ์ที่เปิดเผยในการปรับใช้ทรัพยากร Azure ในไฟล์ Bicep คุณต้องกําหนดโครงสร้างพื้นฐานที่คุณต้องการปรับใช้กับ Azure จากนั้นคุณใช้ไฟล์นั้นตลอดวงจรชีวิตการพัฒนาเพื่อปรับใช้โครงสร้างพื้นฐานของคุณซ้ํา ๆ ทรัพยากรของคุณจะถูกปรับใช้ในลักษณะที่สอดคล้องกัน

ไฟล์ Bicep ที่คุณใช้ในการปรับใช้ทรัพยากรการคํานวณสําหรับหน่วยนี้อยู่ใน repo deploy/vm-postgres.bicep GitHub ซึ่งประกอบด้วยเครื่องเสมือน เครือข่ายเสมือน ข้อมูลประจําตัวที่มีการจัดการ และกลุ่มความปลอดภัยเครือข่าย (NSG) สําหรับ VM คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Bicep ได้ใน Bicep คืออะไร

  1. ลอกแบบตัวอย่าง repo ไปยังเครื่องคอมพิวเตอร์ของคุณ:

    git clone https://github.com/Azure-Samples/linux-postgres-migration.git
    
  2. ไปที่ไดเรกทอรี linux-postgres-migration:

    cd linux-postgres-migration
    
  3. ปรับใช้เทมเพลต Bicep:

    az deployment group create \
        --resource-group 240900-linux-postgres \
        --template-file deploy/vm-postgres.bicep
    

เมื่อเสร็จสิ้นการปรับใช้ ผลลัพธ์ JSON จะยืนยันว่ามีการปรับใช้ทรัพยากรแล้ว

ในส่วนถัดไป คุณจะต้องกําหนดค่าและสํารวจบทบาท RBAC และกฎความปลอดภัยของเครือข่ายบนโครงสร้างพื้นฐานที่ปรับใช้ของคุณโดยใช้พอร์ทัล Azure เมื่อคุณใช้พอร์ทัล Azure คุณสามารถเข้ารหัสบทบาทและกฎลงในเทมเพลต Bicep ได้ พอร์ทัล Azure มีส่วนติดต่อวิชวลที่ทําให้ง่ายต่อการทําความเข้าใจความสัมพันธ์ระหว่างทรัพยากรและสิทธิ์ที่กําหนดให้กับพวกเขา

เปิดกลุ่มทรัพยากรในพอร์ทัล Azure

  1. เปิด พอร์ทัลAzure

  2. บนเมนูบริการ ให้เลือก กลุ่มทรัพยากร

  3. บนบานหน้าต่าง กลุ่มทรัพยากร ให้เลือกกลุ่มทรัพยากร 240900-linux-postgres

ในส่วนขวาบนของบานหน้าต่าง พื้นที่ การปรับใช้ แสดงสถานะของการปรับใช้เทมเพลต Bicep ของคุณ เมื่อการปรับใช้สําเร็จ ระบบจะแสดง สําเร็จ

ดูกลุ่มความปลอดภัยเครือข่ายของเครื่องเสมือน

  1. เลือกเครื่องเสมือน vm-1

  2. ในส่วน Networking ให้เลือก การตั้งค่าเครือข่าย

การตั้งค่าเครือข่ายแสดงให้เห็นว่ามีการติดตั้งกลุ่มความปลอดภัยเครือข่าย (240900-linux-postgres-nsg) กับเครือข่ายย่อยเดียวกันของเครือข่ายเสมือน (240900-linux-postgres-vnet) เป็นเครื่องเสมือน

NSG จะมองเห็นได้ภายในกลุ่มทรัพยากร ซึ่งประกอบด้วยชุดของกฎความปลอดภัยขาเข้าและขาออกที่ควบคุมปริมาณการใช้งานไปยังและจากเครื่องเสมือน

กลับไปยังกลุ่มทรัพยากร

ที่ด้านบนของหน้า ให้เลือกลิงก์การแสดงเส้นทาง เพื่อกลับไปยังกลุ่มทรัพยากร (Home > Resource groups > 240900-linux-postgres)

โปรดทราบว่าข้อมูลประจําตัว 240900-linux-postgres-identity ที่จัดการโดยผู้ใช้จะแสดงอยู่ในรายการในกลุ่มทรัพยากร

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับข้อมูลประจําตัวที่จัดการโดยระบบและที่ผู้ใช้มอบหมายได้ใน ข้อมูลประจําตัวที่มีการจัดการสําหรับทรัพยากร Azure คืออะไร

เพิ่มกฎความปลอดภัยขาเข้าลงในกลุ่มความปลอดภัยเครือข่าย

เพิ่มกฎความปลอดภัยขาเข้าไปยัง NSG เพื่ออนุญาตให้มีการรับส่งข้อมูล SSH จากที่อยู่ IP ปัจจุบันของคุณไปยังเครื่องเสมือน

ในสถานการณ์การผลิต คุณมักจะใช้ เข้าถึงได้ทันเวลาAzure Bastionหรือ VPN (เช่น Azure หรือ Mesh VPN) เพื่อจํากัดการเข้าถึงเครื่องเสมือนของคุณ

  1. เลือก 240900-linux-postgres-nsg

  2. เลือก การตั้งค่า >กฎความปลอดภัยขาเข้า

  3. เลือก เพิ่ม

  4. ภายใต้ แหล่งข้อมูล ให้เลือก ที่อยู่ IP ของฉัน

  5. ภายใต้ Serviceให้เลือก SSH

  6. เลือก เพิ่ม

ดูผู้ดูแลระบบสําหรับ Azure Database สําหรับเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL

  1. ค้นหาและเลือกฐานข้อมูล Azure สําหรับเซิร์ฟเวอร์ที่ยืดหยุ่น PostgreSQL ซึ่งมีชื่อว่า postgres-xxxxxโดยที่ xxxxx เป็นสตริงที่ไม่ซ้ํากันที่เทมเพลต Bicep กําหนดไว้ สตริงยังคงสอดคล้องกันในการปรับใช้กับการสมัครใช้งานและกลุ่มทรัพยากรของคุณ

  2. เลือก การรักษาความปลอดภัย>การรับรองความถูกต้อง

สําหรับสถานการณ์สมมตินี้ คุณกําลังใช้การรับรองความถูกต้อง Microsoft Entra เท่านั้น ข้อมูลประจําตัว 240900-linux-postgres-identity ที่มีการจัดการซึ่งผู้ใช้กําหนดเองจะแสดงอยู่ภายใต้ ผู้ดูแลระบบ Microsoft Entra

ข้อมูลประจําตัว 240900-linux-postgres-identity ที่มีการจัดการเป็นผู้ดูแลระบบเดียวสําหรับเซิร์ฟเวอร์ในขณะนี้ คุณสามารถเลือกที่จะเพิ่มบัญชีผู้ใช้ของคุณเองเป็นผู้ดูแลได้ แต่สําหรับสถานการณ์สมมตินี้ คุณใช้ข้อมูลประจําตัวที่มีการจัดการที่มีอยู่แล้ว

ในส่วนถัดไป คุณใช้ข้อมูลประจําตัวจากเครื่องเสมือนเพื่อจัดการเซิร์ฟเวอร์ผ่าน Azure CLI คุณยังใช้ข้อมูลประจําตัวนั้นเพื่อให้การเข้าถึงเซิร์ฟเวอร์สําหรับแอปพลิเคชันของคุณ

ในสถานการณ์การผลิต คุณอาจใช้การผสมผสานของข้อมูลประจําตัวที่มีการจัดการ รหัส Microsoft Entra และ RBAC แบบละเอียดเพื่อให้ปริมาณงานแอปพลิเคชันของคุณเข้าถึงข้อมูลและจัดการทรัพยากรใน Azure ได้อย่างปลอดภัย คุณจะต้องปฏิบัติตามหลักการของสิทธิ์พิเศษน้อยที่สุด

อ่านเพิ่มเติมเกี่ยวกับสถานการณ์เหล่านี้ใน การรับรองความถูกต้องของ Microsoft Entra ด้วย Azure Database สําหรับ PostgreSQL - เซิร์ฟเวอร์แบบยืดหยุ่น และ ใช้ Microsoft Entra ID สําหรับการรับรองความถูกต้องกับ Azure Database สําหรับ PostgreSQL -เซิร์ฟเวอร์แบบยืดหยุ่น

ตรวจทานฐานข้อมูล Azure สําหรับกฎไฟร์วอลล์แบบยืดหยุ่น PostgreSQL

เลือก การตั้งค่า >ระบบเครือข่าย

หากคุณกําลังจัดการเซิร์ฟเวอร์จากเครื่องภายในของคุณแทนที่จะเป็นเครื่องเสมือน คุณจะต้องเพิ่มที่อยู่ IP ของคุณลงในกฎไฟร์วอลล์

คุณสามารถสร้างกฎไฟร์วอลล์สําหรับที่อยู่ IP ปัจจุบันของคุณโดยการเลือก เพิ่มที่อยู่ IP ไคลเอ็นต์ปัจจุบัน (xxx.xxx.xxx.xxx)>บันทึก กฎนี้จะช่วยให้คุณสามารถเข้าถึงเซิร์ฟเวอร์พัฒนา/ทดสอบได้โดยใช้เครื่องมือบนเครื่องคอมพิวเตอร์ของคุณ แต่เนื่องจากคุณกําลังใช้เครื่องเสมือนเพื่อเข้าถึงฐานข้อมูล คุณจึงไม่ได้สร้างกฎไฟร์วอลล์ในขณะนี้

ในการผลิตคุณอาจแยกเซิร์ฟเวอร์นี้ออกจากอินเทอร์เน็ตสาธารณะทั้งหมดโดยการล้าง อนุญาตให้สาธารณะเข้าถึงทรัพยากรนี้ผ่านอินเทอร์เน็ตโดยใช้ที่อยู่ IP สาธารณะ ตัวเลือก

แตกต่างจากเครื่องเสมือนคุณยังไม่ได้เชื่อมโยงฐานข้อมูล Azure สําหรับ PostgreSQL กับเครือข่ายเสมือนใด ๆ คุณรักษาตัวเลือกการเข้าถึงฐานข้อมูล Azure สําหรับ PostgreSQL ผ่านอินเทอร์เน็ตสาธารณะซึ่งมีประโยชน์สําหรับสถานการณ์การพัฒนา/ทดสอบ

เพื่อให้การรักษาความปลอดภัยและความยืดหยุ่นคุณสามารถเปิดใช้งานการเข้าถึงจากเครื่องเสมือนผ่านเครือข่ายเสมือนโดยใช้จุดสิ้นสุดส่วนตัว จุดสิ้นสุดส่วนตัวช่วยให้เครื่องเสมือนสามารถเข้าถึงฐานข้อมูลได้โดยไม่ต้องเปิดเผยไปยังอินเทอร์เน็ตสาธารณะ อ่านเพิ่มเติมเกี่ยวกับจุดสิ้นสุดส่วนตัวใน Azure Database for PostgreSQL - เครือข่ายเซิร์ฟเวอร์แบบยืดหยุ่นที่มีลิงก์ส่วนตัว

จุดสิ้นสุดส่วนตัวถูกสร้างขึ้นสําหรับคุณโดยใช้ Bicep

ตรวจสอบการกําหนดบทบาทสําหรับข้อมูลประจําตัวที่ได้รับการจัดการโดยระบบของเครื่องเสมือน

  1. กลับไปยังกลุ่มทรัพยากร 240900-linux-postgres และเลือก vm-1

  2. บนเมนูบริการ ให้เลือก ความปลอดภัย>ข้อมูลประจําตัว

    ที่นี่ คุณสามารถยืนยันว่าข้อมูลประจําตัวที่จัดการโดยระบบกําหนดแนบมากับเครื่องเสมือนหรือไม่

  3. ภายใต้ กําหนดระบบให้เลือก การกําหนดบทบาท Azure

    ที่นี่ คุณสามารถยืนยันว่ามีการกําหนดบทบาทผู้อ่านให้กับข้อมูลประจําตัวที่ได้รับการจัดการโดยระบบหรือไม่ บทบาทมีขอบเขตอยู่ในกลุ่มทรัพยากร 240900-linux-postgres

สิทธิ์ในข้อมูลประจําตัวนี้ช่วยให้คุณสามารถใช้ Azure CLI ภายใน VM เพื่อแสดงรายการทรัพยากรในกลุ่มทรัพยากร ด้วยความสามารถนี้ คุณไม่จําเป็นต้องระบุรายละเอียดทรัพยากรลงในสคริปต์ของคุณแบบฮาร์ดโค้ด

ในขั้นตอนต่อมา คุณจะกําหนดบทบาทเพิ่มเติมให้กับข้อมูลประจําตัวที่ได้รับการจัดการของ VM เพื่อให้ VM สามารถเข้าถึงบัญชี Azure Blob Storage ได้โดยตรง

ถัดไป คุณจะได้สํารวจและกําหนดค่าโครงสร้างพื้นฐานที่ปรับใช้

ทรัพยากร