0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · บทเรียน

การจัดการทรัพยากรคลาวด์

ทำให้การนำไปใช้และอัปเดตทรัพยากรคลาวด์ เช่น AWS, Azure และ GCP เป็นอัตโนมัติ โดยใช้หลักการ IaC และ GitHub Actions

การจัดการทรัพยากรคลาวด์ เป็นบทเรียน CI/CD with GitHub Actions & DevOps Pipelines ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CI/CD with GitHub Actions & DevOps Pipelines และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน

บทนำสู่การทำให้ทรัพยากรคลาวด์เป็นอัตโนมัติ

ยินดีต้อนรับ! ในบทเรียนนี้ เราจะสำรวจวิธีทำให้การปรับใช้และการอัปเดตทรัพยากรคลาวด์เป็นแบบอัตโนมัติโดยใช้หลักการโครงสร้างพื้นฐานเป็นโค้ด (IaC) และ GitHub Actions

การจัดการทรัพยากรคลาวด์ด้วยตนเองอาจช้าและมีโอกาสเกิดข้อผิดพลาดสูง การทำงานอัตโนมัติช่วยให้เกิดความสม่ำเสมอและรวดเร็ว

เหตุใดจึงใช้ GitHub Actions สำหรับ IaC บนคลาวด์

GitHub Actions มอบแพลตฟอร์มที่ทรงพลังสำหรับทำให้งานโครงสร้างพื้นฐานคลาวด์ของคุณเป็นอัตโนมัติ นี่คือเหตุผลที่แพลตฟอร์มนี้เหมาะสม

  • การควบคุมเวอร์ชัน: โค้ดโครงสร้างพื้นฐานของคุณอยู่ควบคู่กับโค้ดแอปพลิเคชัน
  • การทำงานอัตโนมัติ: เริ่มการปรับใช้โดยอัตโนมัติเมื่อโค้ดมีการเปลี่ยนแปลง
  • การมองเห็นสถานะ: ดูสถานะการปรับใช้ได้โดยตรงใน GitHub
  • การผสานรวม: เชื่อมต่อกับผู้ให้บริการคลาวด์รายใหญ่ได้อย่างง่ายดาย

การเชื่อมต่อกับผู้ให้บริการคลาวด์ของคุณ

ในการจัดการทรัพยากรคลาวด์ GitHub Actions จำเป็นต้องมีสิทธิ์โต้ตอบกับผู้ให้บริการคลาวด์ของคุณ เช่น AWS, Azure, GCP เป็นต้น โดยทั่วไปจะดำเนินการผ่านวิธีต่อไปนี้

  • คีย์การเข้าถึง/ตัวแทนบริการ: ข้อมูลรับรองสำหรับการเข้าถึงด้วยโปรแกรม
  • การเชื่อมต่อ OpenID (OIDC): วิธีการยืนยันตัวตนที่ปลอดภัยยิ่งขึ้นและไม่ต้องใช้คีย์

ในบทเรียนนี้ เราจะเน้นการใช้ข้อมูลรับรองอย่างปลอดภัย

การจัดเก็บข้อมูลรับรองคลาวด์อย่างปลอดภัย

อย่าฝังข้อมูลรับรองที่ละเอียดอ่อนลงในไฟล์เวิร์กโฟลว์โดยตรง GitHub Actions มีฟีเจอร์ ข้อมูลลับสำหรับวัตถุประสงค์นี้

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

  • ไปที่ Settings ของที่เก็บโค้ด
  • ไปที่ Secrets and variables > Actions
  • คลิก New repository secret เพื่อเพิ่มคีย์การเข้าถึงคลาวด์ของคุณ

โครงสร้างเวิร์กโฟลว์การปรับใช้ IaC พื้นฐาน

โดยทั่วไป เวิร์กโฟลว์ GitHub Actions สำหรับ IaC จะประกอบด้วยขั้นตอนต่อไปนี้

  1. ดึงโค้ด: รับไฟล์ IaC ของคุณ
  2. กำหนดค่าข้อมูลรับรอง: ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับผู้ให้บริการคลาวด์ของคุณ
  3. ติดตั้งเครื่องมือ IaC: เช่น AWS CLI, Azure CLI, Terraform หรือ Pulumi
  4. เรียกใช้คำสั่ง IaC: วางแผน นำไปใช้ หรือลบทรัพยากร

มาดูตัวอย่างทั่วไปกัน

เวิร์กโฟลว์การนำการเปลี่ยนแปลงคลาวด์ทั่วไปไปใช้

เวิร์กโฟลว์นี้แสดงโครงสร้างสำหรับนำการเปลี่ยนแปลง IaC ไปใช้ โดยเป็นแม่แบบที่คุณสามารถปรับให้เหมาะกับคลาวด์และเครื่องมือ IaC เฉพาะของคุณ

โปรดสังเกตว่ามีการใช้ secrets.AWS_ACCESS_KEY_ID เพื่อเข้าถึงข้อมูลลับที่จัดเก็บไว้

name: Deploy Cloud Resources

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Run IaC Apply Command
        run: |
          # Replace with your actual IaC tool command (e.g., terraform apply, aws cloudformation deploy)
          echo "Running cloud resource deployment..."
          # aws s3 mb s3://my-unique-coddykit-bucket-123

ตัวอย่าง: การปรับใช้บักเก็ต AWS S3

นี่คือตัวอย่างง่าย ๆ ที่ใช้ AWS CLI เพื่อสร้างบักเก็ต S3 ซึ่งแสดงวิธีผสานคำสั่งเฉพาะของคลาวด์เข้ากับเวิร์กโฟลว์

หากคุณลองใช้ อย่าลืมแทนที่ my-unique-coddykit-bucket-123 ด้วยชื่อบักเก็ตที่ไม่ซ้ำกันทั่วโลก

name: Deploy S3 Bucket

on: push

jobs:
  create-s3:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Configure AWS Credentials
        uses: aws-actions/configure-aws-credentials@v4
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1

      - name: Create S3 Bucket
        run: |
          aws s3 mb s3://my-unique-coddykit-bucket-123
          echo "S3 bucket created successfully!"

ตัวอย่าง: การปรับใช้กลุ่มทรัพยากร Azure

ในทำนองเดียวกัน สำหรับ Azure คุณจะใช้ Azure CLI เวิร์กโฟลว์นี้จะเข้าสู่ระบบ Azure และสร้างกลุ่มทรัพยากร

คุณต้องตั้งค่า AZURE_CLIENT_ID, AZURE_TENANT_ID และ AZURE_SUBSCRIPTION_ID เป็นข้อมูลลับของ GitHub โดยมักใช้บัญชีตัวแทนบริการ

name: Deploy Azure Resource Group

on: push

jobs:
  create-rg:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Azure Login
        uses: azure/login@v1
        with:
          client-id: ${{ secrets.AZURE_CLIENT_ID }}
          tenant-id: ${{ secrets.AZURE_TENANT_ID }}
          subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

      - name: Create Azure Resource Group
        run: |
          az group create --name coddykit-rg --location eastus
          echo "Azure Resource Group created!"

การจัดการการอัปเดตและการย้อนกลับ

เมื่อปรับใช้ทรัพยากรแล้ว คุณจะต้องจัดการการอัปเดต โดยเมื่อใช้ IaC และ GitHub Actions จะมีขั้นตอนดังนี้:

  • การอัปเดตไฟล์ IaC: แก้ไขการกำหนดค่าของคุณ (เช่น เพิ่มอินสแตนซ์ EC2 ใหม่)
  • การส่งการเปลี่ยนแปลง: บันทึกการเปลี่ยนแปลงและส่งไปยังคลังของคุณ
  • การปรับใช้โดยอัตโนมัติ: เวิร์กโฟลว์จะเริ่มทำงานและนำการอัปเดตไปใช้

สำหรับการย้อนกลับ โดยทั่วไปคุณจะย้อนคืนไฟล์ IaC ของคุณไปเป็นเวอร์ชันก่อนหน้า แล้วเรียกใช้การปรับใช้อีกครั้ง

ตรวจสอบการจัดการคลาวด์อย่างปลอดภัย

เมื่อทำให้การจัดการทรัพยากรคลาวด์เป็นอัตโนมัติด้วย GitHub Actions วิธีใดถือว่าปลอดภัยที่สุดสำหรับการจัดการข้อมูลประจำตัวของคลาวด์ที่ละเอียดอ่อน

สรุป: การจัดการทรัพยากรคลาวด์

คุณได้เรียนรู้ว่า GitHub Actions สามารถทำให้การปรับใช้และการอัปเดตทรัพยากรคลาวด์เป็นอัตโนมัติโดยใช้หลักการ IaC ได้อย่างไร

  • GitHub Actions เป็นแพลตฟอร์มที่มีประสิทธิภาพสำหรับการทำให้ IaC เป็นอัตโนมัติ
  • GitHub Secrets มีความสำคัญอย่างยิ่งต่อการจัดการข้อมูลประจำตัวของคลาวด์อย่างปลอดภัย
  • เวิร์กโฟลว์ผสานรวม CLI เฉพาะของคลาวด์ (AWS CLI, Azure CLI) เพื่อโต้ตอบกับผู้ให้บริการ
  • การอัปเดตจัดการได้โดยการเปลี่ยนแปลงไฟล์ IaC แล้วให้เวิร์กโฟลว์นำการเปลี่ยนแปลงไปใช้อีกครั้ง

ฝึกฝนต่อไปเพื่อสร้างไปป์ไลน์คลาวด์อัตโนมัติของคุณ

คำถามที่พบบ่อย

บทเรียน “การจัดการทรัพยากรคลาวด์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การจัดการทรัพยากรคลาวด์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CI/CD with GitHub Actions & DevOps Pipelines ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการทรัพยากรคลาวด์”

ทำให้การนำไปใช้และอัปเดตทรัพยากรคลาวด์ เช่น AWS, Azure และ GCP เป็นอัตโนมัติ โดยใช้หลักการ IaC และ GitHub Actions คุณปฏิบัติ CI/CD with GitHub Actions & DevOps Pipelines ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CI/CD with GitHub Actions & DevOps Pipelines หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน CI/CD with GitHub Actions & DevOps Pipelines บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดการทรัพยากรคลาวด์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม

ได้ บทเรียน CI/CD with GitHub Actions & DevOps Pipelines ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. IaC ด้วย Terraform และ GitHub Actions
  2. การจัดการทรัพยากรคลาวด์
  3. การทำให้การอัปเดตโครงสร้างพื้นฐานเป็นอัตโนมัติ
  4. การจัดการสถานะ Terraform และแบ็กเอนด์ระยะไกล
← กลับไปที่ CI/CD with GitHub Actions & DevOps Pipelines