ติดตั้งใช้งาน AlloyDB Omni ใน VM ของ GCE รายการเดียว

1. บทนำ

Codelab นี้แสดงวิธีติดตั้งใช้งาน AlloyDB Omni ในเครื่องเสมือน Google Compute Engine (GCE) เครื่องเดียว เมื่อสิ้นสุด Codelab นี้ คุณจะจัดสรร VM ของ GCE เครื่องเดียวที่ใช้ Rocky Linux 9 และติดตั้ง AlloyDB Omni โดยใช้แพ็กเกจ RPM อย่างเป็นทางการ เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 20 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก

ข้อกำหนดเบื้องต้น

  • สิทธิ์เข้าถึงโปรเจ็กต์ Google Cloud และ Cloud Shell จาก Cloud Console
  • ติดตั้งและกำหนดค่า Google Cloud SDK (gcloud) แล้ว ดูรายละเอียดเกี่ยวกับการติดตั้ง gcloud ได้ที่ gcloud-install

สิ่งที่คุณจะได้เรียนรู้

  • วิธีสร้างและเตรียม VM ของ GCE สำหรับ AlloyDB Omni โดยใช้ gcloud
  • วิธีติดตั้ง RPM ของ AlloyDB Omni ในโหนด Linux เดียว
  • วิธีเริ่มต้นและกำหนดค่า AlloyDB Omni
  • วิธียืนยันการติดตั้งฐานข้อมูลในเครื่อง

สิ่งที่คุณต้องมี

  • รับลิงก์ URL ไปยัง RPM ของ AlloyDB Omni ระบบจะส่งลิงก์ไปยังอีเมลของคุณซึ่งมีเซิร์ฟเวอร์ URL ของที่เก็บ เริ่มต้นตัวแปรสภาพแวดล้อมต่อไปนี้เพื่อให้ URL พร้อมใช้งานในระหว่าง Codelab
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • เทอร์มินัลที่ใช้งานได้ซึ่งมีสิทธิ์เข้าถึง Google Cloud คุณใช้ Cloud Shell เพื่อวัตถุประสงค์นี้ได้

2. การตั้งค่าและข้อกำหนด

การตั้งค่าโปรเจ็กต์

สร้างโปรเจ็กต์ Google Cloud

  1. ในคอนโซล Google Cloud ในหน้าตัวเลือกโปรเจ็กต์ ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud
  2. ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่

เริ่มต้น Cloud Shell

แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลจากแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์

ไอคอนเพื่อเปิดใช้งาน Cloud Shell

  1. เปิด คอนโซล Google Cloud แล้วคลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน หรือจะเปิด Cloud Shell ด้วยวิธีใดวิธีหนึ่งต่อไปนี้ก็ได้

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

เทอร์มินัล Google Cloud Shell แสดงว่าสภาพแวดล้อมเชื่อมต่อแล้ว{: width="624"}

3. สร้าง VM ของ Compute Engine

ในส่วนนี้ คุณจะสร้างเครื่องเสมือน (VM) ของ Compute Engine (GCE) เครื่องเดียวโดยใช้เครื่องมือบรรทัดคำสั่ง gcloud คุณใช้รูปภาพ Rocky Linux 9 ซึ่งเข้ากันได้กับ AlloyDB Omni RPM อย่างสมบูรณ์

  1. กำหนดตัวแปรสภาพแวดล้อมสำหรับรหัสโปรเจ็กต์ ชื่อ VM โซน และภูมิภาค
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. ลงชื่อเข้าใช้ด้วยผู้ใช้บัญชี Google Cloud และกำหนดค่าโปรเจ็กต์เริ่มต้น
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. สร้างกฎไฟร์วอลล์เพื่ออนุญาตการเชื่อมต่อ SSH กับ VM
    gcloud compute firewall-rules create allow-ssh-alloydb-omni \
        --project=$PROJECT \
        --direction=INGRESS \
        --action=allow \
        --rules=tcp:22 \
        --source-ranges="0.0.0.0/0"
    
  4. เนื่องจาก VM สร้างขึ้นโดยไม่มีที่อยู่ IP สาธารณะ ให้กำหนดค่า Cloud Router และเกตเวย์ Cloud NAT เพื่อให้ VM เข้าถึงที่เก็บแพ็กเกจภายนอกและดาวน์โหลดซอฟต์แวร์ที่จำเป็นได้
    gcloud compute routers create alloydb-omni-router \
        --project=$PROJECT \
        --network=default \
        --region=$REGION
    
    gcloud compute routers nats create alloydb-omni-nat \
        --project=$PROJECT \
        --router=alloydb-omni-router \
        --region=$REGION \
        --nat-all-subnet-ip-ranges \
        --auto-allocate-nat-external-ips
    
  5. ตรวจสอบว่าเครือข่าย VPC มีเส้นทางเกตเวย์อินเทอร์เน็ตเริ่มต้นที่ถูกต้อง ในสภาพแวดล้อมที่แชร์หรือสภาพแวดล้อมแซนด์บ็อกซ์บางแห่ง สคริปต์การล้างข้อมูลอาจนำเส้นทางเริ่มต้นออกเป็นครั้งคราว เส้นทางนี้จำเป็นสำหรับ Cloud NAT เพื่อส่งต่อการรับส่งข้อมูลขาออกไปยังอินเทอร์เน็ต
    gcloud compute routes create default-internet-route \
        --project=$PROJECT \
        --network=default \
        --destination-range=0.0.0.0/0 \
        --next-hop-gateway=default-internet-gateway
    
  6. สร้างอินสแตนซ์ VM ของ Compute Engine โดยมีข้อกำหนดที่จำเป็น (16 vCPU, ดิสก์ถาวรที่มีการจัดสรรขนาด 20 GB, Rocky Linux 9) เพื่อเพิ่มความปลอดภัย เราใช้--no-addressเพื่อตรวจสอบว่าไม่มีการกำหนดที่อยู่ IP สาธารณะให้กับ VM
    gcloud compute instances create $INSTANCE_NAME \
        --project=$PROJECT \
        --zone=$ZONE \
        --machine-type=n2-highmem-16 \
        --image-family=rocky-linux-9 \
        --image-project=rocky-linux-cloud \
        --boot-disk-size=20GB \
        --boot-disk-type=pd-balanced \
        --no-address
    
  7. หลังจากสร้าง VM แล้ว ให้ยืนยันสถานะของ VM
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. เตรียม VM

ในส่วนนี้ คุณจะเชื่อมต่อกับ VM ที่สร้างขึ้นใหม่และเตรียมสภาพแวดล้อมของระบบปฏิบัติการ ซึ่งรวมถึงการตั้งค่าไดเรกทอรีข้อมูลและการกำหนดค่า SELinux

  1. เชื่อมต่อกับ VM ผ่าน SSH โดยใช้ Identity-Aware Proxy (IAP) เนื่องจาก VM ไม่มีที่อยู่ IP สาธารณะ gcloud จะสร้างอุโมงค์การเชื่อมต่อ SSH ผ่าน IAP โดยอัตโนมัติ
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. กำหนดตัวแปรสภาพแวดล้อมใน VM สำหรับไดเรกทอรีข้อมูลและ URL ของที่เก็บ AlloyDB Omni แทนที่ URL ด้วย URL ที่คุณได้รับจากแบบฟอร์มลงชื่อสมัครใช้
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. สร้างไดเรกทอรีข้อมูลที่ AlloyDB Omni จะจัดเก็บไฟล์ฐานข้อมูล
    sudo mkdir -p $PGDATA
    
  4. ติดตั้งแพ็กเกจ policycoreutils-python-utils เพื่อให้กำหนดค่านโยบาย SELinux เพื่ออนุญาตให้บริการฐานข้อมูล AlloyDB Omni ทำงานได้อย่างถูกต้อง
    sudo dnf install -y policycoreutils-python-utils
    

5. ติดตั้ง AlloyDB Omni

เมื่อเตรียม VM แล้ว คุณจะกำหนดค่าที่เก็บแพ็กเกจและติดตั้งแพ็กเกจ AlloyDB Omni RPM ได้

  1. กำหนดค่าที่เก็บ YUM ใน VM โดยการสร้างไฟล์การกำหนดค่าที่เก็บ
    sudo tee /etc/yum.repos.d/alloydbomni.repo << EOF
    [alloydbomni]
    name=alloydbomni
    baseurl=$ALLOYDB_OMNI_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=https://dl.google.com/linux/linux_signing_key.pub
    EOF
    
  2. อัปเดตแคช YUM เพื่อให้ระบบรู้จักที่เก็บใหม่
    sudo yum makecache
    
    หมายเหตุ: สำหรับรุ่นตัวอย่าง RPM ของ AlloyDB Omni ระบบจะยืนยันความสมบูรณ์ของแพ็กเกจที่ระดับ RPM แต่ละรายการ หากต้องการดำเนินการกำหนดค่าที่เก็บ YUM ต่อ ให้กำหนดค่า repo_gpgcheck=0
  3. ติดตั้งแพ็กเกจ RPM ของ AlloyDB Omni เวอร์ชัน 18
    sudo dnf install -y alloydbomni18
    

6. ตั้งค่า AlloyDB Omni

หลังจากติดตั้งแพ็กเกจ RPM แล้ว คุณต้องเริ่มต้น กำหนดค่า และเริ่มบริการฐานข้อมูล AlloyDB Omni

  1. กำหนดรหัสผ่านที่รัดกุมสำหรับผู้ใช้ผู้ดูแลระบบ postgres ของ PostgreSQL
    export PGPASSWORD="YourStrongPassword123!"
    
  2. เริ่มต้นอินสแตนซ์ฐานข้อมูล AlloyDB Omni
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. กำหนดค่าบริบทไฟล์ SELinux เพื่ออนุญาตให้บริการ AlloyDB Omni อ่านและเขียนข้อมูลในไดเรกทอรีข้อมูลที่กำหนดเอง จากนั้นกู้คืนบริบทความปลอดภัยที่ถูกต้อง
    sudo setenforce 0
    
  4. เตรียมอินสแตนซ์ฐานข้อมูล AlloyDB Omni
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (ไม่บังคับ) เรียกใช้ยูทิลิตีการตั้งค่าโฮสต์เพื่อกำหนดค่าเคอร์เนลและการตั้งค่าหน่วยความจำที่แนะนำโดยอัตโนมัติ เพื่อให้บริการ AlloyDB Omni ทำงานได้อย่างมีประสิทธิภาพ
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. เปิดใช้และเริ่มบริการ AlloyDB Omni systemd
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. ตรวจสอบว่าบริการ AlloyDB Omni ทำงานอยู่และทำงานสำเร็จ
    sudo systemctl status alloydbomni18
    
    ตรวจสอบว่าเอาต์พุตระบุ Active: active (running)

7. ยืนยัน AlloyDB Omni

หากต้องการยืนยันว่าฐานข้อมูล AlloyDB Omni แบบโหนดเดียวทำงานอย่างถูกต้อง ให้เชื่อมต่อกับฐานข้อมูลโดยใช้ไคลเอ็นต์ PostgreSQL มาตรฐาน (psql) ที่ติดตั้งพร้อมกับแพ็กเกจ

  1. เชื่อมต่อกับอินสแตนซ์ฐานข้อมูลในเครื่องในฐานะผู้ใช้ postgres ระบบจะแจ้งให้คุณป้อนรหัสผ่านที่กำหนดค่าไว้ก่อนหน้านี้
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. หลังจากสร้างการเชื่อมต่อแล้ว ให้เรียกใช้การค้นหา SQL พื้นฐานเพื่อยืนยันเวอร์ชันเซิร์ฟเวอร์ฐานข้อมูลและยืนยันว่า AlloyDB Omni ทำงานอยู่
    postgres=# SELECT version();
    
    เอาต์พุตที่ได้จะระบุว่า PostgreSQL 18 ทำงานร่วมกับ AlloyDB Omni
  3. ป้อน \q เพื่อออกจากพรอมต์ psql

8. การทำความสะอาดและสำรวจ

หลังจากทำ Codelab เสร็จแล้ว คุณสามารถล้างข้อมูลทรัพยากร Google Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินที่ไม่ต้องการ

  1. ยกเลิกการเชื่อมต่อจากเซสชัน SSH ใน VM เพื่อกลับไปยังเทอร์มินัล Cloud Shell ในเครื่อง
    exit
    
  2. ลบอินสแตนซ์ VM ของ Compute Engine
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. ลบกฎไฟร์วอลล์ที่สร้างขึ้นสำหรับการเข้าถึง SSH
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. ลบเกตเวย์ Cloud NAT และ Cloud Router
    gcloud compute routers nats delete alloydb-omni-nat --router=alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
    gcloud compute routers delete alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
    

9. ขอแสดงความยินดี

ขอแสดงความยินดีที่ทำ Codelab เสร็จสมบูรณ์ คุณติดตั้งใช้งานและกำหนดค่า AlloyDB Omni ในเครื่องเสมือน Compute Engine เครื่องเดียวเรียบร้อยแล้ว

สิ่งที่เราได้พูดถึง

  • วิธีจัดสรรและเตรียม VM ของ Compute Engine สำหรับ AlloyDB Omni
  • วิธีกำหนดค่าที่เก็บแพ็กเกจ AlloyDB Omni และติดตั้ง RPM
  • วิธีเริ่มต้น กำหนดค่า และจัดการบริการฐานข้อมูล AlloyDB Omni โดยใช้ systemd
  • วิธียืนยันฟังก์ชันการทำงานของฐานข้อมูลโดยใช้เครื่องมือ PostgreSQL มาตรฐาน

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของ AlloyDB Omni

10. แบบสำรวจ

คุณจะใช้บทแนะนำนี้อย่างไร

อ่านอย่างเดียว อ่านและทำแบบฝึกหัดให้เสร็จ