PostgreSQL と互換性がある Amazon Aurora にデータを移行する - Amazon Aurora

PostgreSQL と互換性がある Amazon Aurora にデータを移行する

既存のデータベースから PostgreSQL との互換性がある Amazon Aurora DB クラスターにデータを移行するための複数のオプションがあります。また、移行オプションは、移行元のデータベースおよび移行するデータのサイズによっても異なります。オプションは次のとおりです。

スナップショットを使用した RDS for PostgreSQL DB インスタンスの移行

RDS for PostgreSQL DB スナップショットから Aurora PostgreSQL DB クラスターに直接データを移行できます。

Aurora リードレプリカを使用した RDS for PostgreSQL DB インスタンスの移行

また、RDS for PostgreSQL DB インスタンスの Aurora PostgreSQL リードレプリカを作成して、RDS for PostgreSQL DB インスタンスから移行することもできます。RDS for PostgreSQL DB インスタンスと Aurora PostgreSQL リードレプリカの間のレプリカラグがゼロになったら、レプリケーションを停止することができます。この時点で、Aurora リードレプリカを読み書き用のスタンドアロン Aurora PostgreSQL DB クラスターにすることができます。

S3 データを Aurora PostgreSQL にインポートする

データを Amazon S3 から Aurora PostgreSQL DB クラスターに属するテーブルにインポートすることで、データを移行できます。

PostgreSQL 互換ではないデータベースからの移行

PostgreSQL との互換性がないデータベースからのデータを移行するには、AWS Database Migration Service (AWS DMS) を使用できます。AWS DMS の詳細については、AWS Database Migration Service ユーザーガイド の「AWS Database Migration Service とは」を参照してください。

Aurora を使用できる AWS リージョンのリストについては、AWS General Reference の「Amazon Aurora」を参照してください。

重要

近い将来 RDS for PostgreSQL DB インスタンスを Aurora PostgreSQL DB クラスターに移行する予定がある場合は、移行計画フェーズの早い段階で DB インスタンスのマイナーバージョンの自動アップグレードを無効にすることを強くお勧めします。RDS for PostgreSQL バージョンが Aurora PostgreSQL でサポートされていない場合、Aurora PostgreSQL への移行が遅れる可能性があります。Aurora PostgreSQL バージョンについては、Amazon Aurora PostgreSQL のエンジンのバージョンを参照してください。

RDS for PostgreSQL DB インスタンスのスナップショットを Aurora PostgreSQL DB クラスターに移行する

Aurora PostgreSQL DB クラスターを作成するには、RDS for PostgreSQL DB インスタンスの DB スナップショットを移行することができます。新しい Aurora PostgreSQL DB クラスターには、元の RDS for PostgreSQL DB インスタンスのデータが入力されます。DB スナップショットの作成については、「DB スナップショットの作成」を参照してください。

場合によっては、DB スナップショットが、データを検索する AWS リージョンにない可能性があります。その場合は、Amazon RDS コンソールを使用して、DB スナップショットを AWS リージョンにコピーします。DB スナップショットのコピーについては、「DB スナップショットのコピー」を参照してください。

特定の AWS リージョンで利用可能な Aurora PostgreSQL バージョンと互換性のある RDS for PostgreSQL スナップショットを移行できます。たとえば、RDS for PostgreSQL 11.1 DB インスタンスからのスナップショットは、米国西部 (北カリフォルニア) リージョン の Aurora PostgreSQL バージョン 11.4、11.7、11.8、または 11.9 に移行できます。RDS PostgreSQL 10.11 スナップショットは、Aurora PostgreSQL 10.11、10.12、10.13、および 10.14 に移行できます。つまり、RDS for PostgreSQL スナップショットは、Aurora PostgreSQL と同じかそれ以下のマイナーバージョンを使用する必要があります。

コンソールを使用して DB スナップショットを移行すると、DB クラスターとプライマリインスタンスの両方を作成するために必要なアクションがコンソールによって実行されます。

AWS Key Management Service (AWS KMS) カスタマーマスターキー (CMK) を使って、新しい Aurora PostgreSQL DB クラスターが保管中に暗号化されるよう選択することもできます。このオプションは、暗号化されていない DB スナップショットに対してのみ使用できます。

RDS コンソールを使用して PostgreSQL DB スナップショットを移行するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. [Snapshots] を選択します。

  3. [Snapshots] ページで、Aurora PostgreSQL DB クラスターに移行する RDS for PostgreSQL スナップショットを選択します。

  4. [アクション]、[スナップショットの移行] の順に選択します。

  5. [データベースの移行] ページで以下の値を設定します。

    • [DB エンジンバージョン]: 移行した新しいインスタンスに使用する DB エンジンのバージョンを選択します。

    • [DB インスタンス識別子]: DB クラスター名を入力します。これは、選択した AWS リージョン内で自分のアカウントに対して一意である必要があります。この識別子は、DB クラスター内のインスタンスのエンドポイントアドレスで使用されます。分かりやすくするために、選択した AWS リージョンと DB エンジンなど (例: aurora-cluster1) を名前に含めます。

      DB インスタンス識別子には次の制約があります。

      • 1~63 文字の英数字またはハイフンを使用する必要があります。

      • 1 字目は文字である必要があります。

      • 文字列の最後にハイフンを使用したり、ハイフンを 2 つ続けて使用したりすることはできません。

      • 1 つの AWS アカウント、1 つの AWS リージョンにつき、すべての DB インスタンスにおいて一意である必要があります。

    • [DB インスタンスクラス]: データベースに必要なストレージと容量のある DB インスタンスクラス (db.r3.large など) を選択します。Aurora クラスターボリュームは、データベースのデータの量が増えるにつれて自動的に大きくなります。128 tebibytes (TiB) そのため、現在のストレージ要件を満たしている DB インスタンスクラスを選択する必要があります。詳細については、「Aurora ストレージの概要」を参照してください。

    • [Virtual Private Cloud (VPC)]: 既存の VPC がある場合は、その VPC 識別子 (vpc-a464d1c1 など) を選択することで、その VPC を Aurora PostgreSQL DB クラスターで使用できます。既存の VPC の使用については、「Amazon Aurora 用の VPC を作成する方法」を参照してください。

      それ以外の場合は、[新しい VPC の作成] を選択することにより、Amazon RDS で VPC を作成できます。

    • [サブネットグループ]: 既存のサブネットグループがある場合は、そのサブネットグループ識別子 (gs-subnet-group1 など) を選択して、そのサブネットグループを Aurora PostgreSQL DB クラスターで使用できます。

    • [パブリックアクセス]: DB クラスターのインスタンスが VPC 内のリソースからのみアクセスできることを指定するには、[いいえ] を選択します。DB クラスターのインスタンスがパブリックネットワーク上のリソースからアクセスできることを指定するには、[Yes] を選択します。

      注記

      本番稼働用の DB クラスターは、お客様のアプリケーションサーバーのみがアクセスするため、パブリックサブネット内に配置する必要がない場合があります。DB クラスターをパブリックサブネットに配置する必要がない場合は、[パブリックアクセス可能] を [いいえ] に設定します。

    • [VPC セキュリティグループ]: データベースへのアクセスを許可する VPC セキュリティグループを選択します。

    • [アベイラビリティーゾーン]: Aurora PostgreSQL DB クラスターのプライマリインスタンスをホストするアベイラビリティーゾーンを選択します。Amazon RDS でアベイラビリティーゾーンが選択されるようにするには、[指定なし] を選択します。

    • [データベースのポート]: Aurora PostgreSQL DB クラスターのインスタンスへの接続に使用されるデフォルトのポートを入力します。デフォルト: 5432

      注記

      会社のファイアウォールでデフォルトポート (PostgreSQL のデフォルトポート 5432 など) へのアクセスが許可されない場合があります。この場合は、会社のファイアウォールによって許可されるポート値を指定します。そのポート値を覚えておいてください。後で Aurora PostgreSQL DB クラスターに接続するときに使用します。

    • [暗号を有効化]: 新しい Aurora PostgreSQL DB クラスターを保管時に暗号化するには、[暗号を有効化] を選択します。また、[マスターキー] の値として AWS KMS カスタマーマスターキー (CMK) を選択します。

    • [マイナーバージョン自動アップグレード]: PostgreSQL DB エンジンのマイナーバージョンアップグレードを、そのリリースと同時に Aurora PostgreSQL DB クラスターに自動的に適用するには、[Enable auto minor version upgrade (マイナーバージョン自動アップグレードを有効にする)] を選択します。

      [マイナーバージョン自動アップグレード] オプションは、Aurora PostgreSQL DB クラスターの PostgreSQL マイナーエンジンバージョンに対するアップグレードのみに適用されます。システム安定性を維持するために適用される定期的なパッチは適用されません。

  6. [Migrate] を選択して、DB スナップショットを移行します。

  7. [データベース] を選択して新しい DB クラスターを表示します。移行の進行状況を監視する新しい DB クラスターを選択します。[接続とセキュリティ] タブで、DB クラスターのプライマリライターインスタンスへの接続に使用するクラスターエンドポイントを見つけます。Aurora PostgreSQL DB クラスターとの接続の詳細については、「Amazon Aurora DB クラスターへの接続」を参照してください。

Aurora リードレプリカを使用した、RDS for PostgreSQL DB インスタンスから Aurora PostgreSQL DB クラスターへのデータの移行

Aurora リードレプリカを使用して、RDS for PostgreSQL DB インスタンスから Aurora PostgreSQL DB クラスターに移行します。RDS for PostgreSQL DB インスタンスから Aurora PostgreSQL DB クラスターに移行する必要がある場合は、この方法を使用することをお勧めします。

この場合、Amazon RDS は、PostgreSQL DB エンジンのレプリケーション機能を使用して、特殊なタイプの DB クラスターをソース PostgreSQL DB に対して作成します。このタイプの DB クラスターは Aurora リードレプリカと呼ばれます。ソース RDS for PostgreSQL DB インスタンスに加えられた更新は、Aurora リードレプリカに非同期的にレプリケートされます。

Aurora リードレプリカを使用したデータ移行の概要

RDS for PostgreSQL DB インスタンスから Aurora PostgreSQL DB クラスターに移行するには、ソース RDS for PostgreSQL DB インスタンスの Aurora リードレプリカを作成することをお勧めします。RDS for PostgreSQL DB インスタンスと Aurora PostgreSQL リードレプリカの間のレプリカラグがゼロになったら、レプリケーションを停止することができます。この時点で、Aurora リードレプリカは、スタンドアロンの Aurora PostgreSQL DB クラスターに昇格することができます。このスタンドアロンの DB クラスターで書き込みロードを承認することができました。

移行では、データの 1 テビバイト (TiB) ごとに数時間程度の時間がかかります。移行中、先書きログセグメント (WAL) が RDS for PostgreSQL インスタンスに蓄積されます。Amazon RDS インスタンスに、これらのセグメントに必要なストレージキャパシティーが十分にあることを確認します。

RDS for PostgreSQL DB インスタンスの Aurora リードレプリカを作成すると、Amazon RDS はソース RDS for PostgreSQL DB インスタンスの DB スナップショットを作成します。このスナップショットは Amazon RDS 専用であり、料金はかかりません。Amazon RDS は DB スナップショットから Aurora リードレプリカにデータを移行します。DB スナップショットのデータが新しい Aurora PostgreSQL DB クラスターに移行されたら、RDS は、RDS for PostgreSQL DB インスタンスと Aurora PostgreSQL DB クラスターとの間でレプリケーションを開始します。

1 つの RDS for PostgreSQL DB インスタンスに対して作成できる Aurora リードレプリカは、1 つだけです。また、RDS for PostgreSQL インスタンスの Aurora リードレプリカを作成する場合、Aurora リードレプリカまたはクロスリージョンリードレプリカが既に存在すると、リクエストは拒否されます。

注記

Aurora PostgreSQL と、レプリケーションソースである RDS for PostgreSQL DB インスタンスの PostgreSQL データベースエンジンバージョンの間に存在する特性の相違が原因で、レプリケーションの問題が発生する場合があります。問題の Aurora PostgreSQL バージョンと互換性のある RDS for PostgreSQL インスタンスからのみレプリケートできます。例えば、Aurora PostgreSQL バージョン 12.4 がサポートされている場合、RDS for PostgreSQL DB インスタンスは、バージョン 12.2 以降で実行する必要があります。エラーが発生した場合は、Amazon RDS コミュニティフォーラムにサポートを依頼するか、AWS サポート に問い合わせることができます。

PostgreSQL リードレプリカの詳細については、Amazon RDS ユーザーガイドの「リードレプリカの使用」を参照してください。

Aurora リードレプリカを使用してデータを移行するよう準備する

RDS for PostgreSQL インスタンスから Aurora PostgreSQL クラスターにデータを移行する前に、インスタンスに十分なストレージキャパシティーがあることを確認してください。このストレージキャパシティーは、マイグレーション中に累積する先書き込みログ (WAL) セグメント用です。以下で説明するように、これを確認するためのメトリクスはいくつかあります。

メトリクス 説明

FreeStorageSpace

使用可能なストレージ領域。

単位: バイト

OldestReplicationSlotLag

最も遅延の大きいレプリカの WAL データに関する遅延サイズ。

単位: メガバイト

RDSToAuroraPostgreSQLReplicaLag

Aurora PostgreSQL DB クラスターがソース RDS DB インスタンスより遅れる時間 (秒単位)。

TransactionLogsDiskUsage

トランザクションログで使用されているディスク容量。

単位: メガバイト

RDS インスタンスのモニタリングの詳細については、Amazon RDS ユーザーガイド の「モニタリング」を参照してください。

Aurora リードレプリカの作成

コンソールまたは AWS CLI を使用して、RDS for PostgreSQL DB インスタンスの Aurora リードレプリカを作成できます。

ソース PostgreSQL DB インスタンスから Aurora リードレプリカを作成するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. Aurora リードレプリカのソースとして使用する RDS for PostgreSQL DB インスタンスを選択してから、[アクション] で [Aurora リードレプリカの作成] を選択します。

    
                                    Aurora リードレプリカの作成
  4. 次の表を参考にして、Aurora リードレプリカに使用する DB クラスターの仕様を選択します。

    オプション 説明

    DB インスタンスクラス

    DB クラスターのプライマリインスタンスに対する処理要件やメモリ要件を定義する DB インスタンスクラスを選択します。DB インスタンスクラスのオプションについては、「DB インスタンスクラス」を参照してください。

    マルチ AZ 配置

    PostgreSQL では使用できません。

    DB インスタンス識別子

    Aurora リードレプリカ DB クラスターのプライマリインスタンスの名前を入力します。この識別子は、新しい DB クラスターのプライマリインスタンスのエンドポイントアドレスで使用されます。

    DB インスタンス識別子には次の制約があります。

    • 1~63 文字の英数字またはハイフンを使用する必要があります。

    • 1 字目は文字である必要があります。

    • 文字列の最後にハイフンを使用したり、ハイフンを 2 つ続けて使用したりすることはできません。

    • これは AWS リージョンごとの各 AWS アカウントのすべての DB インスタンスに対して一意にする必要があります。

    Aurora リードレプリカ DB クラスターは、ソースDBインスタンスのスナップショットから作成されます。そのため、Aurora リードレプリカのマスターユーザー名およびマスターパスワードはソース DB インスタンスのマスターユーザー名およびマスターパスワードと同じになります。

    Virtual Private Cloud (VPC)

    DB クラスターをホストする VPC を選択します。[新しい VPC の作成] を選択して、Amazon RDS で VPC を作成します。詳細については、「DB クラスターの前提条件」を参照してください。

    サブネットグループ

    DB クラスターで使用する DB サブネットグループを選択します。[新しい DB サブネットグループの作成] を選択すると、Amazon RDS によって DB サブネットグループが作成されます。詳細については、「DB クラスターの前提条件」を参照してください。

    パブリックアクセシビリティ

    DB クラスターにパブリック IP アドレスを指定するには [Yes] を選択します。それ以外の場合は [No] を選択します。DB クラスターのインスタンスでは、パブリック DB インスタンスとプライベート DB インスタンスの両方を混在させることができます。パブリックアクセスからインスタンスを隠す方法については、「VPC 内の DB インスタンスをインターネットから隠す」を参照してください。

    アベイラビリティーゾーン

    特定のアベイラビリティーゾーンを指定するかどうかを指定します。利用可能ゾーンについての詳細は、 リージョンとアベイラビリティーゾーン を参照してください。

    VPC セキュリティグループ

    DB クラスターへのネットワークアクセスの保護用に 1 つ以上の VPC セキュリティグループを選択します。[新しい VPC セキュリティグループの作成] を選択すると、Amazon RDS によって VPC セキュリティグループが作成されます。詳細については、「DB クラスターの前提条件」を参照してください。

    データベースポート

    データベースのアクセスに使用するために、アプリケーションやユーティリティのポートを指定します。Aurora PostgreSQL DB クラスターのデフォルトの PostgreSQL ポートは 5432 になります。会社のファイアウォールでは、このポートへの接続がブロックされます。会社のファイアウォールがデフォルトのポートをブロックする場合は、新しい DB クラスター用に別のポートを選択します。

    DB パラメータグループ

    Aurora PostgreSQL DB クラスターの DB パラメータグループを選択します。Aurora にはデフォルトの DB パラメータグループが用意されています。また、独自の DB パラメータグループを作成することもできます。DB パラメータグループの詳細については、「DB パラメータグループおよび DB クラスターパラメータグループを使用する」を参照してください。

    DB クラスターのパラメータグループ

    Aurora PostgreSQL DB クラスターの DB クラスターパラメータグループを選択します。Aurora にはデフォルトの DB クラスターパラメータグループが用意されています。また、独自の DB クラスターパラメータグループを作成することもできます。DB クラスターパラメータグループの詳細については、「DB パラメータグループおよび DB クラスターパラメータグループを使用する」を参照してください。

    暗号化

    [Enable encryption] を選択すると、新しい Aurora DB クラスターが保管時に暗号化されます。[暗号を有効化] を選択した場合は、[マスターキー] の値として AWS KMS カスタマーマスターキー (CMK) を選択します。

    優先度

    DB クラスターのフェイルオーバー優先度を選択します。値を選択しない場合、デフォルト値は [tier-1] になります。この優先度により、プライマリインスタンスの障害からの復旧時に、Aurora レプリカを昇格する順序が決まります。詳細については、「Aurora DB クラスターの耐障害性」を参照してください。

    バックアップ保持期間

    Aurora がデータベースのバックアップコピーを保持する期間 (1~35 日) を選択します。バックアップコピーは、2 番目のデータベースに対するポイントインタイム復元 (PITR) で使用できます。

    Enhanced monitoring

    DB クラスターが実行されているオペレーティングシステムに対してリアルタイムでのメトリクスの収集を有効にするには、[Enable enhanced monitoring] を選択します。詳細については、「拡張モニタリングの使用」を参照してください。

    モニタリングロール

    [拡張モニタリングを有効にする] を選択した場合にのみ使用できます。拡張モニタリングに使用する AWS Identity and Access Management (IAM) ロール。詳細については、「拡張モニタリングの設定と有効化」を参照してください。

    詳細度

    [拡張モニタリングを有効にする] を選択した場合にのみ使用できます。DB クラスターのメトリクスを収集する間隔を秒単位で設定します。

    マイナーバージョン自動アップグレード

    Aurora PostgreSQL DB クラスターで PostgreSQL DB エンジンのマイナーバージョンアップグレードをリリースと同時に自動的に受信するには、[Yes (はい)] を選択します。

    [マイナーバージョン自動アップグレード] オプションは、Aurora PostgreSQL DB クラスターの PostgreSQL マイナーエンジンバージョンに対するアップグレードのみに適用されます。システム安定性を維持するために適用される定期的なパッチは適用されません。

    メンテナンスウィンドウ

    週 1 回のシステムメンテナンスを実行できる時間帯を選択します。

  5. [Create read replica] を選択します。

ソース RDS for PostgreSQL DB インスタンスから Aurora リードレプリカを作成するには、create-db-clustercreate-db-instance AWS CLI コマンドを使用して新しい Aurora PostgreSQL DB クラスターを作成します。create-db-cluster コマンドを呼び出すときは、--replication-source-identifier パラメータを含めて、ソース RDS for PostgreSQL DB インスタンスの Amazon リソースネーム (ARN) を指定します。Amazon RDS ARN の詳細については、AWS General Reference の「Amazon Relational Database Service (Amazon RDS)」を参照してください。

マスターユーザー名、マスターパスワード、またはデータベース名を指定しないでください。Aurora リードレプリカは、ソース RDS for PostgreSQL DB インスタンスと同じマスターユーザ名、マスターパスワード、およびデータベース名を使用します。

Linux、macOS、Unix の場合:

aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora-postgresql \ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:master-postgresql-instance

Windows の場合:

aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora-postgresql ^ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:master-postgresql-instance

コンソールを使用して Aurora リードレプリカを作成すると、DB クラスターの Aurora リードレプリカのプライマリインスタンスが RDS によって自動的に作成されます。CLI を使用して Aurora リードレプリカを作成する場合、使用する DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリ インスタンスは、DB クラスターで作成される最初の DB インスタンスです。

DB クラスターにプライマリインスタンスを作成するには、次のパラメータを指定して CLI の create-db-instance コマンドを使用します。

  • --db-cluster-identifier

    DB クラスターの名前。

  • --db-instance-class

    プライマリインスタンスに使用するための DB インスタンス名。

  • --db-instance-identifier

    プライマリインスタンスの名前。

  • --engine aurora-postgresql

    使用するデータベースエンジン。

以下の例で、myreadreplicacluster という名前の DB クラスターの myreadreplicainstance という名前のプライマリインスタンスを作成します。そのためには、myinstanceclass で指定されている DB インスタンスクラスを使用します。

Linux、macOS、Unix の場合:

aws rds create-db-instance \ --db-cluster-identifier myreadreplicacluster \ --db-instance-class myinstanceclass --db-instance-identifier myreadreplicainstance \ --engine aurora-postgresql

Windows の場合:

aws rds create-db-instance \ --db-cluster-identifier myreadreplicacluster \ --db-instance-class myinstanceclass --db-instance-identifier myreadreplicainstance \ --engine aurora-postgresql

ソース RDS for PostgreSQL DB インスタンスから Aurora リードレプリカを作成するには、RDS API オペレーション (CreateDBCluster) と CreateDBInstance を使用して新しい Aurora DB クラスターとプライマリインスタンスを作成します。マスターユーザー名、マスターパスワード、またはデータベース名を指定しないでください。Aurora リードレプリカは、ソース RDS for PostgreSQL DB インスタンスと同じマスターユーザ名、マスターパスワード、およびデータベース名を使用します。

ソース RDS for PostgreSQL DB インスタンスから Aurora リードレプリカに新しい Aurora DB クラスターを作成できます。そのためには、次のパラメータを指定して、RDS API オペレーション CreateDBCluster を使用します。

  • DBClusterIdentifier

    作成する DB クラスターの名前。

  • DBSubnetGroupName

    この DB クラスターに関連付ける DB サブネットグループの名前。

  • Engine=aurora-postgresql

    使用するエンジンの名前。

  • ReplicationSourceIdentifier

    ソース PostgreSQL DB インスタンスの Amazon リソースネーム (ARN)。Amazon RDS ARN の詳細については、アマゾン ウェブ サービス全般のリファレンス の「Amazon Relational Database Service (Amazon RDS)」を参照してください。

  • VpcSecurityGroupIds

    この DB クラスターに関連付ける Amazon EC2 VPC セキュリティグループのリスト。

RDS API オペレーションの CreateDBCluster 例を参照してください。

コンソールを使用して Aurora リードレプリカを作成すると、DB クラスターの Aurora リードレプリカのプライマリインスタンスが Amazon RDS によって自動的に作成されます。CLI を使用して Aurora リードレプリカを作成する場合、使用する DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリ インスタンスは、DB クラスターで作成される最初の DB インスタンスです。

DB クラスターにプライマリインスタンスを作成するには、次のパラメータを指定して、RDS API オペレーション CreateDBInstance を使用します。

  • DBClusterIdentifier

    DB クラスターの名前。

  • DBInstanceClass

    プライマリインスタンスに使用するための DB インスタンス名。

  • DBInstanceIdentifier

    プライマリインスタンスの名前。

  • Engine=aurora-postgresql

    使用するエンジンの名前。

RDS API オペレーションの CreateDBInstance 例を参照してください。

Aurora リードレプリカの昇格

移行が完了したら、Aurora リードレプリカをスタンドアロンの DB クラスターに昇格することができます。これで、Aurora リードレプリカのエンドポイントにクライアントアプリケーションを誘導できます。Aurora エンドポイントの詳細については、「Amazon Aurora 接続管理」を参照してください。昇格はすばやく完了します。昇格が完了するまで、プライマリ PostgreSQL DB インスタンスを削除したり、DB インスタンスと Aurora リードレプリカのリンクを解除する操作を行うことはできません。

Aurora リードレプリカを昇格する前に、ソース RDS for PostgreSQL DB インスタンスに対するトランザクションの書き込みをすべて停止します。その後、Aurora リードレプリカのレプリカラグが 0 になるまで待ちます。詳細については、「Aurora PostgreSQL レプリケーションのモニタリング」および「Amazon Aurora を使用した Amazon CloudWatch メトリクスのモニタリング」を参照してください。

Aurora リードレプリカを Aurora DB クラスターに昇格するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. Aurora リードレプリカの DB インスタンスを選択します。

  4. [アクション] で、[Promote (昇格)] を選択します。

  5. [リードレプリカの昇格] を選択します。

Aurora リードレプリカをスタンドアロン DB クラスターに昇格させるには、promote-read-replica-db-cluster AWS CLI コマンドを使用します。

Linux、macOS、Unix の場合:

aws rds promote-read-replica-db-cluster \ --db-cluster-identifier myreadreplicacluster

Windows の場合:

aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier myreadreplicacluster

Aurora リードレプリカをスタンドアロン DB クラスターに昇格するには、RDS API オペレーション PromoteReadReplicaDBCluster を使用します。

リードレプリカを昇格したら、以下の手順を実行して昇格が完了したことを確認します。

Aurora リードレプリカが昇格したことを確認するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインの [Events] を選択します。

  3. [イベント] ページで、昇格したクラスターの Promoted read replica cluster to a stand-alone database cluster イベントがあることを確認します。

昇格が完了したら、プライマリ RDS for PostgreSQL DB インスタンスと Aurora リードレプリカのリンクは解除されます。DB インスタンスは必要に応じて安全に削除できるようになります。

Amazon S3 データを Aurora PostgreSQL DB クラスターにインポートする

データは、Amazon S3 から、Aurora PostgreSQL DB クラスター に属するテーブルにインポートすることができます。そのために、Aurora PostgreSQL によって提供される aws_s3 PostgreSQL 拡張機能を使用します。

注記

Amazon S3 から Aurora PostgreSQL にインポートするには、データベースで PostgreSQL バージョン 10.7 以降を実行している必要があります。

Amazon S3 を使用したデータの保存の詳細については、Amazon Simple Storage Service 入門ガイドの「バケットの作成」を参照してください。Amazon S3 バケットにファイルをアップロードする手順については、Amazon Simple Storage Service 入門ガイドの「バケットへのオブジェクトの追加」を参照してください。

Amazon S3 データのインポートの概要

Amazon S3 バケットに保存されたデータを PostgreSQL データベーステーブルにインポートするには、次の手順を実行します。

S3 データを Aurora PostgreSQL にインポートするには

  1. 必要な PostgreSQL 拡張機能をインストールします。たとえば、aws_s3 および aws_commons などがあります。これを行うには psql を起動し、以下のコマンドを使用します。

    psql=> CREATE EXTENSION aws_s3 CASCADE; NOTICE: installing required extension "aws_commons"

    aws_s3 拡張機能には、Amazon S3 データのインポートに使用する aws_s3.table_import_from_s3 関数が含まれます。aws_commons 拡張機能は、追加のヘルパー機能を提供します。

  2. 使用するデータベーステーブルと Amazon S3 ファイルを特定します。

    aws_s3.table_import_from_s3 関数には、データをインポートする PostgreSQL データベーステーブルの名前が必要です。この関数は、インポートする Amazon S3 ファイルも指定する必要があります。この情報を提供するには、次の手順を実行します。

    1. データを入力する PostgreSQL データベーステーブルを特定します。たとえば、以下はこのトピックの例で使用されるサンプル t1 データベーステーブルです。

      psql=> CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));
    2. 次の情報を取得して、インポートする Amazon S3 ファイルを特定します。

      • バケット名 – バケットは、Amazon S3 オブジェクトまたはファイルのコンテナです。

      • ファイルパス – ファイルパスは、Amazon S3 バケット内のファイルの場所を指します。

      • AWS リージョン – AWS リージョンは、Amazon S3 バケットの場所を指します。たとえば、S3 バケットが 米国東部(バージニア北部) リージョンにある場合、us-east-1 を使用します。AWS リージョン名と関連する値のリストについては、「 リージョンとアベイラビリティーゾーン 」を参照してください。

      この情報を取得する方法については、Amazon Simple Storage Service 入門ガイドの「オブジェクトの表示」を参照してください。この情報は、AWS CLI コマンド aws s3 cp を使用して確認できます。情報が正しい場合、このコマンドは Amazon S3 ファイルのコピーをダウンロードします。

      aws s3 cp s3://sample_s3_bucket/sample_file_path ./
    3. aws_commons.create_s3_uri 関数を使用して、Amazon S3 ファイル情報を保持するための aws_commons._s3_uri_1 構造を作成します。この aws_commons._s3_uri_1 構造は、aws_s3.table_import_from_s3 関数への呼び出しパラメータとして使用します。

      psql の例については、次を参照してください。

      psql=> SELECT aws_commons.create_s3_uri( 'sample_s3_bucket', 'sample.csv', 'us-east-1' ) AS s3_uri \gset
  3. Amazon S3 ファイルへのアクセス許可を提供します。

    Amazon S3 ファイルからデータをインポートするには、Aurora PostgreSQL DB クラスターに、ファイルが含まれている Amazon S3 バケットへのアクセス許可を与える必要があります。これを行うには、AWS Identity and Access Management (IAM) ロールまたはセキュリティ認証情報を使用します。詳細については、Amazon S3 バケットへのアクセスを設定する を参照してください。

  4. aws_s3.table_import_from_s3 関数を呼び出して Amazon S3 データをインポートします。

    前の準備タスクが完了したら、aws_s3.table_import_from_s3 関数を使用して、Amazon S3 データをインポートします。詳細については、aws_s3.table_import_from_s3 関数を使用して Amazon S3 データをインポートする を参照してください。

Amazon S3 バケットへのアクセスを設定する

Amazon S3 ファイルからデータをインポートするには、Aurora PostgreSQL DB クラスターに、ファイルが含まれている Amazon S3 バケットへのアクセス許可を与える必要があります。次のトピックで説明する 2 つの方法のいずれかで、Amazon S3 バケットへのアクセスを提供します。

IAM ロールを使用した Amazon S3 バケットへのアクセス

Amazon S3 ファイルからデータをロードするには、ファイルが含まれる Amazon S3 バケットへのアクセス許可を Aurora PostgreSQL DB クラスターに与えます。こうすれば、追加の認証情報を管理したり、aws_s3.table_import_from_s3 関数呼び出しで提供したりする必要はありません。

これを行うには、Amazon S3 バケットへのアクセスを提供する IAM ポリシーを作成します。IAM ロールを作成して、ポリシーをロールにアタッチします。次に、IAM ロールを DB クラスターに割り当てます。

IAM ロールを使用して、Amazon S3 へのアクセス権を Aurora PostgreSQL DB クラスター に付与するには

  1. IAM ポリシーを作成します。

    ポリシーは、Aurora PostgreSQL DB クラスターに Amazon S3 へのアクセスを許可するバケットとオブジェクトのアクセス許可を付与します。

    ポリシーに、Amazon S3 バケットから Aurora PostgreSQL へのファイル転送を許可ための次の必須アクションを含めます。

    • s3:GetObject

    • s3:ListBucket

    ポリシーに次のリソースを含めて、Amazon S3 バケットとバケット内のオブジェクトを識別します。これは、Amazon S3 にアクセスするための Amazon リソースネーム (ARN) 形式を示しています。

    • arn:aws:s3:::your-s3-bucket

    • arn:aws:s3:::your-s3-bucket/*

    Aurora PostgreSQL の IAM ポリシーの作成の詳細については、IAM データベースアクセス用の IAM ポリシーの作成と使用 を参照してください。IAM ユーザーガイドの「チュートリアル: はじめてのカスタマー管理ポリシーの作成とアタッチ」も参照してください。

    以下の AWS CLI コマンドでは、これらのオプションを指定して、rds-s3-import-policy という名前の IAM ポリシーを作成します。このポリシーでは、your-s3-bucket という名前のバケットへのアクセス権が付与されます。

    注記

    ポリシーを作成したら、そのポリシーの Amazon リソースネーム (ARN) を書き留めます。ポリシーを IAM ロールにアタッチする場合、後続のステップで ARN が必要です。

    Linux、macOS、Unix の場合:

    aws iam create-policy \ --policy-name rds-s3-import-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }'

    Windows の場合:

    aws iam create-policy ^ --policy-name rds-s3-import-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }'
  2. IAM ロールを作成します。

    これを行うと、Aurora PostgreSQL がユーザーに代わってこの IAM ロールを引き受け、Amazon S3 バケットにアクセスできます。詳細については、IAM ユーザーガイドの「IAM ユーザーにアクセス許可を委任するロールの作成」を参照してください。

    以下の例は、AWS CLI コマンドを使用して、rds-s3-import-role という名前のロールを作成する例を示しています。

    Linux、macOS、Unix の場合:

    aws iam create-role \ --role-name rds-s3-import-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'

    Windows の場合:

    aws iam create-role ^ --role-name rds-s3-import-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. 作成した IAM ポリシーを、作成した IAM ロールにアタッチします。

    次の AWS CLI コマンドは、先ほど作成したポリシーを rds-s3-import-role という名前のロールにアタッチします。your-policy-arn を前の手順でメモしたポリシー ARN に置き換えます。

    Linux、macOS、Unix の場合:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-import-role

    Windows の場合:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-import-role
  4. DB クラスターに IAM ロールを追加します。

    これを行うには、以下で説明するように、AWS マネジメントコンソール または AWS CLI を使用します。

    注記

    IAM ロールを Aurora Serverless DB クラスターに関連付けることはできません。詳細については、「Amazon Aurora Serverless v1 の使用」を参照してください。

    また、使用するデータベースには、Amazon S3 データを Aurora PostgreSQL DB クラスターにインポートするに記載されている制限がないことを確認してください 。

コンソールを使用して PostgreSQL DB クラスターの IAM ロールを追加するには

  1. AWS マネジメントコンソール にサインインして、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. 詳細を表示するには、PostgreSQL DB クラスターの名前を選択します。

  3. [接続とセキュリティ] タブの [IAM ロールの管理] セクションで、このクラスターに [IAM ロールを追加] で追加するロールを選択します。

  4. [Feature] で、[s3Import] を選択します。

  5. [Add role] を選択します。

CLI を使用して PostgreSQL DB クラスターの IAM ロールを追加するには

  • 次のコマンドを使用して、my-db-cluster という名前の PostgreSQL DB クラスターにロールを追加します。your-role-arn を、以前のステップで書き留めたロール ARN に置き換えます。--feature-name オプションの値に s3Import を使用します。

    Linux、macOS、Unix の場合:

    aws rds add-role-to-db-cluster \ --db-cluster-identifier my-db-cluster \ --feature-name s3Import \ --role-arn your-role-arn \ --region your-region

    Windows の場合:

    aws rds add-role-to-db-cluster ^ --db-cluster-identifier my-db-cluster ^ --feature-name s3Import ^ --role-arn your-role-arn ^ --region your-region

Amazon RDS API を使用して PostgreSQL DB クラスターの IAM ロールを追加するには、AddRoleToDBCluster オペレーションを呼び出します。

セキュリティ認証情報を使用して Amazon S3 バケットにアクセスする

必要に応じて、IAM ロールでアクセスを提供する代わりに、セキュリティ認証情報を使用して Amazon S3 バケットへのアクセスを提供できますこれを行うには、aws_s3.table_import_from_s3 関数呼び出しで credentials パラメータを使用します。

credentials パラメータは、型の構造体 aws_commons._aws_credentials_1 で、AWS 認証情報を含みます。aws_commons.create_aws_credentials 関数を使用して、aws_commons._aws_credentials_1 構造でアクセスキーおよびシークレットキーを設定します。以下に例を示します。

psql=> SELECT aws_commons.create_aws_credentials( 'sample_access_key', 'sample_secret_key', '') AS creds \gset

aws_commons._aws_credentials_1 構造を作成したら、以下に示すように、aws_s3.table_import_from_s3 関数を credentials パラメータと共に使用してデータをインポートします。

psql=> SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', :'creds' );

または、aws_commons.create_aws_credentials 関数の呼び出しのインラインを aws_s3.table_import_from_s3 関数の呼び出し内に含めることもできます。

psql=> SELECT aws_s3.table_import_from_s3( 't', '', '(format csv)', :'s3_uri', aws_commons.create_aws_credentials('sample_access_key', 'sample_secret_key', '') );

Amazon S3 へのアクセスのトラブルシューティング

Amazon S3 ファイルデータをインポートしようとしたときに接続の問題が発生した場合は、次の推奨事項を参照してください。

aws_s3.table_import_from_s3 関数を使用して Amazon S3 データをインポートする

aws_s3.table_import_from_s3 関数を呼び出して Amazon S3 データをインポートします。

注記

以下の例では、IAM ロールメソッドを使用して、Amazon S3 バケットへのアクセス権を付与します。したがって、aws_s3.table_import_from_s3 関数呼び出しには認証情報パラメーターは含まれません。

psql を使用した従来の PostgreSQL の例を以下に示します。

psql=> SELECT aws_s3.table_import_from_s3( 't1', '', '(format csv)', :'s3_uri' );

パラメータは次のとおりです。

  • t1 – データのコピー先となる PostgreSQL DB クラスター内のテーブルの名前。

  • '' – データベーステーブル内の列のオプションのリスト。S3 データをコピーする列とテーブル列を指定するには、このパラメータを使用します。列を指定しない場合は、すべての列がテーブルにコピーされます。列のリストの使用例については、カスタム区切り文字を使用する Amazon S3 ファイルをインポートする を参照してください。

  • (format csv) – PostgreSQL COPY 引数。このコピープロセスでは、PostgreSQL COPY コマンドの引数と形式を使用します。前述の例では、COPY コマンドは、カンマ区切り値 (CSV) ファイル形式を使用してデータをコピーします。

  • s3_uri – Amazon S3 ファイルを識別する情報を含む構造。aws_commons.create_s3_uri 関数を使用して s3_uri 構造を作成する例については、「Amazon S3 データのインポートの概要」を参照してください。

戻り値はテキストです。この関数の完全なリファレンスについては、aws_s3.table_import_from_s3 を参照してください。

以下の例は、Amazon S3 データのインポート時にさまざまな種類のファイルを指定する方法を示します。

カスタム区切り文字を使用する Amazon S3 ファイルをインポートする

以下の例では、カスタム区切り文字を使用するファイルのインポート方法を示します。また、aws_s3.table_import_from_s3 関数の column_list パラメータを使用して、データベースのデータを置く場所を制御する方法を示します。

この例では、次の情報が Amazon S3 ファイル内のパイプ区切りの列に編成されているとします。

1|foo1|bar1|elephant1 2|foo2|bar2|elephant2 3|foo3|bar3|elephant3 4|foo4|bar4|elephant4 ...

カスタム区切り文字を使用するファイルをインポートするには

  1. インポートされたデータのテーブルをデータベースに作成します。

    psql=> CREATE TABLE test (a text, b text, c text, d text, e text); CREATE TABLE
  2. データを Amazon S3 からインポートするには、次の形式の aws_s3.table_import_from_s3 関数を使用します。

    または、aws_commons.create_s3_uri 関数の呼び出しのインラインを aws_s3.table_import_from_s3 関数の呼び出し内に含めて、ファイルを指定することもできます。

    psql=> SELECT aws_s3.table_import_from_s3( 'test', 'a,b,d,e', 'DELIMITER ''|''', aws_commons.create_s3_uri('sampleBucket', 'pipeDelimitedSampleFile', 'us-east-2') );

データが、次の列のテーブル内に入りました。

psql=> SELECT * FROM test; a | b | c | d | e ---+------+---+---+------+----------- 1 | foo1 | | bar1 | elephant1 2 | foo2 | | bar2 | elephant2 3 | foo3 | | bar3 | elephant3 4 | foo4 | | bar4 | elephant4

Amazon S3 圧縮 (gzip) ファイルをインポートする

以下の例では、gzip で圧縮されているファイルを Amazon S3 からインポートする方法を示します。

ファイルに次の Amazon S3 メタデータが含まれていることを確認します。

  • キー: Content-Encoding

  • 値: gzip

これらの値を Amazon S3 メタデータに追加する方法の詳細については、Amazon Simple Storage Service コンソールユーザーガイドの「S3 オブジェクトにメタデータを追加する方法」を参照してください。

以下に示されているように、gzip ファイルを Aurora PostgreSQL DB クラスターにインポートします。

psql=> CREATE TABLE test_gzip(id int, a text, b text, c text, d text); CREATE TABLE psql=> SELECT aws_s3.table_import_from_s3( 'test_gzip', '', '(format csv)', 'myS3Bucket', 'test-data.gz', 'us-east-2' );

エンコードされた Amazon S3 ファイルをインポートする

以下の例では、Windows-1252 でエンコードされているファイルを Amazon S3 からインポートする方法を示します。

psql=> SELECT aws_s3.table_import_from_s3( 'test_table', '', 'encoding ''WIN1252''', aws_commons.create_s3_uri('sampleBucket', 'SampleFile', 'us-east-2') );

関数リファレンス

aws_s3.table_import_from_s3

Amazon S3 データを Aurora PostgreSQL テーブルにインポートします。aws_s3 拡張機能には、aws_s3.table_import_from_s3 関数が含まれます。戻り値はテキストです。

構文

必須のパラメータは、table_namecolumn_listoptions です。これらのパラメータを使用して、データベースを特定し、データをテーブルにコピーする方法を指定します。

また、次のパラメータを使用することもできます。

  • s3_info パラメータは、インポートする Amazon S3 ファイルを指定します。このパラメータを使用する場合、PostgreSQL DB クラスターの IAM ロールを使用して、Amazon S3 へのアクセス権を付与します。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1 )
  • credentials パラメータは、Amazon S3 にアクセスするための認証情報を指定します。このパラメータを使用する場合、IAM ロールは使用しません。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, s3_info aws_commons._s3_uri_1, credentials aws_commons._aws_credentials_1 )
パラメータ
table_name

データのインポート先となる PostgreSQL データベーステーブルの名前を含む必須のテキスト文字列。

column_list

データをコピーする PostgreSQL データベーステーブル列のオプションリストを含む必須のテキスト文字列。文字列が空の場合、テーブルの列がすべて使用されます。例については、「カスタム区切り文字を使用する Amazon S3 ファイルをインポートする」を参照してください。

options

PostgreSQL COPY コマンドの引数を含む必須のテキスト文字列。これらの引数は PostgreSQL のテーブルにデータをコピーする方法を指定します。詳細については、「PostgreSQL COPY ドキュメント」を参照してください。

s3_info

S3 オブジェクトに関する以下の情報を含む aws_commons._s3_uri_1 複合型。

  • bucket – ファイルを含む Amazon S3 バケット名。

  • file_path – Amazon S3ファイルのパスを含むファイル名。

  • region – ファイルがある AWS リージョン。AWS リージョン名と関連する値のリストについては、「 リージョンとアベイラビリティーゾーン 」を参照してください。

認証情報

インポートオペレーションに使用する次の認証情報を含む aws_commons._aws_credentials_1 複合型。

  • アクセスキー

  • シークレットキー

  • セッショントークン

aws_commons._aws_credentials_1 複合構造を作成する方法については、「aws_commons.create_aws_credentials」を参照してください。

代替構文

テストしやすいように、s3_info パラメータや credentials パラメータではなく、拡張されたパラメータセットを使用することができます。以下は、aws_s3.table_import_from_s3 関数の構文のバリエーションです。

  • Amazon S3 ファイルを識別するために s3_info パラメータを使用する代わりに、bucketfile_path、および region パラメータの組み合わせを使用します。この関数の形式を使用する場合は、PostgreSQL DB インスタンスの IAM ロールを使用して、Amazon S3 へのアクセス権を付与します。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text )
  • Amazon S3 アクセスを指定するために credentials パラメータを使用する代わりに、access_keysession_key、および session_token パラメータの組み合わせを使用します。

    aws_s3.table_import_from_s3 ( table_name text, column_list text, options text, bucket text, file_path text, region text, access_key text, secret_key text, session_token text )
代替パラメータ
bucket

ファイルを含む Amazon S3 バケットの名前を含むテキスト文字列。

file_path

ファイルのパスを含むAmazon S3ファイル名を含むテキスト文字列。

リージョン

ファイルがある AWS リージョンを含むテキスト文字列。AWS リージョン名と関連する値のリストについては、「 リージョンとアベイラビリティーゾーン 」を参照してください。

access_key

インポートオペレーションに使用するアクセスキーを含むテキスト文字列。デフォルトは NULL です。

secret_key

インポートオペレーションに使用するシークレットキーを含むテキスト文字列。デフォルトは NULL です。

session_token

(オプション) インポートオペレーションに使用するセッションキーを含むテキスト文字列。デフォルトは NULL です。

aws_commons.create_s3_uri

Amazon S3 ファイル情報を保持するように、aws_commons._s3_uri_1 構造を作成します。aws_commons.create_s3_uri 関数の結果は、aws_s3.table_import_from_s3 関数の s3_info パラメータで使用します。

構文
aws_commons.create_s3_uri( bucket text, file_path text, region text )
パラメータ
bucket

ファイルの Amazon S3 バケット名を含む必須のテキスト文字列。

file_path

ファイルのパスを含む Amazon S3 ファイル名を含む必須テキスト文字列。

リージョン

ファイルがある AWS リージョンを含む必須のテキスト文字列。AWS リージョン名と関連する値のリストについては、「 リージョンとアベイラビリティーゾーン 」を参照してください。

aws_commons.create_aws_credentials

aws_commons._aws_credentials_1 構造でアクセスキーとシークレットキーを設定します。aws_commons.create_aws_credentials 関数の結果は、aws_s3.table_import_from_s3 関数の credentials パラメータで使用します。

構文
aws_commons.create_aws_credentials( access_key text, secret_key text, session_token text )
パラメータ
access_key

Amazon S3 ファイルのインポートに使用するアクセスキーを含む必須のテキスト文字列。デフォルトは NULL です。

secret_key

Amazon S3 ファイルのインポートに使用するシークレットキーを含む必須のテキスト文字列。デフォルトは NULL です。

session_token

Amazon S3 ファイルのインポートに使用するセッショントークンを含む必須のテキスト文字列。デフォルトは NULL です。オプションの session_token を指定した場合は、一時的な認証情報を使用することができます。