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

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

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

RDS PostgreSQL DB インスタンスからの移行

データは、Amazon RDS PostgreSQL DB スナップショットから Aurora PostgreSQL DB クラスターに直接移行できます。詳細については、「RDS PostgreSQL DB スナップショットを Aurora PostgreSQL DB クラスターに移行する」を参照してください。

また、PostgreSQL DB インスタンスの Aurora PostgreSQL リードレプリカを作成して、RDS PostgreSQL DB インスタンスから移行することもできます。PostgreSQL DB インスタンスと Aurora PostgreSQL リードレプリカの間のレプリカラグがゼロになったら、レプリケーションを停止することができます。この時点で、Aurora リードレプリカを読み書き用のスタンドアロン Aurora PostgreSQL DB クラスターにすることができます。詳細については、「Aurora リードレプリカを使用した、RDS PostgreSQL DB インスタンスから Aurora PostgreSQL DB クラスターへのデータの移行」を参照してください。

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

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

Amazon S3 データのインポート

移行するには、Amazon S3 から、RDS PostgreSQL DB インスタンスの Aurora PostgreSQL DB クラスターに属するテーブルにインポートします。詳細については、「Amazon S3 データを Aurora PostgreSQL DB クラスターにインポートする」を参照してください。

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

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

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

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

コンソールを使用して 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. [スナップショット] ページで、Aurora PostgreSQL DB クラスターに移行するスナップショットを選択します。

  4. [Migrate Database] を選択します。

  5. [Migrate Database] ページで以下の値を設定します。

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

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

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

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

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

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

      • 各 AWS リージョンの各 AWS アカウントのすべての DB インスタンスの中で一意である必要があります。

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

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

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

      それ以外の場合は、[Create a new subnet group (新しいサブネットグループの作成)] を選択することにより、Amazon RDS でサブネットグループを作成できます。

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

      注記

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

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

    • [データベースのポート]: 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. [Instances] を選択して、矢印アイコンを選択して DB クラスターの詳細を表示し、移行の進行状況をモニタリングします。詳細ページで、DB クラスターのプライマリインスタンスへの接続に使用されているクラスターエンドポイントがわかります。Aurora PostgreSQL DB クラスターとの接続の詳細については、「Amazon Aurora DB クラスターへの接続」を参照してください。

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

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

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

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

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

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

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

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

注記

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

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

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

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

メトリクス 説明

FreeStorageSpace

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

単位: バイト

OldestReplicationSlotLag

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

単位: メガバイト

RDSToAuroraPostgreSQLReplicaLag

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

TransactionLogsDiskUsage

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

単位: メガバイト

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

Aurora リードレプリカの作成

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

コンソール

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

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

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

  3. Aurora リードレプリカのソースとして使用する 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] を選択します。

AWS CLI

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

マスターユーザー名、マスターパスワード、またはデータベース名を指定しないでください。Aurora リードレプリカは、ソース 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 API

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

ソース 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 セキュリティグループのリスト。

以下の例では、myreadreplicacluster という名前の DB クラスターをソース PostgreSQL DB インスタンスから作成します。このクラスターの ARN は mysqlARN に設定されています。クラスターは、mysubnetgroup という名前の DB サブネットグループと、mysecuritygroup という名前の VPC セキュリティグループに関連付けられています。

https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBCluster &DBClusterIdentifier=myreadreplicacluster &DBSubnetGroupName=mysubnetgroup &Engine=aurora-postgresql &ReplicationSourceIdentifier=mysqlARN &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &VpcSecurityGroupIds=mysecuritygroup &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20150927/us-east-1/rds/aws4_request &X-Amz-Date=20150927T164851Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=6a8f4bd6a98f649c75ea04a6b3929ecc75ac09739588391cd7250f5280e716db

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

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

  • DBClusterIdentifier

    DB クラスターの名前。

  • DBInstanceClass

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

  • DBInstanceIdentifier

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

  • Engine=aurora-postgresql

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

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

https://rds.us-east-1.amazonaws.com/ ?Action=CreateDBInstance &DBClusterIdentifier=myreadreplicacluster &DBInstanceClass=myinstanceclass &DBInstanceIdentifier=myreadreplicainstance &Engine=aurora-postgresql &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140424/us-east-1/rds/aws4_request &X-Amz-Date=20140424T194844Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=bee4aabc750bf7dad0cd9e22b952bd6089d91e2a16592c2293e532eeaab8bc77

Aurora リードレプリカの昇格

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

Aurora リードレプリカを昇格する前に、ソース PostgreSQL DB インスタンスに対するトランザクションの書き込みをすべて停止します。その後、Aurora リードレプリカのレプリカラグが 0 になるまで待ちます。

リードレプリカを昇格したら、昇格が完了したことを確認します。そのためには、ナビゲーションペインの [インスタンス] を選択し、リードレプリカに対する [Promoted Read Replica cluster to stand-alone database cluster (スタンドアロンデータベースクラスターへ昇格したリードレプリカクラスター)] イベントが存在することを確認します。昇格が完了したら、プライマリ PostgreSQL DB インスタンスと Aurora リードレプリカのリンクは解除されます。DB インスタンスは必要に応じて安全に削除できるようになります。

コンソール

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

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

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

  3. Aurora リードレプリカの DB インスタンスを選択し、[アクション] の [昇格] を選択します。

  4. [Promote Read Replica] を選択します。

AWS CLI

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

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

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 を使用します。

コンソールを使用して 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 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 関数が含まれます。

構文

3 つの必須のパラメータは、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 を指定した場合は、一時的な認証情報を使用することができます。