Amazonrds-postgressql-features
Amazon RDS-PostgreSQLの機能
PostgreSQLは、強力でオープンソースのオブジェクトリレーショナルデータベースシステムであり、信頼性、機能の堅牢性、パフォーマンスで高い評価を得ています。 AWS RDSは、さまざまなバージョンのPostgreSQLを実行します。 ポイントインタイムの復元とバックアップ、DBスナップショットの作成、マルチAZ環境での実行をサポートしています。
サポートされているバージョン
バージョン9.3〜10.4は、RDSプラットフォームでサポートされているメジャーバージョンです。 DBの作成中にバージョンが指定されていない場合、その時点での最新バージョンがデフォルトになります。 以下は、Python SDKプログラムでAWS APIを使用して、サポートされているすべてのDBエンジンバージョンを取得する方法の例です。
import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
DBParameterGroupFamily='',
DefaultOnly=True,
Engine='postgres',
EngineVersion='',
ListSupportedCharacterSets=False, #True,
)
print(response)
上記のプログラムを実行すると、次の出力が得られます-
{
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "c85cd49f-2c16-44b4-9890-cb233651f962",
"HTTPHeaders": {
"x-amzn-requestid": "c85cd49f-2c16-44b4-9890-cb233651f962",
"date": "Fri, 14 Sep 2018 07:31:34 GMT",
"content-length": "995",
"content-type": "text/xml"
}
},
"u'DBEngineVersions'": [
{
"u'Engine'": "postgres",
"u'DBParameterGroupFamily'": "postgres10",
"u'SupportsLogExportsToCloudwatchLogs'": false,
"u'SupportsReadReplica'": true,
"u'DBEngineDescription'": "PostgreSQL",
"u'EngineVersion'": "10.4",
"u'DBEngineVersionDescription'": "PostgreSQL 10.4-R1",
"u'ValidUpgradeTarget'": []
}
]
}
データベースプレビュー環境
PostgreSQLコミュニティは、新しいバージョンと新しい拡張機能を継続的にリリースしています。 Aws RDSで完全にサポートされる前に、新しいPostgreSQLバージョンと拡張機能を試すことができます。 そのために、データベースプレビュー環境で新しいDBインスタンスを作成できます。
データベースプレビュー環境のDBインスタンスは、運用環境のDBインスタンスに似ています。 ただし、いくつかの重要な要因に留意してください。
- すべてのDBインスタンスは、作成した60日後に、バックアップとスナップショットとともに削除されます。
- Amazon VPCサービスに基づいた仮想プライベートクラウド(VPC)でのみDBインスタンスを作成できます。
- M4、T2、およびR4インスタンスタイプのみを作成できます。 RDSインスタンスクラスの詳細については、
- DBインスタンスに関するAWSサポートからサポートを受けることはできません。 RDSデータベースプレビュー環境フォーラムに質問を投稿できます。
- 使用できるのは、汎用SSDおよびプロビジョニングされたIOPS SSDストレージのみです。
- DBインスタンスのスナップショットを本番環境にコピーすることはできません。
- 以下に説明するように、一部のAmazon RDS機能はプレビュー環境では使用できません。
論理複製
論理レプリケーションは、レプリケーションID(通常は主キー)に基づいて、データオブジェクトとその変更をレプリケートする方法です。 論理レプリケーションは、パブリッシャノード上の1つ以上のパブリケーションにサブスクライブする1人以上のサブスクライバで、パブリッシュアンドサブスクライブモデルを使用します。 サブスクライバーは、サブスクライブしているパブリケーションからデータを取得し、その後データを再パブリッシュして、カスケードレプリケーションまたはより複雑な構成を可能にします。 以下のアクションに使用されます。
- 単一のデータベースまたはデータベースのサブセットの増分変更を、発生時にサブスクライバーに送信します。
- 複数のデータベースを単一のデータベースに統合する(たとえば、分析目的で)。
- PostgreSQLの異なるメジャーバージョン間での複製。
- 異なるプラットフォーム上のPostgreSQLインスタンス間の複製(LinuxからWindowsなど)
- 複製されたデータへのアクセスを異なるユーザーグループに付与する。
- 複数のデータベース間でデータベースのサブセットを共有します。
PostgreSQL DBインスタンスのAmazon RDSの論理レプリケーションを有効にするには
- AWSユーザーアカウントには、Amazon RDS上のPostgreSQLデータベースの論理レプリケーションを実行するためにrds_superuserロールが必要です。
- rds.logical_replicationパラメーターを1に設定します。
- パブリッシャーインスタンス(運用)のセキュリティグループの受信規則を変更して、サブスクライバーインスタンス(レプリカ)が接続できるようにします。 これは通常、セキュリティグループに加入者のIPアドレスを含めることによって行われます。