การจัดการทรัพยากรคลาวด์
ทำให้การนำไปใช้และอัปเดตทรัพยากรคลาวด์ เช่น 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 จะประกอบด้วยขั้นตอนต่อไปนี้
- ดึงโค้ด: รับไฟล์ IaC ของคุณ
- กำหนดค่าข้อมูลรับรอง: ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับผู้ให้บริการคลาวด์ของคุณ
- ติดตั้งเครื่องมือ IaC: เช่น AWS CLI, Azure CLI, Terraform หรือ Pulumi
- เรียกใช้คำสั่ง 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- IaC ด้วย Terraform และ GitHub Actions
- การจัดการทรัพยากรคลาวด์
- การทำให้การอัปเดตโครงสร้างพื้นฐานเป็นอัตโนมัติ
- การจัดการสถานะ Terraform และแบ็กเอนด์ระยะไกล