การใช้ AWS CLI และ AWS SDK เบื้องต้น

Sharing is caring!

การใช้ AWS CLI และ AWS SDK เบื้องต้น

โดย King Pool | เวลาอ่านประมาณ 20 นาที

บทนำ

สำหรับนักพัฒนาที่ต้องการจัดการบริการของ AWS (Amazon Web Services) โดยไม่ต้องเข้าไปในหน้า Console เอง เครื่องมือที่ทรงพลังที่สุดคือ AWS CLI และ AWS SDK ซึ่งช่วยให้คุณสั่งการ AWS ผ่าน command line และเขียนโค้ดเชื่อมต่อกับบริการต่าง ๆ ได้โดยตรง

บทความนี้จะสอนตั้งแต่การติดตั้ง AWS CLI ไปจนถึงการเขียนโค้ด AWS SDK ด้วย Python, Node.js และ Java เพื่อให้คุณสามารถใช้งานได้จริงในโครงการของคุณ

ทำความรู้จักกับ AWS CLI

AWS Command Line Interface (CLI) คือเครื่องมือสำหรับควบคุมบริการต่าง ๆ ของ AWS ผ่าน terminal หรือ command prompt เช่น การสร้าง S3 Bucket, การ deploy Lambda, หรือการดูสถานะของ EC2 instance

ข้อดีของการใช้ AWS CLI

  • รวดเร็ว — ไม่ต้องเข้า Console
  • เขียน Script เพื่อทำงานอัตโนมัติได้
  • เหมาะสำหรับ DevOps และการ Deploy ผ่าน CI/CD

ติดตั้ง AWS CLI

คุณสามารถติดตั้งได้ทั้งบน Windows, macOS และ Linux โดยใช้คำสั่งต่อไปนี้

# macOS / Linux
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

# Windows (ใช้ PowerShell)
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
    

ตรวจสอบการติดตั้ง

aws --version
    

จะได้ผลลัพธ์คล้าย ๆ กับ:

aws-cli/2.13.10 Python/3.11.6 Darwin/23.2.0 exe/x86_64 prompt/off
    

ตั้งค่า AWS CLI ครั้งแรก

หลังติดตั้งเสร็จ ใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อกับบัญชี AWS ของคุณ

aws configure
    

CLI จะถามข้อมูลดังนี้:

  • AWS Access Key ID
  • AWS Secret Access Key
  • Default region name (เช่น ap-southeast-1)
  • Default output format (เช่น json)

หลังจากตั้งค่าเสร็จ CLI จะบันทึกข้อมูลไว้ที่ ~/.aws/credentials

ทดสอบคำสั่งแรกด้วย AWS CLI

ลองทดสอบด้วยการดูรายชื่อ S3 Bucket ของคุณ

aws s3 ls
    

ถ้าการตั้งค่าถูกต้อง จะเห็นรายการ Bucket ที่คุณมีอยู่ใน AWS

การใช้งาน AWS SDK เบื้องต้น

ถัดจาก CLI คือ AWS SDK (Software Development Kit) ซึ่งช่วยให้นักพัฒนาสามารถเขียนโค้ดเชื่อมต่อกับบริการต่าง ๆ ของ AWS ได้โดยตรงผ่านโปรแกรม

1. AWS SDK for Python (boto3)

Boto3 คือ SDK ของ AWS สำหรับภาษา Python ซึ่งใช้งานง่ายและนิยมมากในสาย Data, ML และ Automation

pip install boto3
    

ตัวอย่างโค้ด: ดูรายชื่อ S3 Bucket

import boto3

s3 = boto3.client('s3')
response = s3.list_buckets()

print("Your Buckets:")
for bucket in response['Buckets']:
    print(f"- {bucket['Name']}")
    

2. AWS SDK for Node.js

สำหรับนักพัฒนา Web หรือ Serverless สามารถใช้ AWS SDK for JavaScript ได้โดยตรง

npm install aws-sdk
    

ตัวอย่างโค้ด: อัปโหลดไฟล์ไป S3

const AWS = require('aws-sdk');
const fs = require('fs');

const s3 = new AWS.S3({ region: 'ap-southeast-1' });

const uploadParams = {
  Bucket: 'my-demo-bucket',
  Key: 'hello.txt',
  Body: fs.createReadStream('hello.txt')
};

s3.upload(uploadParams, (err, data) => {
  if (err) console.error("Error:", err);
  else console.log("Upload Success:", data.Location);
});
    

3. AWS SDK for Java

AWS SDK for Java เป็นอีกตัวที่นิยมในระดับ Enterprise และระบบขนาดใหญ่



  software.amazon.awssdk
  s3
  2.25.0

    

ตัวอย่างโค้ด: อัปโหลดไฟล์ไปยัง S3

import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
import java.nio.file.Paths;

public class UploadToS3 {
  public static void main(String[] args) {
    S3Client s3 = S3Client.create();
    s3.putObject(
      PutObjectRequest.builder()
        .bucket("my-demo-bucket")
        .key("demo.txt")
        .build(),
      Paths.get("demo.txt")
    );
    System.out.println("Upload successful!");
  }
}
    

สรุป: CLI vs SDK

เครื่องมือลักษณะการใช้งานเหมาะกับ
AWS CLIสั่งงานผ่าน Command LineDevOps / ผู้ดูแลระบบ
AWS SDKเขียนโค้ดเชื่อมต่อบริการ AWSนักพัฒนาแอปพลิเคชัน

ข้อควรระวังและแนวทางที่ดี

  • อย่าเก็บ Access Key และ Secret Key ไว้ในโค้ด
  • ใช้ IAM Role แทนเมื่อ Deploy บน EC2 หรือ Lambda
  • ตั้งค่า region ให้ถูกต้อง เช่น ap-southeast-1 (สิงคโปร์)
  • อัปเดต SDK ให้เป็นเวอร์ชันล่าสุดอยู่เสมอ

สรุปสุดท้าย

ทั้ง AWS CLI และ AWS SDK ถือเป็นเครื่องมือสำคัญที่นักพัฒนายุค Cloud ควรรู้ CLI ช่วยให้คุณสั่งงานรวดเร็ว ส่วน SDK เปิดทางให้คุณสร้างระบบที่ยืดหยุ่นและอัตโนมัติได้เต็มที่ เมื่อเข้าใจทั้งสองอย่างแล้ว คุณจะสามารถทำงานกับ AWS ได้เหมือนมืออาชีพ!

📘 บทความโดย King Pool

ภาพประกอบ: AWS CLI, SDK Architecture, Boto3 Example, Node.js SDK, Java SDK

แนะนำให้อ่านต่อ: การใช้งาน AWS Lambda ด้วย SDK

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *