コネクタと接続 > データ取り込みおよびレプリケーション接続プロパティ > Amazon Redshift V2接続のプロパティ
  

Amazon Redshift V2接続のプロパティ

Amazon Redshiftとの間でデータの読み取りまたは書き込みを行うためのAmazon Redshift V2接続を作成します。

認証の準備

Amazon Redshift V2接続でデフォルト認証およびAssumeRole認証タイプによるRedshift IAM認証を設定し、Amazon Redshiftに接続できます。さらに、S3リソースにアクセスするには、S3ステージングの前提条件を満たす必要があります。必要に応じて、Amazon Redshiftに接続するための暗号化を設定することもできます。
注:
アプリケーション取り込みとレプリケーションタスクとデータベース取り込みとレプリケーションタスクは、EC2インスタンスを使用してロールを引き受けない限り、AssumeRoleによるRedshift IAM認証をサポートしません。
認証、ステージング、および暗号化の前提条件の概要については、次の各セクションを参照してください。

認証の前提条件

開始する前に、Amazon Redshiftに登録されたユーザーアカウントが必要です。
次の表に示すように、設定する認証タイプに応じて、AWSコンソールでAmazon Redshiftアカウントから最低限必要な詳細を取得します。
デフォルト認証
引き受けロールによるRedshift IAM認証
  • - JDBC URL
  • - ユーザー名
  • - パスワード
  • - JDBC URL
  • - ユーザー名
  • - データベース名
  • - クラスタ識別子
  • - Redshift IAMロールARN*
*Redshift IAMロールARNを使用するには、必要な信頼ポリシーを使用してRedshift IAMロールARNを設定し、Amazon Redshiftにアクセスするための一時的なセキュリティ資格情報を生成します。
詳細については、Amazon Redshiftの引き受けロールの設定を参照してください。

ステージングの前提条件

Amazon S3でステージングを有効にし、データの読み取りまたは書き込み時にS3リソースにアクセスするには、Amazon Redshift V2接続でステージングプロパティを設定する必要があります。
次の表は、デフォルト認証と、AssumeRole認証によるRedshift IAM認証の両方について接続で設定できるステージングオプションと、S3ステージングに必要な詳細を取得するために実行する必要があるタスクをまとめたものです。
S3ステージングオプション
タスク
S3ステージングにアクセスするためにS3 IAMロールを引き受けるIAMユーザーの一時的な資格情報を生成します。
AWSの設定
IAMユーザーがS3 IAMロールを引き受け、一時的な資格情報を生成できるようにします。
手順については、次の参考資料を参照してください。
Redshift V2接続設定
  • - S3 IAMロールARNの値を入力します。
  • - [S3アクセスキーID][S3シークレットアクセスキー]の値を入力します。
S3ステージングにアクセスするためにS3 IAMロールを引き受けるEC2インスタンスの一時的なセキュリティ資格情報を生成します。
AWSの設定
S3 IAMロールを引き受けてS3ステージング用の一時的な資格情報を生成するようにEC2インスタンスを定義します。
Redshift V2接続設定
次の最小限必要なプロパティを設定します。
  • - [ロールの引き受けにEC2ロールを使用]を有効にします。
  • - S3 IAMロールARNの値を入力します。
S3バケットへのアクセス権を持つIAMユーザーのS3アクセスキーとシークレットアクセスキーを生成します。
AWSの設定
資格情報を生成するには、次のタスクを実行します。
  1. 1最小限のAmazon IAMポリシーの作成
  2. 2IAMユーザーを作成し、そのユーザーにポリシーを割り当てて、AWSコンソールでS3アクセスキーIDとS3シークレットアクセスキーを生成します。
  3. IAMユーザーの作成方法とキーの生成方法の詳細については、AWSのマニュアルを参照してください。
Redshift V2接続設定
[S3アクセスキーID][S3シークレットアクセスキー]の値を入力します。
IAM認証の設定
AWSの設定
EC2インスタンスがあり、キーを指定したり、IAMロールARNを使用したりしない場合は、S3バケットにアクセスできるEC2に最小限のポリシーを割り当てます。
詳細については、IAM認証の設定を参照してください。
Redshift V2接続設定
この場合、接続でステージングプロパティを有効にしたり指定したりする必要はありません。

暗号化の前提条件

ステージング時のデフォルト認証とAssumeRoleによるRedshift IAM認証にクライアントサイド暗号化とサーバーサイド暗号化を設定するには、暗号化を有効にするを参照してください。

最小限のAmazon IAMポリシーの作成

Amazon S3でデータをステージングするには、S3リソースにアクセスするために最低限必要な権限を持つIAMポリシーを作成する必要があります。
ポリシーをIAMユーザーにアタッチし、S3リソースにアクセスするためのS3アクセスキーIDとS3シークレットアクセスキーを生成できます。または、EC2インスタンスがある場合は、EC2インスタンスにステージング用のS3バケットにアクセスするための最小限のポリシーを割り当てることもできます。
ポリシーには、次の最低限必要な権限を設定する必要があります。
次のサンプルAmazon IAMポリシーを使用できます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads"
],
"Resource": [
"arn:aws:s3:::<bucket_name>/*",
"arn:aws:s3:::<bucket_name>"
]
}
]
}
注:
[テスト接続]はユーザーに割り当てられたIAMポリシーを検証しません。したがって、ユーザーに割り当てられたポリシーが有効であることを確認してください。

IAM認証の設定

AWS Identity and Access Management(IAM)認証を設定して、EC2ロールおよびRedshiftロールに最小限のAmazon IAMポリシーを作成します。
手順については、次のHow-Toライブラリの記事を参照してください: Configuring AWS IAM Authentication

Amazon Redshiftの引き受けロールの設定

Redshift IAMロールARNを使用するには、必要な信頼ポリシーを使用してRedshift IAMロールARNを設定し、Amazon Redshiftにアクセスするための一時的なセキュリティ資格情報を生成します。
次のいずれかのオプションを使用して、一時的なセキュリティ資格情報を生成できます。
AWSの設定
接続の詳細
オプション1: IAMユーザーを有効にするようにAssumeRoleを設定します。
IAMユーザーにAssumeRoleを使用するには、以下のIAMユーザーの詳細を指定します。
  • - RedshiftアクセスキーID
  • - Redshiftシークレットアクセスキー
  • - Redshift IAMロールARN
オプション2: EC2インスタンスを定義して、Redshift IAMロールを引き受けます。
Amazon EC2のAssumeRoleを使用するには、次のようにします。
  • - [Redshift IAMロールARN]値を指定します。
  • - [ロールの引き受けにEC2ロールを使用]チェックボックスをオンにします。
アプリケーション取り込みとレプリケーションタスクおよびデータベース取り込みとレプリケーションタスクでは、オプション2を使用して、EC2ロールがRedshift IAMロールを引き受けるようにします。
AssumeRoleの設定の詳細については、次のHow-Toライブラリの記事を参照してください: Configure AssumeRole authentication for Amazon Redshift V2 Connector

Amazon S3ステージングの引き受けロールの設定

S3ステージングのAssumeRole認証を設定するには、AWSコンソールでIAMユーザーとIAMロールに最小限の権限ポリシーと信頼ポリシーをアタッチする必要があります。
IAMユーザーは、AssumeRoleを使用して、Amazon S3リソースに一時的にアクセスできます。Amazon S3リソースの引き受けロールの使用方法の詳細については、次のHow-Toライブラリの記事も参照してください: Using an assume role for Amazon S3 resources
Amazon S3ステージング用のAssumeRoleを使用して一時的なセキュリティ資格情報を生成すると、Amazon S3ステージングバケットにアクセスできます。EC2インスタンスがIAMロールを引き受けてS3ステージングバケットに安全にアクセスできるようにする場合は、AssumeRole for EC2インスタンスを使用して生成された一時的なセキュリティ資格情報を使用します。
注:
一時的なセキュリティ資格情報を生成する場合は、AWSアカウントのルートユーザー資格情報を使用しないでください。一時的なセキュリティ資格情報を生成するには、IAMユーザーの資格情報を使用する必要があります。
要件に基づいて一時的なセキュリティ資格情報を生成します。

暗号化を有効にする

Amazon S3でデータをステージングするために、Amazon Redshift V2接続でサーバーサイド暗号化を有効にすることができます。
サーバーサイド暗号化を有効にするには、AWS Key Management Service(AWS KMS)で管理される顧客マスタキーを作成します。
Amazon S3ステージングバケットが存在するリージョンの顧客マスタキーIDを生成します。
顧客マスタキーの生成の詳細については、AWSのドキュメントを参照してください。
カスタママスタキーを使用した暗号化を有効にするには、最小限のKMSポリシーを作成する必要があります。Amazon Redshift V2接続を作成するときに、顧客マスタキーIDを指定できます。

AWS KMSを使用するための最小限のポリシーの作成

AWS Key Management Service(AWS KMS)で管理された顧客マスタキーを使用し、KMSを使用した暗号化を有効にするには、KMSポリシーを作成する必要があります。
KMSを使用した暗号化を有効にするには、次の操作を実行します。
サンプルポリシー:
{
"Version":"2012-10-17",
"Statement":[
{ "Effect":"Allow",
"Action":
[ "kms:GenerateDataKey", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*" ],
"Resource": ["arn:aws:kms:region:account:key/<KMS_key>"]
}
]
}
KMSを設定し、中国地域のAmazon S3エンドポイントにアクセスする場合は、次のサンプルポリシーを使用します。
{
"Version":"2012-10-17",
"Statement":[
{ "Effect":"Allow",
"Action":[ "kms:GenerateDataKey", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*" ],
"Resource": ["arn:aws-cn:kms:region:account:key/<KMS_key>"]
}
]
}

Amazon Redshift への接続

Amazon Redshiftに接続するようにAmazon Redshift V2接続プロパティを設定してみましょう。

始める前に

開始する前に、設定する認証タイプに基づいてAmazon Redshiftアカウントから情報を取得する必要があります。
接続を設定する前に、認証の準備を参照して認証要件を確認してください。

接続の詳細

次の表に、基本接続プロパティを示します。
プロパティ
説明
接続名
接続の名前。各接続名は組織内で一意である必要があります。接続名には、英数字、スペース、および次の特殊文字を含めることができます。_.+ -。最大長は255文字です。
説明
接続の説明。最大長は4000文字です。
シークレットコンテナの使用
組織に対して設定されているSecrets Managerにこの接続の機密資格情報を保存します。
このプロパティは、組織にSecrets Managerが設定されている場合にのみ表示されます。
このプロパティは、データ取り込みおよびレプリケーションデータアクセス管理サービスではサポートされていません。
接続でシークレットコンテナを有効にすると、Secure AgentがSecrets Managerからどの資格情報を取得するかを選択できます。このオプションを無効にした場合、資格情報は組織の設定方法に応じてリポジトリまたはローカルSecure Agentに保存されます。
注:
この接続を使用してプッシュダウンまたはプロキシサービスを介してデータアクセスポリシーを適用する場合、シークレットコンテナ設定オプションを使用することはできません。
Secrets Managerを設定および使用する方法については、Secrets manager configurationを参照してください。
ランタイム環境
タスクを実行するランタイム環境の名前。
アプリケーション取り込みとレプリケーションタスクとデータベース取り込みとレプリケーションタスクでは、Secure Agentまたはサーバーレスランタイム環境を使用できます。タスクには、サーバーレス使用がサポートされているソースタイプが必要です。ファイル取り込みおよびレプリケーションタスクには、Secure Agentを使用します。ホステッドエージェントまたはエラスティックランタイム環境で、アプリケーション取り込みとレプリケーションタスク、データベース取り込みとレプリケーションタスク、またはファイル取り込みおよびレプリケーションタスクを実行することはできません。

認証タイプ

Amazon Redshiftにアクセスするために、デフォルトの認証タイプおよびRedshift IAM AssumeRole認証タイプを設定できます。
注:
アプリケーション取り込みとレプリケーションタスクおよびデータベース取り込みとレプリケーションタスクは、EC2インスタンスが定義されていないRedshift IAM AssumeRole認証をサポートしていません。
必要な認証方法を選択し、認証固有のパラメータを設定します。

プロキシサーバーの設定

組織で送信プロキシサーバーを使用してインターネットに接続している場合、Secure Agentはプロキシサーバー経由でInformatica® Intelligent Data Management CloudIDMC)に接続します。
WindowsおよびLinuxでプロキシサーバーを使用するようにSecure Agentを設定できます。認証されていないプロキシサーバーのみを使用できます。
注:
Secure Agentは、Amazon S3に接続してデータをステージングするときのみプロキシサーバーを使用し、Amazon Redshiftに接続するときは使用しません。
Secure Agentのプロキシの設定を行うには、次のタスクを実行します。
Secure Agent Managerで設定したプロキシ設定は接続やマッピングを作成する際に適用され、JVMオプションで設定したプロキシ設定はマッピングを実行する際に適用されます。

Amazon Redshiftとのプライベート通信

トラフィックを公共のインターネットに公開しないようにする場合は、AWSコンソールでゲートウェイエンドポイントを設定することで、Amazon Redshiftとのプライベート通信を有効にすることができます。
Amazon Redshiftとのプライベート接続を確立するには、Secure AgentがAWS Virtual Private Cloud(VPC)のサブネットの一部であることを確認します。ゲートウェイエンドポイントを作成し、Amazon S3データをAmazon Redshiftにステージングできます。
Amazon Redshiftに接続するためのプライベート通信を設定するには、次のタスクを実行する必要があります。
これにより、Amazon Redshift V2接続プロパティでゲートウェイエンドポイントを指定できるようになります。
詳細については、「Configuring private communication with Amazon Redshift using the Amazon Redshift V2 Connector」を参照してください。

Amazon S3とのプライベート通信

ステージング用にAmazon S3とのプライベート通信を確立するようにAmazon Redshift V2接続を設定できます。
AWSコンソールでインタフェースエンドポイントを設定して、Amazon S3でデータをステージングするためのプライベート通信を有効にする必要があります。AWS S3 VPCエンドポイントを使用すると、インターネットに接続せずにS3要求をAmazon S3サービスにルーティングすることができます。
Amazon S3とのプライベート通信を確立する場合は、次のガイドラインを考慮してください。