Bài 4: Tương tác với EC2 Instance qua AWS CLI và SDK

·

2 min read

Quản lý Amazon EC2 instances qua AWS Command Line Interface (CLI) và AWS Software Development Kit (SDK) mang lại sự linh hoạt và khả năng tự động hóa cao cho nhà phát triển. Bài viết này cung cấp cái nhìn tổng quan về cách tạo, quản lý, và xóa EC2 instances qua AWS CLI và SDK, với ví dụ cụ thể bằng Python.

Tạo và Quản lý EC2 Instance qua AWS CLI

AWS CLI cho phép bạn thực hiện hầu như mọi tác vụ quản lý EC2 mà không cần truy cập trực tiếp vào AWS Management Console. Dưới đây là một số lệnh cơ bản:

  • Tạo EC2 Instance:
aws ec2 run-instances --image-id ami-xxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-xxxxxx --subnet-id subnet-xxxxxx
  • Lấy danh sách các Instances đang chạy:
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*].[InstanceId,State.Name,PublicIpAddress]"
  • Dừng và Khởi động lại EC2 Instance:
aws ec2 stop-instances --instance-ids i-xxxxxx
aws ec2 start-instances --instance-ids i-xxxxxx
  • Xóa EC2 Instance:
aws ec2 terminate-instances --instance-ids i-xxxxxx

Sử dụng AWS SDK để Tương tác với EC2 (Python Ví dụ)

AWS SDK cung cấp các thư viện cho nhiều ngôn ngữ lập trình, giúp tương tác với AWS services một cách trực tiếp từ ứng dụng của bạn. Ví dụ dưới đây sử dụng SDK cho Python (Boto3) để tạo và quản lý EC2 instances.

Bước 1: Cài đặt Boto3

pip install boto3

Bước 2: Cấu hình chứng chỉ xác thực và khu vực mặc định trong file ~/.aws/credentials~/.aws/config.

Bước 3: Script Python tạo EC2 Instance

import boto3

# Tạo một session với AWS
session = boto3.Session(profile_name='myprofile')
ec2 = session.resource('ec2')

# Tạo EC2 Instance
instances = ec2.create_instances(
    ImageId='ami-xxxxxx',
    MinCount=1,
    MaxCount=1,
    InstanceType='t2.micro',
    KeyName='MyKeyPair',
    SecurityGroupIds=['sg-xxxxxx'],
    SubnetId='subnet-xxxxxx'
)

print(f'Created instance: {instances[0].id}')

Kết luận

Việc sử dụng AWS CLI và SDK để tương tác với EC2 mang lại khả năng tự động hóa và linh hoạt cao cho các nhà phát triển và quản trị hệ thống. Qua việc áp dụng các công cụ này, bạn có thể nhanh chóng triển khai, cấu hình, và quản lý các tài nguyên EC2 một cách hiệu quả, từ đó tối ưu hóa quy trình làm việc và tăng cường năng suất cho dự án của mình.