Amazon RDS - Giao diện
Các giao diện RDS là một cách để truy cập dịch vụ RDS mà chúng tôi tạo ra. Sau khi tạo và cấu hình dịch vụ RDS, cần phải truy cập dữ liệu, tải dữ liệu lên cơ sở dữ liệu này và chạy một số chương trình khác có thể kết nối với cơ sở dữ liệu. Những yêu cầu như vậy về việc truy cập và thao tác dữ liệu của người dùng cuối của cơ sở dữ liệu và không nhất thiết là chủ tài khoản AWS đã tạo cơ sở dữ liệu cần những giao diện này.
Có ba giao diện chính như vậy.
Đây là giao diện đơn giản nhất trong đó người dùng có thể đăng nhập thông qua trình duyệt web và bắt đầu sử dụng các dịch vụ DB. Mặt trái của việc truy cập như vậy là nó cần một con người để tương tác với các dịch vụ RDS và chúng tôi không thể chạy chương trình cơ sở dữ liệu để thực hiện một số tác vụ thông thường như - sao lưu hoặc phân tích DB, v.v.
Nó còn được gọi là truy cập CLI nơi bạn có thể thực thi lệnh DB thông qua màn hình nhắc lệnh AWS mà lẽ ra phải được cài đặt trong máy khách bạn đang sử dụng. Dưới đây là các bước để cài đặt CLI trong hệ thống cục bộ của bạn bằng cách sử dụng mà bạn sẽ truy cập các dịch vụ AWS.
Các bước cài đặt AWS CLI như bên dưới.
Bước 1
Kiểm tra phiên bản python trong môi trường của bạn.
ubuntu@ubuntu:~$ python -V
ubuntu@ubuntu:~$ python3 -V
Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:
Python 2.7.12
Python 3.5.2
Nếu phiên bản nhỏ hơn 2.6 hoặc 3.3, thì bạn cần nâng cấp phiên bản python trong hệ thống của mình.
Bước 2
Kiểm tra tính khả dụng của gói python có tên pip. Nó sẽ cần thiết để cài đặt AWS CLI.
Pip -V
Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:
pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)
Bước 3
Đưa ra lệnh sau để cài đặt AWS CLI.
pip install awscli –upgrade –user
aws --version
Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:
Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0
Bước 4
Tiếp theo, chúng tôi cấu hình CLI aws bằng thông tin đăng nhập. Chúng tôi đưa ra lệnh này và sau đó nhập lần lượt các giá trị cần thiết.
aws configure
Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:
AWS Access Key ID [None]: ****PLE
AWS Secret Access Key [None]: ********8
Default region name [None]: us-west-2
Default output format [None]: json
Với cấu hình trên, bạn đã sẵn sàng sử dụng CLI để giao tiếp với môi trường AWS để thiết lập và sử dụng amazon RDS. Trong các chương tiếp theo, chúng ta sẽ xem cách chúng ta có thể làm được điều đó.
Amazon Relational Database Service (Amazon RDS) cũng cung cấp giao diện lập trình ứng dụng (API). Các API được sử dụng khi thông tin được trao đổi giữa các hệ thống chứ không phải do con người ra lệnh và nhận kết quả. Ví dụ: nếu bạn muốn tự động bổ sung các phiên bản cơ sở dữ liệu vào dịch vụ RDS khi số lượng giao dịch đạt đến ngưỡng nhất định, thì bạn sử dụng AWS SDK để viết một chương trình sẽ theo dõi số lượng giao dịch cơ sở dữ liệu và tạo ra một RDS ví dụ khi điều kiện bắt buộc được đáp ứng.
Dưới đây là ví dụ về mã API tạo bản sao của ảnh chụp nhanh DB. Nó là một chương trình python sử dụng AWS sdk có tên boto3. Thư viện máy khách trong boto3 có một phương thức có tên là copy_db_snapshot được gọi bởi chương trình python để tạo một bản sao của ảnh chụp nhanh DB với các tham số bắt buộc như được hiển thị.
import boto3
client = boto3.client('rds')
response = client.copy_db_snapshot(
SourceDBSnapshotIdentifier='mydbsnapshot',
TargetDBSnapshotIdentifier='mydbsnapshot-copy',
)
print(response)
Khi chương trình trên được chạy, chúng tôi nhận được phản hồi mô tả các thuộc tính khác nhau của sự kiện sao chép. Ở đây, chuỗi thuật ngữ đại diện cho các tên khác nhau của các tham số được người dùng xác định cho môi trường của họ. Ví dụ: VpcID đại diện cho ID của vpc mà hành động sao chép đang diễn ra.
{
'DBSnapshot': {
'DBSnapshotIdentifier': 'string',
'DBInstanceIdentifier': 'string',
'SnapshotCreateTime': datetime(2015, 1, 1),
'Engine': 'string',
'AllocatedStorage': 123,
'Status': 'string',
'Port': 123,
'AvailabilityZone': 'string',
'VpcId': 'string',
'InstanceCreateTime': datetime(2015, 1, 1),
'MasterUsername': 'string',
'EngineVersion': 'string',
'LicenseModel': 'string',
'SnapshotType': 'string',
'Iops': 123,
'OptionGroupName': 'string',
'PercentProgress': 123,
'SourceRegion': 'string',
'SourceDBSnapshotIdentifier': 'string',
'StorageType': 'string',
'TdeCredentialArn': 'string',
'Encrypted': True|False,
'KmsKeyId': 'string',
'DBSnapshotArn': 'string',
'Timezone': 'string',
'IAMDatabaseAuthenticationEnabled': True|False,
'ProcessorFeatures': [
{
'Name': 'string',
'Value': 'string'
},
]
}
}