
การใช้ 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 Line | DevOps / ผู้ดูแลระบบ |
| 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