AmazonRDS-インターフェース
RDSインターフェースは、私たちが作成したRDSサービスにアクセスする方法です。RDSサービスの作成と設定後、データにアクセスし、このデータベースにデータをアップロードし、データベースに接続できるはずのその他のプログラムを実行する必要があります。データベースのエンドユーザーがデータにアクセスして操作するというこのような要件は、必ずしもデータベースを作成したAWSアカウント所有者ではなく、これらのインターフェースを必要とします。
そのようなインターフェースは主に3つあります。
これは、ユーザーがWebブラウザーからログインして、DBサービスの使用を開始できる最も単純なインターフェースです。このようなアクセスの欠点は、RDSサービスと対話するために人間が必要であり、データベースプログラムを実行して、バックアップやDBの分析などの通常のタスクを実行できないことです。
これはCLIアクセスとも呼ばれ、使用しているクライアントコンピューターにインストールされているはずのAWSコマンドプロンプト画面からDBコマンドを実行できます。以下は、AWSサービスにアクセスするために使用するローカルシステムにCLIをインストールする手順です。
AWSCLIをインストールする手順は次のとおりです。
ステップ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パッケージが利用可能かどうかを確認します。AWSCLIをインストールする必要があります。
Pip -V
上記のプログラムを実行すると、次の出力が得られます-
pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)
ステップ-3
次のコマンドを発行して、AWSCLIをインストールします。
pip install awscli –upgrade –user
aws --version
上記のプログラムを実行すると、次の出力が得られます-
Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0
ステップ-4
次に、認証情報を使用してawsCLIを設定します。このコマンドを発行してから、必要な値を1つずつ入力します。
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環境と通信し、AmazonRDSをセットアップして使用する準備が整います。次の章では、それをどのように行うことができるかを見ていきます。
Amazon Relational Database Service(Amazon RDS)は、アプリケーションプログラミングインターフェイス(API)も提供します。APIは、人間がコマンドを発行して結果を受け取るのではなく、システム間で情報を交換するときに使用されます。たとえば、トランザクションの数が特定のしきい値に達したときにRDSサービスへのデータベースインスタンスの追加を自動化する場合は、AWS SDKを使用して、データベーストランザクションの数を監視し、RDSをスピンオフするプログラムを作成します。必要な条件が満たされたときのインスタンス。
以下は、DBスナップショットのコピーを作成するAPIコードの例です。これは、boto3という名前のAWSSDKを使用する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)
上記のプログラムを実行すると、copyイベントのさまざまなプロパティを説明する応答が返されます。ここで、文字列という用語は、ユーザーが環境に対して定義するパラメーターのさまざまな名前を表します。たとえば、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'
},
]
}
}