Amazon RDS - 介面



RDS 介面是訪問我們建立的 RDS 服務的一種方式。在建立和配置 RDS 服務後,需要訪問資料、將資料上傳到該資料庫以及執行一些能夠連線到資料庫的其他程式。資料庫終端使用者(不一定是由建立資料庫的 AWS 賬戶)訪問和操作資料的此類需求需要這些介面。

主要有三種這樣的介面。

GUI 控制檯

這是最簡單的介面之一,使用者可以透過 Web 瀏覽器登入並開始使用 DB 服務。這種訪問的缺點是,它需要人工與 RDS 服務互動,我們無法執行資料庫程式來執行一些常規任務,例如備份或分析 DB 等。

aws_interface_mgmt_console.JPG

命令列介面

它也稱為 CLI 訪問,您可以在 AWS 命令提示符螢幕上執行 DB 命令,該命令應已安裝在您使用的客戶端計算機上。以下是使用您將訪問 AWS 服務的本地系統安裝 CLI 的步驟。

安裝 AWS CLI 的步驟如下。

步驟 1

檢查您的環境中 Python 的版本。

ubuntu@ubuntu:~$ python -V
ubuntu@ubuntu:~$ python3 -V

當我們執行上述程式時,我們將獲得以下輸出 -

Python 2.7.12 
Python 3.5.2

如果版本低於 2.6 或 3.3,則需要升級系統中的 Python 版本。

步驟 2

檢查名為 pip 的 Python 包是否可用。它將用於安裝 AWS CLI。

Pip -V

當我們執行上述程式時,我們將獲得以下輸出 -

pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)

步驟 3

發出以下命令以安裝 AWS CLI。

pip install awscli –upgrade –user
aws --version

當我們執行上述程式時,我們將獲得以下輸出 -

Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0

步驟 4

接下來,我們使用憑據配置 aws CLI。我們發出此命令,然後逐一輸入所需的值。

aws configure

當我們執行上述程式時,我們將獲得以下輸出 -

AWS Access Key ID [None]: ****PLE
AWS Secret Access Key [None]: ********8
Default region name [None]: us-west-2
Default output format [None]: json

透過上述配置,您現在可以使用 CLI 與 AWS 環境通訊,以設定和使用 Amazon RDS。在接下來的章節中,我們將看到如何做到這一點。

AWS API

Amazon Relational Database Service (Amazon RDS) 還提供應用程式程式設計介面 (API)。當資訊在系統之間交換而不是人工發出命令並接收結果時,將使用 API。例如,如果希望在事務數量達到某個閾值時自動將資料庫例項新增到 RDS 服務中,則可以使用 AWS SDK 編寫一個程式,該程式將監控資料庫事務的數量並在滿足所需條件時啟動 RDS 例項。

以下是一個建立 DB 快照副本的 API 程式碼示例。它是一個使用名為 boto3 的 AWS sdk 的 Python 程式。boto3 中的客戶端庫有一個名為 copy_db_snapshot 的方法,Python 程式呼叫該方法以使用顯示的所需引數建立 DB 快照的副本。

import boto3

client = boto3.client('rds')

response = client.copy_db_snapshot(
    SourceDBSnapshotIdentifier='mydbsnapshot',
    TargetDBSnapshotIdentifier='mydbsnapshot-copy',
)

print(response)

執行上述程式後,我們將獲得描述複製事件各種屬性的響應。此處,術語字串表示使用者為其環境定義的各種引數名稱。例如,VpcID 表示發生複製操作的 VPC 的 ID。

{
    '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'
            },
        ]
    }
}
廣告

© . All rights reserved.