コネクタと接続 > データ取り込みおよびレプリケーション接続プロパティ > 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接続でクライアントサイド暗号化とサーバーサイド暗号化を有効にすることができます。
Amazon Redshift V2接続で設定する暗号化のタイプに応じた前提条件を満たします。
クライアントサイド暗号化
クライアントサイド暗号化には、Base64形式の256ビットAES暗号化キーが必要です。暗号化キーは、サードパーティ製ツールを使用して生成できます。
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文字です。
タイプ
Amazon Redshift V2
ランタイム環境
タスクを実行するランタイム環境の名前。
ホステッドエージェントまたはサーバーレスランタイム環境では、アプリケーション取り込みとレプリケーションタスク、データベース取り込みとレプリケーションタスク、ファイル取り込みとレプリケーションタスク、ストリーミング取り込みとレプリケーションタスクを実行することはできません。

認証タイプ

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

プロキシサーバーの設定

組織で送信プロキシサーバーを使用してインターネットに接続する場合、Secure Agentは、そのプロキシサーバー経由でInformatica Intelligent Cloud Servicesに接続します。
WindowsおよびLinuxでプロキシサーバーを使用するようにSecure Agentを設定できます。認証されていないプロキシサーバーのみを使用できます。
Secure Agentのプロキシの設定を行うには、次のいずれかの方法を使用します。
注: HTTPプロキシとSOCKSプロキシの両方を有効にすると、デフォルトではSOCKSプロキシが使用されます。SOCKSプロキシの代わりにHTTPプロキシを使用する場合は、システムプロパティで[DisableSocksProxy]プロパティの値をtrueに設定します。

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とのプライベート通信を確立する場合は、次のガイドラインを考慮してください。