

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# ネットワークタスク
<a name="networking-tasks"></a>

Redshift データベースへの接続のカスタマイズなどのネットワークタスクを行うことができます。これは、セキュリティやその他の目的でトラフィックを制御するときに実施することをお勧めします。また、Redshift リソースのカスタムドメイン名の設定など、DNS 関連のタスクを実行することもできます。これらの設定タスクは、Amazon Redshift でプロビジョニングされたクラスター、または Amazon Redshift Serverless ワークグループを使用している場合に実行できます。

**Topics**
+ [クライアント接続のカスタムドメイン名](connecting-connection-CNAME.md)
+ [RedShift が管理する VPC エンドポイント](managing-cluster-cross-vpc.md)
+ [VPC での Redshift リソース](managing-clusters-vpc.md)
+ [拡張 VPC ルーティングを使用して Redshift でネットワークトラフィックを制御する](enhanced-vpc-routing.md)

# クライアント接続のカスタムドメイン名
<a name="connecting-connection-CNAME"></a>

 Amazon Redshift クラスターおよび Amazon Redshift Serverless ワークグループの両方用に、カスタムドメイン名 (カスタム URL とも呼ばれます) を作成できます。SQL クライアント接続をエンドポイントにルーティングする、読みやすい DNS レコードです。既存のクラスターやワークグループにいつでも設定できます。これにはいくつかの利点があります。
+ カスタムドメイン名は、クラスター名またはワークグループ名とリージョンが通常含まれているデフォルトの URL よりも単純な文字列です。簡単に思い出し、使用できます。
+ フェイルオーバーの場合などにトラフィックを新しいクラスターやワークグループにすばやくルーティングできます。これにより、クライアントは再接続時に設定を変更する必要がなくなります。接続は、中断を最小限に抑えながら、一元的に再ルーティングできます。
+ サーバー名などのプライベートな情報を接続 URL で共有しないように、カスタム URL では非表示にすることができます。

CNAME を使用してカスタムドメイン名を設定する場合、Amazon Redshift の追加料金は発生しません。新しいドメイン名を作成すると、DNS プロバイダーからドメイン名の料金が請求される場合がありますが、通常この費用は少額です。

# ドメイン名の登録
<a name="connecting-connection-CNAME-certificates"></a>

 カスタムドメイン名の設定は、DNS プロバイダーへのドメイン名の登録や証明書の作成など、いくつかのタスクで構成されます。これらのタスクを実行したら、Amazon Redshift コンソールまたは Amazon Redshift Serverless コンソールでカスタムドメイン名を設定するか、AWS CLI で設定します。

Amazon Redshift でカスタムドメイン名を設定するには、登録されたインターネットドメイン名が必要です。Amazon Route 53 を使用するか、サードパーティーのドメイン登録プロバイダーを使用して、インターネットドメインを登録できます。これらのタスクは Amazon Redshift コンソールの外部で行われます。カスタムドメイン作成の残りの手順を進めるには、登録済みドメインがあることが前提です。

**注記**  
プロビジョニング済みのクラスターを使用する場合は、カスタムドメイン名の設定手順を実行する前に、再配置を有効にしておく必要があります。詳細については、「[クラスターの再配置](managing-cluster-recovery.md)」を参照してください。Amazon Redshift Serverless では、この手順は必要ありません。

カスタムドメイン名には通常、ルートドメインとサブドメインが含まれます (例: `mycluster.example.com`)。設定するには、以下のステップを実行します。

**カスタムドメイン名の DNS CNAME エントリを作成する**

1. ルートドメイン、例えば `example.com` を登録します。必要に応じて、既存のドメインを選択できます。カスタム名は、特定の文字に対する制限やその他の命名検証によって制限される場合があります。Route 53 を使用してドメインを登録する方法の詳細については、「[新しいドメインの登録](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)」を参照してください。

1. カスタムドメイン名から、クラスターまたはワークグループの Redshift エンドポイントを参照する DNS CNAME レコードを追加します。エンドポイントは、クラスターまたはワークグループのプロパティ、Redshift コンソール、または Amazon Redshift Serverless コンソールで確認できます。**[一般的な情報]** の下に表示されているクラスターまたはワークグループのプロパティの **[JDBC URL]** をコピーします。URL は次のようになっています。
   + Amazon Redshift クラスター: `redshift-cluster-sample.abc123456.us-east-1.redshift.amazonaws.com`
   + Amazon Redshift Serverless ワークグループ: `endpoint-name.012345678901.us-east-1-dev.redshift-serverless-dev.amazonaws.com`

   URL に JDBC プレフィックスが付いている場合は、削除します。
**注記**  
DNS レコードの名前はそれぞれ一意で、組織内で使用できる必要があるため、DNS レコードは空き状況により異なります。

**制限事項**

カスタムドメインの CNAME レコードの作成には、いくつか制約があります。
+ 同一のプロビジョニング済みクラスターまたは Amazon Redshift Serverless ワークグループに複数のカスタムドメイン名を作成することはできません。CNAME レコードは 1 つだけ関連付けることができます。
+ CNAME レコードを複数のクラスターまたはワークグループに関連付けることはできません。各 Redshift リソースの CNAME は一意にする必要があります。

ドメインを登録して CNAME レコードを作成したら、新しい証明書または既存の証明書を選択します。このステップは AWS Certificate Manager を使用して実行します。

マネージド更新の条件を満たした [DNS 検証による証明書](https://docs.aws.amazon.com/acm/latest/userguide/dns-renewal-validation.html)を作成しておくことをお勧めします。マネージド更新は AWS Certificate Manager で利用できます。マネージド更新では、ACM が証明書を自動的に更新するか、有効期限が近づくと E メール通知を送信します。詳細については、「[ACM 証明書のマネージド更新](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html)」を参照してください。

# ドメイン名の証明書のリクエスト
<a name="connecting-connection-CNAME-security"></a>

Amazon Redshift または Amazon Redshift Serverless では、通信を安全に保ち、ドメイン名の所有権を検証するために、カスタムエンドポイント用の検証済みの Secure Sockets Layer (SSL) 証明書が必要です。AWS KMS key の AWS Certificate Manager アカウントを使用して証明書を安全に管理できます。セキュリティ検証には、完全なホスト名検証 (*sslmode=verify-full*) が含まれます。

E メール検証ではなく DNS 検証を選択した場合にのみ、証明書の更新が Amazon Redshift によって管理されます。E メール検証を使用する場合は証明書を使用できますが、有効期限が切れる前に自分で更新を行う必要があります。証明書には DNS 検証を選択することをお勧めします。インポートした証明書の有効期限は AWS Certificate Manager でモニタリングできます。

**ACM にドメイン名の証明書をリクエストする**

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

1. **[Request a certificate]** (証明書のリクエスト) を選択します。

1. **[ドメイン名]** フィールドにカスタムドメイン名を入力します。
**注記**  
1 つの証明書を複数のカスタムドメインレコードに使用するには、証明書ドメインに加えて多数のプレフィックスを指定できます。例として、`one.example.com` や `two.example.com` などの追加レコード、`*.example.com` などのワイルドカード DNS レコードを同じ証明書で使用できます。

1. [**Review and request**] を選択します。

1. [**Confirm and request**] を選択します。

1. リクエストが有効であるためには、ACM が証明書を発行する前に、インターネットドメインの登録された所有者がリクエストに同意する必要があります。ステップを完了したら、ACM コンソールにステータスが **[発行済み]** と表示されていることを確認します。

# カスタムドメインの設定
<a name="connecting-connection-CNAME-create-custom-domain"></a>

Amazon Redshift または Amazon Redshift Serverless コンソールを使用してカスタムドメイン URL を作成できます。まだ設定していない場合は、**[一般情報]** の下に **[カスタムドメイン名]** プロパティがダッシュ (**—**) で表示されます。CNAME レコードと証明書を作成したら、クラスターまたはワークグループのカスタムドメイン名を関連付けます。

カスタムドメイン名の関連付けを作成するには、次の IAM アクセス許可が必要です。
+ `redshift:CreateCustomDomainAssociation` — ARN を追加することにより、特定のクラスターへのアクセス許可を制限できます。
+ `redshiftServerless:CreateCustomDomainAssociation` — ARN を追加することにより、特定のワークグループへのアクセス許可を制限できます。
+ `acm:DescribeCertificate`

ベストプラクティスとして、アクセス許可ポリシーを IAM ロールにアタッチし、それを必要に応じてユーザーやグループに割り当てることをお勧めします。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。

カスタムドメイン名を割り当てるには、次のステップを実行します。

1. Redshift コンソールでクラスターを選択するか、Amazon Redshift Serverless コンソールでワークグループを選択し、**[アクション]** メニューの **[カスタムドメイン名の作成]** を選択します。ダイアログが表示されます。

1. カスタムドメイン名を入力します。

1. **[ACM 証明書]**の ARN を AWS Certificate Manager から選択します。変更を保存します。証明書の作成手順のガイダンスに従い、AWS Certificate Manager によるマネージド更新の対象となる DNS 検証済み証明書を選択することをお勧めします。

1. クラスターのプロパティで、**[カスタムドメイン名]** と **[カスタムドメイン証明書 ARN]** にエントリが入力されていることを確認します。**[カスタムドメイン証明書の有効期限]** も表示されます。

カスタムドメインを設定した後、`sslmode=verify-full` は新しいカスタムドメインでのみ使用できます。デフォルトのエンドポイントでは機能しません。ただし、`sslmode=verify-ca` などの他の SSL モードを使用してデフォルトのエンドポイントに接続することはできます。

**注記**  
念のため、[クラスターの再配置](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-recovery.html)は、追加の Redshift ネットワーク機能を設定するための前提条件ではありません。有効にしなくても、次の項目を有効にすることができます。  
**クロスアカウントまたはクロスリージョン VPC から Redshift への接続** — ある AWS 仮想プライベートクラウド (VPC) から、Redshift データベースを含む別の仮想プライベートクラウド (VPC) に接続できます。これにより、データベースに接続する ID へのローカル VPC アクセスを提供しなくても、異なるアカウントや VPC からのクライアントアクセスなどを簡単に管理できます。詳細については、「[Amazon Redshift マネージド VPC エンドポイントから Amazon Redshift Serverless への接続](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-connecting.html#serverless-cross-vpc)」を参照してください。
**カスタムドメイン名の設定** — このトピックで説明されているように、カスタムドメイン名を作成して、エンドポイント名をよりわかりやすくすることができます。

# Amazon Redshift のプロビジョニングされたクラスターまたは Amazon Redshift Serverless ワークグループへの接続
<a name="connecting-connection-CNAME-client"></a>

カスタムドメイン名で接続するには、プロビジョニング済みクラスターに対して以下の IAM アクセス許可 (`redshift:DescribeCustomDomainAssociations`) が必要です。Amazon Redshift Serverless では、アクセス許可を追加する必要はありません。

ベストプラクティスとして、アクセス許可ポリシーを IAM ロールにアタッチし、それを必要に応じてユーザーやグループに割り当てることをお勧めします。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。

コンソールで CNAME を作成してクラスターまたはワークグループに割り当てるステップを完了したら、SQL クライアントの接続プロパティでカスタム URL を指定できます。CNAME レコードを作成した直後に DNS の伝播が遅れる場合があることに注意してください。

1. SQL クライアントを開きます。例えば、SQL/Workbench J を使用できます。接続のプロパティを開き、接続文字列にカスタムドメイン名を追加します。例えば、`jdbc:redshift://mycluster.example.com:5439/dev?sslmode=verify-full`。この例では、`dev` はデフォルトのデータベースを指定します。

1. データベースユーザーの **[ユーザー名]** と **[パスワード]** を追加します。

1. 接続をテストします。特定のテーブルなどのデータベースリソースをクエリできるかどうかは、データベースユーザーに付与されるアクセス許可または割り当てられた Amazon Redshift データベースロールに付与されるアクセス許可によって異なる場合があります。

   クラスターまたはワークグループが VPC 内にある場合は、パブリックにアクセスできるように設定しないと接続できない場合があります。この設定はネットワークプロパティで変更できます。

**注記**  
カスタムドメイン名への接続は、JDBC、ODBC と Python ドライバーでサポートされています。

# カスタムドメインが割り当てられているクラスターの名前を変更する
<a name="connecting-connection-CNAME-rename-cluster"></a>

**注記**  
この一連の手順は Amazon Redshift Serverless ワークグループには適用されません。ワークグループ名を変更することはできません。

カスタムドメイン名を持つクラスターの名前を変更するには、`acm:DescribeCertificate` IAM アクセス許可が必要です。

1. Amazon Redshift コンソールに移動し、名前を変更するクラスターを選択します。**[編集]** を選択してクラスターのプロパティを編集します。

1. **[クラスター識別子]** を編集します。クラスターの他のプロパティを変更することもできます。次に、**変更の保存**を選択します。

1. クラスターの名前を変更したら、DNS レコードを更新して、カスタムドメインの CNAME エントリが更新された Amazon Redshift エンドポイントを指すように変更する必要があります。

# カスタムドメインの関連付けを説明する
<a name="connecting-connection-CNAME-describe-api"></a>

このセクションのコマンドを使用して、特定のプロビジョニング済みクラスターまたは Amazon Redshift Serverless ワークグループに関連付けられているカスタムドメイン名のリストを取得します。

次のアクセス許可が必要です。
+ プロビジョニング済みクラスター: `redshift:DescribeCustomDomainAssociations`
+ Amazon Redshift Serverless ワークグループ: `redshiftServerless:ListCnameAssociations`

ベストプラクティスとして、アクセス許可ポリシーを IAM ロールにアタッチし、それを必要に応じてユーザーやグループに割り当てることをお勧めします。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。

以下は、特定の Amazon Redshift クラスターのカスタムドメイン名を一覧表示するサンプルコマンドを示しています。

```
aws redshift describe-custom-domain-associations ––custom-domain-name customdomainname
```

カスタムドメイン名が有効になっている場合にこのコマンドを実行すると、クラスターに関連付けられているカスタムドメイン名を確認できます。カスタムドメインの関連付けを記述するための CLI コマンドの詳細については、「[describe-custom-domain-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/redshift/describe-custom-domain-associations.html)」を参照してください。

同様に、以下は、特定の Amazon Redshift Serverless ワークグループのカスタムドメイン名を一覧表示するサンプルコマンドを示しています。この操作には、複数の実行方法があります。カスタムドメイン名だけを指定できます。

```
aws redshift-serverless list-custom-domain-associations ––custom-domain-name customdomainname
```

証明書 ARN のみを指定して関連付けを取得することもできます。

```
aws redshift-serverless list-custom-domain-associations ––custom-domain-certificate-arn certificatearn
```

カスタムドメイン名が有効になっている場合にこれらのコマンドを実行して、ワークグループに関連付けられているカスタムドメイン名を確認できます。コマンドを実行してカスタムドメインの関連付けのプロパティを取得することもできます。そのためには、カスタムドメイン名とワークグループ名をパラメータとして指定する必要があります。証明書 ARN、ワークグループ名、カスタムドメインの証明書の有効期限が返されます。

```
aws redshift-serverless get-custom-domain-association ––workgroup-name workgroupname ––custom-domain-name customdomainname
```

Amazon Redshift Serverless で利用可能な CLI リファレンスコマンドの詳細については、「[redshift-serverless](https://docs.aws.amazon.com/cli/latest/reference/redshift-serverless/)」を参照してください。

# カスタムドメインを別の証明書に関連付ける
<a name="connecting-connection-CNAME-change-api"></a>

カスタムドメイン名との証明書の関連付けを変更するには、次の IAM アクセス許可が必要です。
+ `redshift:ModifyCustomDomainAssociation`
+ `acm:DescribeCertificate`

ベストプラクティスとして、アクセス許可ポリシーを IAM ロールにアタッチし、それを必要に応じてユーザーやグループに割り当てることをお勧めします。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。

次のコマンドを使用して、カスタムドメインを異なる証明書に関連付けます。`––custom-domain-name` 引数と `custom-domain-certificate-arn` 引数は必須です。新しい証明書の ARN は既存の ARN とは異なる必要があります。

```
aws redshift modify-custom-domain-association ––cluster-id redshiftcluster ––custom-domain-name customdomainname ––custom-domain-certificate-arn certificatearn
```

次のサンプルは、カスタムドメインを Amazon Redshift Serverless ワークグループの別の証明書に関連付ける方法を示しています。

```
aws redshift-serverless modify-custom-domain-association ––workgroup-name redshiftworkgroup ––custom-domain-name customdomainname ––custom-domain-certificate-arn certificatearn
```

クラスターに接続できるようになるまでに最大 30 秒の遅延があります。遅延の一部は Amazon Redshift クラスターがプロパティを更新するときに発生し、DNS が更新されるときにさらに遅延が発生します。API と各プロパティ設定の詳細については、「[ModifyCustomDomainAssociation](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyCustomDomainAssociation.html)」を参照してください。

# カスタムドメインを削除する
<a name="connecting-connection-CNAME-delete-api"></a>

カスタムドメイン名を削除するには、ユーザーに次のアクションのアクセス許可が必要です。
+ プロビジョニング済みクラスター: `redshift:DeleteCustomDomainAssociation`
+ Amazon Redshift Serverless ワークグループ: `redshiftServerless:DeleteCustomDomainAssociation`

**コンソール内**

カスタムドメイン名を削除するには、**[アクション]** ボタンを選択し、**[カスタムドメイン名を削除]** を選択します。削除後も、コンソールに一覧表示されているエンドポイントを使用するようにツールを更新すれば、サーバーに接続できます。

**CLI コマンドの使用**

次のサンプルは、カスタムドメイン名を削除する方法を示しています。削除操作では、クラスターの既存のカスタムドメイン名を指定する必要があります。

```
aws redshift delete-custom-domain-association ––cluster-id redshiftcluster ––custom-domain-name customdomainname
```

次のサンプルは、Amazon Redshift Serverless ワークグループのカスタムドメイン名の削除方法を示しています。カスタムドメイン名は必須パラメータです。

```
aws redshift-serverless delete-custom-domain-association ––workgroup-name workgroupname ––custom-domain-name customdomainname
```

詳細については、「[DeleteCustomDomainAssociation](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCustomDomainAssociation.html)」を参照してください。

# RedShift が管理する VPC エンドポイント
<a name="managing-cluster-cross-vpc"></a>

デフォルトでは、Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループは仮想プライベートクラウド (VPC) 内にプロビジョニングされます。VPC は、パブリックアクセスを許可するか、インターネットゲートウェイ、NAT デバイス、または AWS Direct Connect 接続を設定してトラフィックをクラスターにルーティングすると、別の VPC またはサブネットからアクセスすることができます。また、Redshift 管理の VPC エンドポイント (AWS PrivateLink を使用) を設定して、クラスターまたはワークグループにアクセスすることもできます。

Redshift 管理の VPC エンドポイントは、クラスターまたはワークグループを含む VPC とクライアントツールを実行する VPC 間のプライベート接続としてセットアップすることができます。クラスターまたはワークグループが別のアカウントにある場合、アカウント所有者 (付与者) は、接続するアカウント (被付与者) へのアクセスを許可する必要があります。これにより、パブリック IP アドレスを使用したり、インターネット経由でトラフィックをルーティングしたりすることなく、データウェアハウスにアクセスできます。

Redshift 管理の VPC エンドポイントを使用してアクセスを許可する一般的な理由は次のとおりです。
+ AWS アカウント A が AWS アカウント B の VPC にクラスターまたはワークグループへのアクセスを許可する。
+ AWS アカウント A が AWS アカウント A の VPC にクラスターまたはワークグループへのアクセスを許可する。
+ AWS アカウント A が AWS アカウント A の VPC にある別のサブネットに、クラスターまたはワークグループへのアクセスを許可する。

Redshift 管理の VPC エンドポイントを設定して、別のアカウントのクラスターまたはワークグループにアクセスするためのワークフローは次のとおりです。

1. 所有者アカウントは、別のアカウントにアクセス許可を付与し、被付与者の AWS アカウント ID と VPC 識別子 (またはすべての VPC) を指定します。

1. 被付与者アカウントには、Redshift 管理の VPC エンドポイントを作成する権限があることが通知されます。

1. 被付与者アカウントは、Redshift 管理の VPC エンドポイントを作成します。

1. 被付与者アカウントは、Redshift 管理の VPC エンドポイントを使用して、所有者アカウントのクラスターまたはワークグループにアクセスできるようになります。

このプロセスは、Amazon Redshift コンソール、AWS CLI、または Amazon Redshift API を使用して実行できます。

## Redshift で管理される VPC エンドポイントを使用する場合の考慮事項
<a name="managing-cluster-cross-vpc-considerations"></a>

**注記**  
RedShift が管理する VPC エンドポイントを作成または変更するには、`ec2:ModifyVpcEndpoint` マネージドポリシー `AmazonRedshiftFullAccess` に指定されている他のアクセス許可に加えて、IAM ポリシーに `ec2:CreateVpcEndpoint` と AWS のアクセス許可が必要です。

Redshift が管理する VPC エンドポイントを使用する場合は、以下に注意してください。
+ プロビジョニングされたクラスターを使用している場合は、RA3 ノードタイプが必要です。Amazon Redshift Serverless ワークグループは、VPC エンドポイントの設定にも機能します。
+ プロビジョニングされたクラスターの場合、クラスターが再配置やマルチ AZ で有効になっていることを確認します。クラスターの再配置を有効にする要件については、「[クラスターの再配置](managing-cluster-recovery.md)」を参照してください。マルチ AZ を有効にする方法については、「[新しいクラスターを作成する際のマルチ AZ の設定](create-cluster-multi-az.md)」を参照してください。
+ セキュリティグループを介してアクセスするクラスターまたはワークグループが、有効なポート範囲 5431～5455 と 8191～8215 で利用できることを確認します。デフォルトは 5439 です。
+ 既存の Redshift で管理される VPC エンドポイントに関連付けられた VPC セキュリティグループを変更できます。他の設定を変更するには、現在の Redshift が管理する VPC エンドポイントを削除し、新しいエンドポイントを作成します。
+ 作成できる Redshift 管理の VPC エンドポイントの数は、VPC エンドポイントのクォータに制限されます。
+ Redshift 管理の VPC エンドポイントには、インターネットからアクセスできません。Redshift 管理の VPC エンドポイントは、エンドポイントがプロビジョニングされている VPC 内か、ルートテーブルとセキュリティグループによって許可されているエンドポイントがプロビジョニングされている VPC とピア接続されている VPC からのみアクセスできます。
+ Amazon VPC コンソールを使用して Redshift 管理の VPC エンドポイントを管理することはできません。
+ プロビジョニングされたクラスターに RedShift 管理の VPC エンドポイントを作成する場合、選択する VPC にはクラスターサブネットグループが必要です。サブネットグループを作成するには、「[クラスターサブネットグループの作成](create-cluster-subnet-group.md)」を参照してください。
+ アベイラビリティーゾーンがダウンした場合、Amazon Redshift は、別のアベイラビリティーゾーンに新しい伸縮自在なネットワークインターフェイスを作成しません。この場合は、必要に応じて、新しいエンドポイントを作成します。

クォータと命名規則の詳細については、[Amazon Redshift でのクォータと制限](amazon-redshift-limits.md) を参照してください。

料金については、「[AWS PrivateLink の料金](https://aws.amazon.com/privatelink/pricing/)」を参照してください。

# VPC へのアクセス権の付与
<a name="managing-cluster-cross-vpc-console-grantor"></a>

クラスターまたはワークグループにアクセスする VPC が別の AWS アカウントにある場合は、必ず所有者 (付与者) アカウントから許可してください。

**別の AWS アカウント内の VPC にクラスターまたはワークグループへのアクセスを許可するには**

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

1. ナビゲーションメニューで **[クラスター]** を選択します。Amazon Redshift Serverless の場合は、**[サーバーレスダッシュボード]** を選択します。

1. アクセスを許可するクラスターのクラスター名を選択して、クラスターの詳細を表示します。クラスターの **[Properties]** (プロパティ) タブを選択します。

   **[Granted accounts]** (付与されたアカウント) セクションには、クラスターにアクセスできるアカウントと対応する VPC が表示されます。Amazon Redshift Serverless ワークグループの場合は、ワークグループを選択します。**[許可を付与されたアカウント]** は **[データアクセス]** タブにあります。

1. アカウントを追加するために**被付与者情報**を入力するフォームを表示するには、[**Grant access (アクセスの許可)**] を選択します。

1. **AWS アカウント ID** に、アクセスを許可するアカウントの ID を入力します。特定のアカウント内の特定の VPC またはすべての VPC へのアクセス権を付与できます。

1. アクセスを許可するには、**[Grant access]** (アクセスの許可) を選択します。

# Redshift で管理される VPC エンドポイントの作成
<a name="managing-cluster-cross-vpc-console-grantee"></a>

クラスターまたはワークグループを所有している場合、またはクラスターへの管理アクセス権が付与されている場合は、そのクラスターの Redshift 管理の VPC エンドポイントを作成できます。

**Redshift で管理される VPC エンドポイントを作成するには**

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

1. ナビゲーションメニューで、**[Configurations]** (設定) を選択します。

   **[Configurations]** (設定) ページには、作成された Redshift 管理の VPC エンドポイントが表示されます。エンドポイントの詳細を表示するには、その名前を選択します。Amazon Redshift Serverless の場合、ワークグループを選択すると VPC エンドポイントは **[データアクセス]** タブに表示されます。

1. [**Create endpoint (エンドポイントの作成)**] を選択して、追加するエンドポイントに関する情報を入力するためのフォームを表示します。

1. **[エンドポイント名]**、12 桁の **[AWS アカウント ID]**、エンドポイントが配置されている **[仮想プライベートクラウド (VPC)]**、**[サブネット]**、**[VPC セキュリティグループ]** の値を入力します。

   **[サブネット]** のサブネットグループは、Amazon Redshift がエンドポイントをデプロイするサブネットと IP アドレスを定義します。Amazon Redshift は、エンドポイントに関連付けられたネットワークインターフェイスで使用可能な IP アドレスを持つサブネットを選択します。

   **[VPC セキュリティグループ]** のセキュリティグループルールは、エンドポイントに対して承認するインバウンドトラフィックのポート、プロトコル、およびソースを定義します。セキュリティグループまたは ワークロードが実行される CIDR 範囲を介して、選択したポートへのアクセスを許可します。

1. **[Create endpoint]** (エンドポイントの作成) を選択して、エンドポイントを作成します。

エンドポイントの作成後、Redshift 管理の VPC エンドポイント設定の **[エンドポイント]** URL に表示される URL で クラスタークラスターまたはワークグループにアクセスできます。

# VPC での Redshift リソース
<a name="managing-clusters-vpc"></a>

Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループは、Amazon VPC サービスに基づいて EC2-VPC プラットフォームの VPC で起動できます。詳細については、「[EC2 を使用してクラスターを作成する](working-with-clusters.md#cluster-platforms)」を参照してください。

**注記**  
専用テナンシー VPC へのクラスターとサーバーレスワークグループの起動はサポートされていません。詳細については、*Amazon VPC ユーザーガイド*の[ハードウェア専有インスタンス](https://docs.aws.amazon.com/vpc/latest/userguide/dedicated-instance.html)を参照してください。

VPC にリソースをプロビジョニングするときは、次の操作を行う必要があります。
+ **VPC 情報を指定する**

  VPC 内にプロビジョニングされたクラスターを作成するときは、クラスターサブネットグループを作成することにより、VPC 情報を提供する必要があります。この情報には、VPC の VPC ID とサブネットのリストが含まれます。クラスターの起動時に、Redshift が VPC 内のいずれかのサブネットにクラスターをプロビジョンできるように、クラスターサブネットグループを指定します。Amazon Redshift Serverless の場合もプロセスは似ています。サブネットはサーバーレスワークグループに直接割り当てます。ただし、サーバーレスの場合はサブネットグループを作成しません。Amazon Redshift でサブネットグループを作成する詳細方法については、[Redshift リソースのサブネット](working-with-cluster-subnet-groups.md) を参照してください。VPC のセットアップの詳細については、「Amazon VPC 入門ガイド」の「[Amazon VPC の開始方法](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/GetStarted.html)」を参照してください。**
+  **必要に応じて、アクセシビリティオプションを設定します。**

  Amazon Redshift のプロビジョン済みクラスターとサーバーレスワークグループは、デフォルトでプライベートになっています。プロビジョン済みのクラスターまたはサーバーレスワークグループをパブリックにアクセスできるように設定する場合、Amazon Redshift は外部 IP アドレスに Elastic IP アドレスを使用します。Elastic IP アドレスは、静的 IP アドレスです。EIP を使用すると、クライアントが接続に使用する IP アドレスに影響を与えることなく、基本的な設定を変更することができます。このアプローチは、障害発生後の復旧などの状況に役立ちます。Elastic IP アドレスを作成するかどうかは、アベイラビリティーゾーンの再配置設定によって異なります。2 つのオプションがあります。

  1. アベイラビリティーゾーンの再配置を有効にしていて、パブリックアクセスを有効にする場合は、Elastic IP アドレスを指定しないでください。Amazon Redshift によって管理される Elastic IP アドレスが割り当てられます。それは、AWS アカウントに関連付けられています。

  1. アベイラビリティーゾーンの再配置が無効になっていて、パブリックアクセスを有効にしたい場合は、Amazon Redshift クラスターまたはワークグループを起動する前に、Amazon EC2 で VPC の Elastic IP アドレスを作成することを選択できます。IP アドレスを作成しない場合、 Amazon Redshift は VPC に使用する設定済み Elastic IP アドレスを提供します。この Elastic IP アドレスは、Amazon Redshift によって管理され、AWS アカウントには関連付けられません。

  詳細については、*「Amazon EC2 ユーザーガイド」*の[「Elastic IP アドレス」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)を参照してください。

  VPC にパブリックアクセス可能なクラスターがあり、VPC 内からプライベート IP アドレスを使って接続したい場合があります。その場合は、次の VPC パラメータを `true` に設定します。
  +  `DNS resolution` 
  +  `DNS hostnames` 

  Amazon Redshift Serverless では、この方法では接続できないことに注意してください。

  VPC にはパブリックアクセス可能なプロビジョニングされたクラスターがあるが、VPC でこれらのパラメータを `true` に設定しないとします。このような場合、VPC 内から確立された接続は、プライベート IP アドレスではなくリソースの Elastic IP アドレスに解決されます。VPC 内から接続する際には、これらのパラメータを `true` に設定し、パブリックにアクセス可能なクラスターにプライベート IP アドレスを使用することをお勧めします。詳細については、*Amazon VPC ユーザーガイド*の「[VPC での DNS の使用](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」を参照してください。
**注記**  
VPC 内にパブリックアクセス可能な既存のクラスターがある場合、VPC 内からの接続は、プロビジョニングされたクラスターのサイズを変更するまで、そのクラスターに接続するために Elastic IP アドレスを使用し続けます。これは、前述のパラメータセットでも発生します。新しく作成されたクラスターはすべて、パブリックアクセス可能なクラスターに同じ VPC 内から接続する際に、プライベート IP アドレスを使用するという新しい動作に従います。

   Elastic IP アドレスは、VPC 外のリソースにアクセスするための外部 IP アドレスです。プロビジョニングされたクラスターでは、これは、**[ノード IP アドレス]** の下の Amazon Redshift コンソールに表示された **[パブリック IP アドレス]** と **[プライベート IP アドレス]** には関係ありません。パブリックおよびプライベートクラスターノードの IP アドレスは、クラスターがパブリックにアクセス可能であるかどうかに関係なく表示されます。これらのアドレスは、リモートホスト上の進入ルールを設定するため、特定の環境でのみ使用されます。これらの環境は、Secure Shell (SSH) 接続を使って Amazon EC2 インスタンスまたは他のリモートホストからデータをロードした場合に発生します。詳細については、*Amazon Redshift データベースデベロッパーガイド*の「[ステップ 1: クラスター公開キーおよびクラスターノード IP アドレスを取得する](https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-remote-hosts.html#load-from-host-steps-retrieve-key-and-ips)」を参照してください。
**注記**  
ノード IP アドレスは Redshift Serverless ワークグループには適用されません。

   プロビジョニングされたクラスターを Elastic IP アドレスに関連付けるオプションは、クラスターを作成するか、スナップショットからクラスターを復元する場合に使用できます。場合によっては、クラスターを Elastic IP アドレスに関連付けたり、クラスターと関連付けられた Elastic IP アドレスを変更したりする必要が出てくることがあります。クラスターの作成後に Elastic IP アドレスをアタッチするには、まずクラスターを公開でアクセスできないように更新してから、公開でアクセスできるようにし、同じオペレーションで Elastic IP アドレスを追加します。

  プロビジョニングされたクラスターまたは Amazon Redshift Serverless ワークグループをパブリックにアクセス可能にし、Elastic IP アドレスを割り当てる方法の詳細については、「[デフォルトまたはカスタムのセキュリティグループ設定によるパブリックアクセシビリティ](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html#rs-security-group-public-default)」を参照してください。
+ **VPC セキュリティグループを関連付けます。**

  VPC セキュリティグループを使用してインバウンドアクセスを許可します。詳細については、「[Amazon Redshift クラスターのセキュリティグループ通信設定の設定](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html)」を参照してください。クライアントとプロビジョニングされたクラスターまたは Amazon Redshift Serverless ワークグループとの間のインバウンドルールとアウトバウンドルールの設定に関するガイダンスを記載しています。セキュリティグループの理解に役立つ別のリソースは、「Amazon VPC ユーザーガイド」の「[VPC のセキュリティ](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)」です。**

**VPC 内のプロビジョニングされたクラスターまたは Serverless ワークグループのスナップショットの復元**  
VPC 内のクラスターまたは Serverless ワークグループのスナップショットは、VPC の外部ではなく VPC の内部でのみ復元できます。これらは、アカウント内の同じ VPC または別の VPC 内で復元できます。 スナップショットの詳細については、「[Amazon Redshift スナップショットとバックアップ](working-with-snapshots.md)」を参照してください。

# VPC での Redshift でプロビジョンされたクラスターまたは Amazon Redshift Serverless ワークグループの作成
<a name="getting-started-cluster-in-vpc"></a>

仮想プライベートクラウド (VPC) 内にクラスターまたはワークグループをデプロイするための通常のステップは、次のとおりです。

**VPC でクラスターまたは Serverless ワークグループを作成するには**

1. VPC の設定 – Redshift リソースは、アカウントのデフォルトの VPC 内 (アカウント内に VPC がある場合)、または作成した VPC 内に作成できます。詳細については、「[EC2 を使用してクラスターを作成する](working-with-clusters.md#cluster-platforms)」を参照してください。VPC を作成するには、「*Amazon VPC ユーザーガイド*」の「[VPC のサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)」を参照してください。VPC 識別子、サブネット、およびサブネットのアベイラビリティーゾーンを書きとめておきます。この情報は、クラスターまたはワークグループの起動時に必要です。
**注記**  
次のステップでサブネットをサブネットグループに追加できるように、VPC 内に少なくとも 1 つのサブネットが定義されている必要があります。VPC へのサブネットの追加の詳細については、*Amazon VPC ユーザーガイド*の「[VPC へのサブネットの追加](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-subnets.html)」を参照してください。

1. Amazon Redshift クラスターサブネットグループを作成して、VPC で Amazon Redshift クラスターが使用できるサブネットを指定します。Redshift Serverless の場合、サブネットグループを作成するのではなく、作成時にサブネットのコレクションをワークグループに割り当てます。これは、ワークグループの作成時に **Serverless ダッシュボード**で実行できます。

   サブネットグループは、Amazon Redshift コンソールを使用するか、またはプログラムで作成することができます。詳細については、「[Redshift リソースのサブネット](working-with-cluster-subnet-groups.md)」を参照してください。

1. クラスターまたはワークグループに関連付ける VPC セキュリティグループ内のインバウンド接続に対して、アクセスを許可します。VPC (パブリックインターネット上) 外のクライアントを有効化して、クラスターを接続します。これを行うには、インバウンドアクセスを付与する VPC セキュリティグループにクラスターを関連付けます。詳細については、「[Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループのセキュリティグループ通信設定の構成](rs-security-group-public-private.md)」を参照してください。

1. 手順に従って、Redshift でプロビジョニングされたコンソールまたはワークグループ、あるいは Amazon Redshift Serverless コンソールでクラスターを作成します。**[ネットワークとセキュリティ]** の設定で、**[仮想プライベートクラウド (VPC)]**、**[クラスターサブネットグループ]**、および **[VPC セキュリティグループ]** を指定します。

   

   プロビジョニングされたデータウェアハウスクラスターを作成する詳細な手順を示すチュートリアルについては、「*Amazon Redshift 入門ガイド*」の「[Amazon Redshift でプロビジョニングされたデータウェアハウスの使用を開始する](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html)」を参照してください。Amazon Redshift Serverless ワークグループの作成に関する詳しい情報については、「*Amazon Redshift 入門ガイド*」の「[Amazon Redshift Serverless データウェアhガウスの使用開始](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html)」を参照してください。

入門ガイドのステップに従って、サンプルデータをアップロードし、サンプルクエリを試行することにより、クラスターまたはワークグループをテストできます。詳細については、「*Amazon Redshift 入門ガイド*」の「[Amazon Redshift Serverless データウェアハウスの使用を開始](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-launch-sample-cluster.html)」を参照してください。

# VPC セキュリティグループ
<a name="managing-vpc-security-groups"></a>

Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループをプロビジョニングすると、アクセスはデフォルトで制限されるため、誰もアクセスできません。他のユーザーにインバウンドアクセスを許可するには、クラスターをセキュリティグループに関連付けます。EC2-VPC プラットフォームを使用する場合は、既存の Amazon VPC セキュリティグループを使用するか、新しいグループを定義することができます。次に、下記の説明どおり、クラスターまたはワークグループに関連付けます。EC2-Classic プラットフォームでは、セキュリティグループを定義し、そのグループをクラスターまたはワークグループに関連付けます。EC2-Classic プラットフォームでのセキュリティグループの使用の詳細については、「[Amazon Redshift セキュリティグループ](security-network-isolation.md#working-with-security-groups)」を参照してください。

VPC セキュリティグループは、使用中のクラスターなど、VPC 上のインスタンスへのアクセスを制御しているルールのセットで構成されます。個別のルールのセットは、IP アドレスの範囲または他の VPC セキュリティグループに基づいてアクセスします。VPC セキュリティグループをクラスターまたはワークグループに関連付けると、VPC セキュリティグループで定義されているルールがアクセスを制御します。

EC2-VPC プラットフォームでプロビジョンするクラスターごとに、1 つ以上の Amazon VPC セキュリティグループが関連付けられます。Amazon VPC は、デフォルトという VPC セキュリティグループを提供します。これは VPC を作成するときに自動的に作成されます。VPC で起動するクラスターは、Redshift のリソース作成時に別の VPC セキュリティグループを指定しない限り、それぞれがデフォルトの VPC セキュリティグループに自動的に関連付けられます。クラスターの作成時にクラスターに VPC セキュリティグループを関連付けるか、または後でクラスターを変更して VPC セキュリティグループを関連付けることができます。

次のスクリーンショットは、デフォルトの VPC セキュリティグループ用のデフォルトルールについて示しています。

![\[この表はセキュリティグループのインバウンドルールとアウトバウンドルールを示しています。各ルールには、送信元または送信先、プロトコル、ポート範囲、コメントがあります。\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/images/security_groups.png)


必要に応じてデフォルトの VPC セキュリティグループのルールを変更できます。

デフォルトの VPC セキュリティグループだけで十分であれば、さらにグループを作成する必要はありません。ただし、オプションでインバウンドアクセスをより適切に管理するために、追加の VPC セキュリティグループを作成できます。例えば、Amazon Redshift クラスターまたは Serverless ワークグループでサービスを実行していて、顧客に複数の異なるサービスレベルを提供しているとします。すべてのサービスレベルに同じアクセス権を与えたくない場合は、サービスレベルごとに別の VPC セキュリティグループ (サービスレベルごとに 1 つ) を作成することをお勧めします。その後、それらの VPC セキュリティグループをクラスターまたはワークグループに関連付けることができます。

VPC に対して最高 100 個の VPC セキュリティグループを作成し、VPC セキュリティグループを複数のクラスターおよびワークグループと関連付けることができます。ただし、クラスターまたはワークグループに関連付けることができる VPC セキュリティグループの数には制限があることに注意してください。

Amazon Redshift では、VPC セキュリティグループへの変更は直ちに適用されます。そのため、VPC セキュリティグループをクラスターに関連付けると、更新された VPC セキュリティグループのインバウンドクラスターアクセスルールは即座に適用されます。

VPC セキュリティグループの作成と変更は、[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) で行うことができます。AWS CLI、Amazon EC2 CLI、および AWS Tools for Windows PowerShell を使用して、VPC セキュリティグループをプログラムで管理することもできます。VPC セキュリティグループの操作に関する詳細については、*Amazon VPC ユーザーガイド*の [VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)を参照してください。

# Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループのセキュリティグループ通信設定の構成
<a name="rs-security-group-public-private"></a>

このトピックは、ネットワークトラフィックを適切にルーティングおよび受信するようにセキュリティグループを設定するのに役立ちます。いくつかの一般的ユースケースは以下のとおりです。
+ Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループのパブリックアクセシビリティを有効にしても、トラフィックは受信されません。この場合、インターネットからのトラフィックを許可するようにインバウンドルールを設定する必要があります。
+ クラスターまたはワークグループはパブリックにアクセスできないため、Redshift の設定済みのデフォルトの VPC セキュリティグループを使用してインバウンドトラフィックを許可します。ただし、要件に従ってデフォルト以外のセキュリティグループを使用している場合、このカスタムセキュリティグループはインバウンドトラフィックを許可しません。通信を許可するように設定する必要があります。

 以下のセクションは、ユースケースごとに適した対応を選択するのに役立ち、要件に応じてネットワークトラフィックを設定する方法を示しています。オプションで、他のプライベートセキュリティグループからの通信を設定するための手順を使用できます。



**注記**  
ほとんどの場合、ネットワークトラフィック設定は Amazon Redshift で自動的に設定されません。これは、トラフィックのソースがインターネットかプライベートセキュリティグループかによって設定の粒度が異なる場合があり、セキュリティ要件も異なるためです。

## デフォルトまたはカスタムのセキュリティグループ設定によるパブリックアクセシビリティ
<a name="rs-security-group-public-default"></a>

クラスターやワークグループを作成中であるか、作成済みである場合は、次の設定手順を実行してクラスターをパブリックにアクセスできるようにします。これは、デフォルトセキュリティグループを選択した場合とカスタムセキュリティグループを選択した場合の両方に当てはまります。

1. ネットワーク設定を検索します。
   + プロビジョニングされた Amazon Redshift クラスターの場合は、**[プロパティ]** タブを選択し、**[ネットワークとセキュリティ設定]** でクラスターの VPC を選択します。
   + Amazon Redshift Serverless ワークグループの場合は、**[ワークグループの設定]** を選択します。リストからワークグループを選択します。**[ネットワークとセキュリティ]** パネルの **[データアクセス]** で、**[編集]** を選択します。

1. VPC のインターネットゲートウェイとルートテーブルを設定します。VPC を名前で選択して設定を開始します。VPC ダッシュボードが開きます。インターネットからパブリックにアクセス可能なクラスターまたはワークグループに接続するには、インターネットゲートウェイをルートテーブルにアタッチする必要があります。これを設定するには、VPC ダッシュボードで **[ルートテーブル]** を選択します。インターネットゲートウェイのターゲットがソース 0.0.0.0/0、またはパブリック IP CIDR に設定されていることを確認します。ルートテーブルは、クラスターが存在する VPC に関連付ける必要があります。ここで説明しているような VPC のインターネットアクセス設定の詳細については、Amazon VPC ドキュメントで「[インターネットアクセスを有効にする](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#vpc-igw-internet-access)」を参照してください。ルートテーブルの設定の詳細については、「[ルートテーブルの設定](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)」を参照してください。

1. インターネットゲートウェイとルートテーブルを設定したら、Redshift のネットワーク設定に戻ります。セキュリティグループを選択し、次に **[インバウンドルール]** を選択して、インバウンドアクセスを開きます。**インバウンドのルールを編集** を選択します。

1. インバウンドルールの **[プロトコル]** と **[ポート]** を要件に応じて選択し、クライアントからのトラフィックを許可します。RA3 クラスターの場合は、5431～5455 または 8191～8215 の範囲内のポートを選択します。終了したら、各ルールを保存します。

1. **[パブリックアクセス可能]** 設定を編集して有効にします。この操作は、クラスターまたはワークグループの **[アクション]** メニューから行うことができます。

パブリックにアクセス可能な設定を有効にすると、Redshift は Elastic IP アドレスを作成します。これは AWS アカウントに関連付けられた静的 IP アドレスです。VPC 外部のクライアントはそれを使用して接続できます。

セキュリティグループの設定の詳細については、「[Amazon Redshift セキュリティグループ](security-network-isolation.md#working-with-security-groups)」を参照してください。

クライアントに接続することでルールをテストできます。Amazon Redshift Serverless に接続する場合は、以下を実行します。ネットワーク設定が完了したら、[Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html) などのクライアントツールを用いて接続します。Amazon Redshift Serverless のドメインをホストとして使用し、以下を入力します。



```
rsql -h workgroup-name.account-id.region.amazonaws.com -U admin -d dev -p 5439
```

## デフォルトまたはカスタムのセキュリティグループ設定によるプライベートアクセシビリティ
<a name="rs-security-group-private"></a>

 インターネット経由でクラスターやワークグループと通信しない場合は、「プライベート」にアクセス可能と呼ばれます。**作成時にデフォルトのセキュリティグループを選択した場合、セキュリティグループには以下のデフォルトの通信ルールが含まれます。
+ セキュリティグループに割り当てられたすべてのリソースからのトラフィックを許可するインバウンドルール。
+ すべてのアウトバウンドトラフィックを許可するアウトバウンドルール。このルールの宛先は 0.0.0.0/0 です。クラスレスドメイン間ルーティング (CIDR) 表記では、使用可能なすべての IP アドレスを表します。

クラスターまたはワークグループのセキュリティグループを選択すると、コンソールにルールを表示できます。

クラスターまたはワークグループとクライアントの両方がデフォルトのセキュリティグループを使用している場合は、ネットワークトラフィックを許可するための追加設定は必要ありません。ただし、Redshift またはクライアントのデフォルトのセキュリティグループのルールを削除または変更すると、これは適用されなくなります。この場合、インバウンドとアウトバウンドの通信を許可するルールを設定する必要があります。一般的なセキュリティグループ設定は次のとおりです。
+ クライアントの Amazon EC2 インスタンスの場合:
  + クライアントの IP アドレスを許可するインバウンドルール。
  + Redshift 用に提供されているすべてのサブネットの IP アドレス範囲 (CIDR ブロック) を許可するアウトバウンドルール。または、0.0.0.0/0 を指定することもできます。これは、すべて IP アドレス範囲を表します。
+ Redshift クラスターまたはワークグループの場合:
  + クライアントセキュリティグループを許可するインバウンドルール。
  + 0.0.0.0/0 へのトラフィックを許可するアウトバウンドルール。通常、アウトバウンドルールはすべてのアウトバウンドトラフィックを許可します。オプションで、クライアントセキュリティグループへのトラフィックを許可するアウトバウンドルールを追加できます。このオプションの場合、各リクエストのレスポンストラフィックがインスタンスに到達することが許可されるため、アウトバウンドルールは必ずしも必要ではありません。リクエストとレスポンスの動作の詳細については、「Amazon VPC ユーザーガイド」の「[セキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/security-groups.html)」を参照してください。**

Redshift 用に指定されたサブネットまたはセキュリティグループの設定を変更した場合、通信を開いたままにしておくために、トラフィックルールの変更が必要になる場合があります。インバウンドルールとアウトバウンドルールの作成の詳細については、「Amazon VPC ユーザーガイド」の「[VPC CIDR ブロック](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html)」を参照してください。**クライアントから Amazon Redshift に接続する方法の詳細については、「[Amazon Redshift での接続の設定](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html)」を参照してください。

# Redshift リソースのサブネット
<a name="working-with-cluster-subnet-groups"></a>

仮想プライベートクラウド (VPC) でプロビジョニングされたクラスターを作成する場合は、サブネットグループを作成します。各 VPC は、セキュリティおよびオペレーションのニーズに基づいたリソースのグループ化を可能にする VPC 内の IP アドレスのサブセットである 1 つまたは複数のサブネットを持つことができます。プロビジョニングされたクラスターを作成するときに、VPC 内のサブネットのセットを指定するサブネットグループを作成します。**[プロビジョニングされたクラスターダッシュボード]** では、**[設定]** でクラスターサブネットグループを検索および編集できます。プロビジョニングされたクラスターの初期設定時にサブネットグループを指定し、Amazon Redshift はそのサブネットの 1 つにクラスターを作成します。VPC サービスの詳細については、[Amazon VPC](https://aws.amazon.com/vpc/) の製品詳細ページを参照してください。

Amazon Redshift Serverless ワークグループのサブネット設定は、プロビジョニングされたクラスターと似ていますが、ステップは若干異なります。Serverless ワークグループを作成して設定するときは、ワークグループのサブネットを指定し、リストに追加されます。**[Serverless ダッシュボード]** でワークグループのプロパティを選択すると、既存のワークグループのサブネットを表示できます。これらは **[ネットワークとセキュリティ]** プロパティで使用できます。詳細については、「[名前空間を伴うワークグループの作成](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html)」を参照してください。

VPC 作成の詳細については、「[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/)」のドキュメントを参照してください。

プロビジョニングされたクラスターのサブネットグループを作成した後、または Serverless ワークグループのサブネットを選択すると、以前に追加されたサブネットを削除したり、さらに追加したりできます。これらの変更は、コンソールまたは API オペレーションを使用して行うことができます。プロビジョニングされたクラスターの API オペレーションの詳細については、「[ModifyClusterSubnetGroup](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyClusterSubnetGroup.html)」を参照してください。Serverless ワークグループの API オペレーションについては、「[UpdateWorkgroup](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_UpdateWorkgroup.html)」を参照してください。



サブネットグループのサブネットの 1 つでクラスターをプロビジョニングすることができます。クラスターサブネットグループにより、Virtual Private Cloud (VPC) 内にサブネットのセットを指定できます。

**警告**  
従来のサイズ変更、一時停止と再開、マルチ AZ フェイルオーバー、その他のイベントなどのクラスターメンテナンスオペレーション中に、プロビジョニングされたコンピューティングノードが Amazon Redshift クラスターサブネットグループ内の別のサブネットに移動する場合があります。サブネットグループ内のすべてのサブネットには、同じネットワーク ACL インバウンドルールとアウトバウンドルール、および同じルートテーブルルートが必要です。これにより、Amazon Redshift コンピューティングリソースとの接続が保証されるため、こうしたメンテナンスイベントの後に最適に通信して機能することができます。ネットワーク ACL またはルートテーブル設定が異なるサブネットを同じ Amazon Redshift クラスターサブネットグループに追加することは避けてください。  
サブネットの設定に関する詳細については、「Amazon VPC ユーザーガイド」の「[VPC のサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)」を参照してください。Redshift マルチ AZ 配置の詳細については、Redshift 管理ガイドの「[マルチ AZ デプロイ](managing-cluster-multi-az.md)」を参照してください。[クラスターのサイズ変更](resizing-cluster.md) は、Redshift 管理ガイドでも説明されています。

# クラスターサブネットグループの作成
<a name="create-cluster-subnet-group"></a>

以下の手順では、プロビジョニングされたクラスターのサブネットグループを作成する方法について説明します。VPC でクラスターをプロビジョニングするには、クラスターサブネットグループが少なくとも 1 つ定義されている必要があります。

**プロビジョニングされたクラスターのクラスターサブネットグループを作成するには**

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

1. ナビゲーションメニューで、**[Configurations]** (設定)、次に **[Subnet groups]** (サブネットグループ) を選択します。サブネットグループのリストが表示されます。

1. [**クラスターサブネットグループの作成**] を選択して作成ページを表示します。

1. 追加するサブネットを含む、サブネットグループの情報を入力します。

1. [**クラスターサブネットグループの作成**] を選択して、選択したサブネットでグループを作成します。

**注記**  
サブネットのコレクションを使用して Amazon Redshift Serverless ワークグループを作成する方法については、「Amazon VPC ユーザーガイド」の「[名前空間を伴うワークグループの作成](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html)」または「[サブネットの作成](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)」を参照してください。

# クラスターサブネットグループの変更
<a name="modify-cluster-subnet-group"></a>

サブネットグループを作成したら、Amazon Redshift コンソールでその情報を変更できます。以下の手順では、プロビジョニングされたクラスターのサブネットグループを変更する方法について説明します。

**プロビジョニングされたクラスターのクラスターサブネットグループを修正するには**

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

1. ナビゲーションメニューで、**[Configurations]** (設定)、次に **[Subnet groups]** (サブネットグループ) を選択します。サブネットグループのリストが表示されます。

1. 変更するサブネットグループを選択します。

1. [**アクション**] で [**変更**] を選択してサブネットグループの詳細を表示します。

1. サブネットグループの情報を更新します。

1. [**保存**] を選択してグループを変更します。

サブネットを変更または削除するために、追加の手順が必要な場合があります。例えば、この AWS ナレッジセンターの記事「[How do I move my provisioned Amazon Redshift cluster into a different subnet?](https://repost.aws//knowledge-center/redshift-move-subnet)」(プロビジョニングされた Amazon Redshift クラスターを別のサブネットに移動する方法を教えてください) などでは、クラスターの移動を対象とするユースケースについて説明します。

# プロビジョニングされたクラスターのクラスターサブネットグループの削除
<a name="delete-cluster-subnet-group"></a>

クラスターサブネットグループの使用が完了したら、グループを削除してクリーンアップする必要があります。以下の手順では、プロビジョニングされたクラスターのサブネットグループを削除する手順について説明します。

**クラスターサブネットグループを削除する方法**

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

1. ナビゲーションメニューで、**[Configurations]** (設定)、次に **[Subnet groups]** (サブネットグループ) を選択します。サブネットグループのリストが表示されます。

1. 削除するサブネットグループを選択して、[**削除**] を選択します。

**注記**  
クラスターで使用されているクラスターサブネットグループは削除することができません。

# VPC とサブネットへのパブリックアクセスをブロックする
<a name="block-public-access"></a>

VPC ブロックパブリックアクセス (BPA) は、AWS リージョンで所有している VPC とサブネットのリソースが、インターネットゲートウェイおよび送信専用 (Egress-Only) のインターネットゲートウェイを通じてインターネットに到達したり、インターネットから到達されたりしないよう一元的にブロックできるセキュリティ機能です。AWS アカウントでこの機能を有効にすると、デフォルトでは、Amazon Redshift が使用するすべての VPC またはサブネットに影響します。つまり、Amazon Redshift でパブリックオペレーションがすべて阻止されます。

VPC BPA を有効にしていて、パブリックインターネット経由で Amazon Redshift API を使用する場合は、VPC またはサブネットに対して Amazon EC2 API を使用するための除外を追加する必要があります。除外では、次のいずれかのモードを使用できます: 
+ **[双方向]**: 除外された VPC とサブネットとの間のすべてのインターネットトラフィックが許可されます。
+ **[エグレスのみ]**: 除外された VPCとサブネットからのアウトバウンドインターネットトラフィックが許可されます。除外された VPC とサブネットに対するインバウンドインターネットトラフィックはブロックされます。これは、BPA が双方向に設定されている場合にのみ適用されます。

VPC BPA の除外設定では、VPC 全体または VPC 内の特定のサブネットをパブリックアクセス可能として指定します。その境界内のネットワークインターフェイスでは、パブリックインターネットへのルートとアクセス権の有無に関して、セキュリティグループ、ルートテーブル、ネットワーク ACL など、通常の VPC ネットワークコントロールが尊重されます。除外の追加の詳細については、「*Amazon VPC ユーザーガイド*」の「[除外を作成および削除する](https://docs.aws.amazon.com//vpc/latest/userguide/security-vpc-bpa.html#security-vpc-bpa-exclusions)」を参照してください。

**プロビジョニング済みクラスター**

サブネットグループとは、同じ VPC からの複数のサブネットを組み合わせたものです。プロビジョニング済みクラスターのサブネットグループが、VPC BPA が有効なアカウントにある場合、次の機能はブロックされます。
+ パブリッククラスターを作成する
+ パブリッククラスターを復元する
+ プライベートクラスターをパブリックに変更する
+ サブネットグループ内にパブリッククラスターが 1 つ以上ある場合に、VPC BPA が有効なサブネットをそのグループに追加する

 **Serverless クラスター**

Redshift Serverless はサブネットグループを使用しません。代わりに、各クラスターに独自のサブネットセットがあります。VPC BPA が有効なアカウントにワークグループがある場合、次の機能はブロックされます。
+ パブリックアクセスワークグループを作成する
+ プライベートワークグループをパブリックに変更する
+ ワークグループがパブリックの場合に、VPC BPA が有効なサブネットをそのワークグループに追加する

# 拡張 VPC ルーティングを使用して Redshift でネットワークトラフィックを制御する
<a name="enhanced-vpc-routing"></a>

Amazon Redshift の拡張された VPC のルーティングを使用すると、Amazon Redshift は Amazon VPC サービスに基づく Virtual Private Cloud (VPC) を介して、クラスターとデータリポジトリ間のすべての [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) と [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) トラフィックを強制します。拡張 VPC ルーティングを使用することで、*Amazon VPC ユーザーガイド*に記載されているように、標準の VPC 機能を使用できます。これらの機能には、[VPC セキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)、[ネットワークアクセスコントロールリスト (ACL)](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)、[VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)、[VPC エンドポイントポリシー](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)、[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)、[ドメインネームシステム (DNS)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) サーバーなどがあります。これらの機能を使用して、Amazon Redshift クラスターと他のリソースの間のデータフローを制御します。拡張された VPC ルーティングを使用して VPC からトラフィックをルーティングする場合には、[VPC フローログ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)を使って COPY と UNLOAD トラフィックを監視することもできます。

 Amazon Redshift クラスターと Amazon Redshift Serverless ワークグループはどちらも高度な VPC ルーティングをサポートしています。Redshift Spectrum で拡張 VPC ルーティングを使用することはできません。詳細については、「[Redshift Spectrum を使用した Amazon S3 バケットへのアクセス](spectrum-enhanced-vpc.md)」を参照してください。

拡張された VPC ルーティングが有効でない場合、Amazon Redshift は AWS ネットワーク内のその他のサービスなどへのトラフィックをインターネット経由でルーティングします。

**重要**  
拡張された VPC ルーティングはそのほかのリソースに Amazon Redshift がアクセスする方法に影響を与えるため、VPC を正しく設定しないと COPY と UNLOAD コマンドが失敗する場合があります。次に説明するように、クラスターの VPC とデータリソース間のネットワークパスを別に作成する必要があります。

拡張された VPC ルーティングが有効化されているクラスターで COPY または UNLOAD コマンドを実行すると、VPC が利用可能なネットワークパスで*最も厳密*、または最も限定的なものを使用して、指定されたリソースにトラフィックをルーティングします。

たとえば、VPC で次のパスを設定できます。
+ **VPC エンドポイント** – クラスターまたはワークグループと同じ AWS リージョンの Amazon S3 バケットへのトラフィックで、バケットに直接トラフィックする VPC エンドポイントを作成できます。VPC のエンドポイントを使用すると、Amazon S3 へのアクセスを管理するためにエンドポイントのポリシーをアタッチできます。Redshift でのエンドポイントの使用に関する詳細は、「[VPC エンドポイントを使用したデータベーストラフィックの制御](enhanced-vpc-working-with-endpoints.md)」を参照してください。Lake Formation を使用する場合、VPC と AWS Lake Formation との間にプライベート接続を確立する方法の詳細については、「[AWS Lake Formation とインターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/lake-formation/latest/dg/privatelink.html)」を参照してください。
**注記**  
Redshift VPC エンドポイントを Amazon S3 VPC ゲートウェイエンドポイントと共に使用する場合は、Redshift で拡張 VPC のルーティングを有効にする必要があります。詳細については、「[Amazon S3 のゲートウェイエンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html)」を参照してください。
+ **NAT ゲートウェイ** – 別の AWS リージョンにある Amazon S3 バケットと、AWS ネットワーク内にある別のサービスに接続できます。また、AWS ネットワーク外のホストインスタンスにアクセスすることもできます。これを行うには、*Amazon VPC ユーザーガイド*の説明に従って、[ネットワークアドレス変換 (NAT) ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)を設定します。
+ **インターネットゲートウェイ** – VPC の外にある AWS サービスに接続するには、*Amazon VPC ユーザーガイド*の説明通りに、[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)を VPC サブネットにアタッチします。インターネットゲートウェイを使用するには、クラスターまたはワークグループは、他のサービスとの通信を可能にするためにアクセスできる必要があります。

詳細については、Amazon VPC ユーザーガイドの「[VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)」を参照してください。

拡張 VPC ルーティングは追加料金なしで使用できます。特定の操作では、追加のデータ転送料金が発生する可能性があります。これには、異なる AWS リージョンでの Amazon S3 への UNLOAD などのオペレーションが含まれます。Amazon EMR から COPY、またはパブリック IP アドレスを持つ Secure Shell (SSH)。料金の詳細については、「[Amazon EC2 料金表](https://aws.amazon.com/ec2/pricing/)」を参照してください。

**Topics**
+ [VPC エンドポイントを使用したデータベーストラフィックの制御](enhanced-vpc-working-with-endpoints.md)
+ [拡張 VPC ルーティングを有効にする](enhanced-vpc-enabling-cluster.md)
+ [Redshift Spectrum を使用した Amazon S3 バケットへのアクセス](spectrum-enhanced-vpc.md)

# VPC エンドポイントを使用したデータベーストラフィックの制御
<a name="enhanced-vpc-working-with-endpoints"></a>

VPC エンドポイントを使用して、VPC にある Amazon Redshift クラスターまたは Serverless ワークグループと Amazon Simple Storage Service (Amazon S3) 間でマネージド接続を作成することができます。このとき、データベースと Amazon S3 のデータ間の COPY と UNLOAD トラフィックは Amazon VPC に留まります。エンドポイントにエンドポイントポリシーをアタッチして、より厳密なデータアクセスの管理ができます。たとえば、アカウントの特定の Amazon S3 バケットにのみデータをアップロード許可するようなポリシーを VPC エンドポイントに追加できます。

VPC エンドポイントを使用するには、データウェアハウスがある VPC への VPC エンドポイントを作成し、それから拡張された VPC ルーティングを有効化します。クラスターまたはワークグループを作成する場合、拡張された VPC ルーティングを有効にするか、あるいは VPC のクラスターまたはワークグループを変更して拡張された VPC ルーティングとして使用することもできます。

VPC エンドポイントは、ルートテーブルを使用して VPC のクラスターまたはワークグループと Amazon S3 間のトラフィックのルーティングをコントロールします。特定のルートテーブルに関連付けられたサブネットのすべてのクラスターまたはワークグループは、自動的にそのエンドポイントを使用してサービスにアクセスします。

VPC はトラフィックをルーティングするために、トラフィックに合う最も特定された、または最も限定的なルートを使用します。たとえば、ルートテーブルで、インターネットゲートウェイと Amazon S3 エンドポイントを指すすべてのインターネットトラフィック (0.0.0.0/0) にルートがあるとします。この場合、Amazon S3 を宛先とするすべてのトラフィックでエンドポイントルートが優先されます これは、Amazon S3 サービスの IP アドレス範囲が 0.0.0.0/0 よりも具体的であるためです。この例では、他の AWS リージョン にある Amazon S3 バケット行きのトラフィックを含め、その他のすべてのインターネットトラフィックはインターネットゲートウェイに移動します。

エンドポイントの作成の詳細については、*Amazon VPC ユーザーガイド*の「[VPC エンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。

クラスターまたはワークグループからデータファイルがある Amazon S3 バケットへのアクセスを制御するために、エンドポイントポリシーを使用します。特定の制御については、オプションでカスタムエンドポイントポリシーをアタッチできます。詳細については、「*AWS PrivateLink ガイド*」の「[Control access to services using endpoint policies](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」を参照してください。

**注記**  
 AWS Database Migration Service (AWS DMS) は、リレーショナルデータベース、データウェアハウス、その他のタイプのデータストアを移行できるようにするクラウドサービスです。VPC が有効になっている Amazon Redshift データベースなど、任意の AWS ソースまたはターゲットデータベースに接続できますが、いくつかの設定制限があります。Amazon VPC エンドポイントのサポートにより、AWS DMS は、レプリケーションタスクにおいてエンドツーエンドのネットワークセキュリティを簡単に維持できます。AWS DMS での Redshift の使用の詳細については、「AWS Database Migration Service ユーザーガイド」の「[VPC エンドポイントを AWS DMS ソースエンドポイントとターゲットエンドポイントとして設定する](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_VPC_Endpoints.html)」を参照してください。**

エンドポイントは追加料金なしで使用できます。データ転送とリソースの使用量に対する標準料金が適用されます。料金の詳細については、「[Amazon EC2 料金表](https://aws.amazon.com/redshift/pricing/#Data_Transfer)」を参照してください。

# 拡張 VPC ルーティングを有効にする
<a name="enhanced-vpc-enabling-cluster"></a>

クラスターを作成または変更するとき、および Amazon Redshift Serverless ワークグループを作成または変更するときに、拡張された VPC ルーティングを有効にできます。

拡張された VPC ルーティングを操作するためには、クラスターまたは Serverless ワークグループが次の要件と制約を満たしている必要があります。
+ クラスターは VPC 内にある必要があります。

  Amazon S3 VPC エンドポイントをアタッチする場合、VPC エンドポイントは同じ AWS リージョンにある Amazon S3 バケットへのアクセスのためだけに使用します。他の AWS リージョンでバケットにアクセスしたり (VPC エンドポイントを使用せずに)、他の AWS サービスにアクセスするには、クラスターまたはServerless ワークグループのパブリックアクセスを有効にするか、[ネットワークアドレス変換 (NAT) ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)を使用します。詳細については、「[VPC での Redshift でプロビジョンされたクラスターまたは Amazon Redshift Serverless ワークグループの作成](getting-started-cluster-in-vpc.md)」を参照してください。
+ VPC でドメインネームサービス (DNS) 解決を有効にする必要があります。または、自分で所有する DNS サーバーを使用している場合は、Amazon S3 に送られる DNS リクエストが AWS により維持される IP アドレスに正しく変換されていることを確認する必要があります。詳細については、*Amazon VPC ユーザーガイド*の [VPC での DNS の使用](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)を参照してください。
+ DNS ホスト名を VPC で有効にする必要があります。DNS ホスト名はデフォルトで有効化されています。
+ VPC エンドポイントポリシーは、すべてのマニフェストファイル関連へのアクセスを含む Amazon Redshift で呼び出される COPY、UNLOAD、CREATE LIBRARY で使用されるすべての Amazon S3 バケットへのアクセスを許可している必要があります。リモートホストからの COPY では、エンドポイントポリシーが各ホストマシンへのアクセスを許可している必要があります。詳細については、*Amazon Redshift データベースデベロッパーガイド*の「[COPY、UNLOAD、CREATE LIBRARY のための IAM 許可](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-access-permissions.html#copy-usage_notes-iam-permissions)」を参照してください。

**プロビジョニングされたクラスターの拡張された VPC ルーティングを有効にするには**

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

1. ナビゲーションメニューで **[Provisioned Clusters]** (プロビジョニングされたクラスター)、**[Create cluster]** (クラスターを作成) の順に選択し、**[Cluster details]** (クラスターの詳細) プロパティを入力します。

1. [**Additional configurations (追加設定)**] セクションを表示するには、[**Use defaults (デフォルトの使用)**] をオフにします。

1. **[Network and security]** (ネットワークとセキュリティ) セクションに移動します。

1. **[Enhanced VPC routing]** (拡張された VPC のルーティング)を有効化するには、**[Turn on]** (有効) を選択してクラスタートラフィックが VPC を経由するよう強制します。

1. **[クラスターを作成]** を選択して、クラスターを作成します。クラスターの使用準備ができるまで、数分かかることがあります。

**Amazon Redshift Serverless の拡張された VPC ルーティングを有効化するには**

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

1. ナビゲーションメニューで **[Serverless dashboard]** (サーバーレスダッシュボード) を選択し、次に **[Create workgroup]** (ワークグループの作成)を選択して、ワークグループのプロパティを入力します。

1. **[Network and security]** (ネットワークとセキュリティ) セクションに移動します。

1. ネットワークトラフィックを VPC 経由でルーティングするには、**[Turn on enhanced VPC routing]** (拡張された VPC ルーティングを有効にする) を選択します。

1. **[Next]** (次へ) を選択し、ワークグループプロパティを入力して、ワークグループを**作成**します。

# Redshift Spectrum を使用した Amazon S3 バケットへのアクセス
<a name="spectrum-enhanced-vpc"></a>

一般に、Amazon Redshift Spectrum は、プロビジョニングされたクラスターでの拡張された VPC ルーティングをサポートしていません。ただし、拡張された VPC ルーティングが有効な場合でも、プロビジョニングされたクラスターは Amazon S3 から外部テーブルに対してクエリを実行できます。

Amazon Redshift の拡張された VPC ルーティングは、特定のトラフィックを VPC 経由で送信します。つまり、クラスターと Amazon S3 バケット間のすべてのトラフィックは、Amazon VPC を通過する必要があります。Redshift Spectrum は、Amazon Redshift が所有する AWS マネージドリソース上で実行されますが、VPC の外部にあるため、拡張された VPC ルーティングを使用しません。

Redshift Spectrum と Amazon S3 との間のトラフィックは、VPC の外部で AWS プライベートネットワークを介して安全にルーティングされます。処理中のトラフィックは Amazon Signature Version 4 プロトコル (SIGv4) を使用して署名され、HTTPS を使用して暗号化されます。このトラフィックは、Amazon Redshift クラスターに添付されている IAM ロールに基づいて承認されます。Redshift Spectrum トラフィックをさらに管理するには、クラスターの IAM ロールと、Amazon S3 バケットに添付されているポリシーを変更します。また、次の詳細のとおり、クラスターが AWS Glue または Athena にアクセスできるよう VPC を設定する必要がある場合があります。

 拡張された VPC ルーティングはその他のリソースに Amazon Redshift がアクセスする方法に影響を与えるため、VPC を正しく設定しないとクエリが失敗する場合があることに注意してください。詳細については、「[拡張 VPC ルーティングを使用して Redshift でネットワークトラフィックを制御する](enhanced-vpc-routing.md)」を参照してください。Amazon S3 バケットにトラフィックを送信するための VPC エンドポイント、NAT ゲートウェイ、およびその他のネットワークリソースの作成について詳しく説明しています。

**注記**  
Amazon Redshift Serverless は、Amazon S3 の外部テーブルへのクエリの拡張された VPC ルーティングをサポートしています。設定の詳細については、「Amazon Redshift Serverless 入門ガイド」の「[Amazon S3 からデータをロードする](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-load-data-from-s3)」を参照してください。

## Amazon Redshift Spectrum を使用する場合のアクセス許可ポリシーの設定
<a name="spectrum-enhanced-vpc-considerations"></a>

Redshift Spectrum を使用する場合、以下の点を考慮してください。
+ [Amazon S3 バケットアクセスポリシーと IAM ロール](#spectrum-enhanced-vpc-considerations-policies)
+ [IAM ロールを引き受けるためのアクセス許可](#spectrum-enhanced-vpc-considerations-cluster-role)
+ [Amazon S3 アクセスのログ記録と監査](#spectrum-enhanced-vpc-considerations-logging-s3)
+ [AWS Glue または Amazon Athena へのアクセス](#spectrum-enhanced-vpc-considerations-glue-access)

### Amazon S3 バケットアクセスポリシーと IAM ロール
<a name="spectrum-enhanced-vpc-considerations-policies"></a>

バケットに添付されたバケットポリシーを使用、およびプロビジョニングされたクラスターにアタッチされた IAM ロールを使用することで、Amazon S3 バケットにあるデータへのアクセスを管理できます。

プロビジョニングされたクラスターの Redshift Spectrum は、指定された VPC エンドポイントへのアクセスのみを制限するバケットポリシーを使用する Amazon S3 バケットに格納されているデータにはアクセスできません。代わりに、特定の AWS アカウントやユーザーなど、特定のプリンシパルへのアクセスのみを制限するバケットポリシーを使用します。

バケットへのアクセス権限を付与された IAM ロールには、Amazon Redshift サービスプリンシパルのみがロールを引き受けることを許可する信頼関係を使用します。ロールがクラスターに添付されると、ロールは Amazon Redshift のコンテキストでのみ使用でき、クラスター外で共有することはできません。詳細については、「[IAM ロールへのアクセスの制限](authorizing-redshift-service-database-users.md)」を参照してください。サービスコントロールポリシー (SCP) を使用して、ロールをさらに制限することもできます。「*AWS Organizations ユーザーガイド*」の「[特定の管理者ロールを除いて、IAM ユーザーとロールが特定の変更を行わないようにする](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-restricts-with-exception)」を参照してください。

**注記**  
Redshift Spectrum を使用する場合は、Amazon S3 の署名付き URL の使用をブロックする IAM ポリシーを設定できません。Amazon Redshift Spectrum によって生成された署名付き URL は 1 時間有効です。これにより、Amazon Redshift は Amazon S3 バケットからすべてのファイルをロードするのに十分な時間を確保できます。Redshift Spectrum によってスキャンされたファイルごとに一意の署名付き URL が生成されます。`s3:signatureAge` アクションを含むバケットポリシーの場合は、値を少なくとも 3,600,000 ミリ秒に設定してください。

次のバケットポリシーの例では、AWS アカウント (`123456789012`) が所有する、指定されたバケットへのアクセスを許可します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BucketPolicyForSpectrum",
            "Effect": "Allow",
            "Principal": {
                "AWS": ["arn:aws:iam::123456789012:role/redshift"]
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

### IAM ロールを引き受けるためのアクセス許可
<a name="spectrum-enhanced-vpc-considerations-cluster-role"></a>

クラスターに添付されたロールには、次に示すように、Amazon Redshift サービスによってのみ引き受けられることを許可する信頼関係があります。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "redshift.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

詳細については、「*Amazon Redshift データベース開発者ガイド*」の「[Redshift Spectrum 用 IAM ポリシー](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-iam-policies.html)」を参照してください。

### Amazon S3 アクセスのログ記録と監査
<a name="spectrum-enhanced-vpc-considerations-logging-s3"></a>

Amazon Redshift 拡張された VPC のルーティングを使用する利点の 1 つは、すべての COPY および UNLOAD トラフィックが VPC フローログに記録されることです。Redshift Spectrum から Amazon S3 へのトラフィックは VPC を通過しないため、VPC フローログに記録されません。Redshift Spectrum が Amazon S3 にあるデータにアクセスする際、AWS アカウントとそれぞれのロール権限のコンテキストでこれらのオペレーションが実行されます。AWS CloudTrail と Amazon S3 でサーバーアクセスのログ記録を使用して、Amazon S3 のアクセスをログ記録し、監査を行えます。

S3 IP 範囲が許可リストに追加されていることを確認します。必要な S3 IP 範囲の詳細については、「[ネットワークの隔離](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation)」を参照してください。

**AWS CloudTrail ログ** 

Redshift Spectrum を含め、Amazon S3 にあるオブジェクトへのすべてのアクセスを追跡するには、Amazon S3 オブジェクトの CloudTrail ログ記録を有効化します。

CloudTrail を使用することで、AWS インフラストラクチャ全体のアカウントアクティビティを表示、検索、ダウンロード、アーカイブ、分析し、それに対応できます。詳細については、「[CloudTrail の開始方法](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-getting-started.html)」を参照してください。

デフォルトでは、CloudTrail はバケットレベルのアクションのみを追跡します。オブジェクトレベルのアクション (`GetObject` など) を追跡するには、ログが記録されたバケットそれぞれのデータイベントおよび管理イベントを有効化します。

**Amazon S3 サーバーアクセスログ** 

サーバーアクセスのログには、バケットに対するリクエストの詳細が記録されます。アクセスログ情報は、セキュリティとアクセス監査に役立ちます。詳細については、*Amazon Simple Storage Service ユーザーガイド*の[サーバーアクセスのログ記録を有効にする方法](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html#server-access-logging-overview)を参照してください。

詳細については、AWS セキュリティブログの記事「[How to Use Bucket Policies and Apply Defense-in-Depth to Help Secure Your Amazon S3 Data](https://aws.amazon.com/blogs/security/how-to-use-bucket-policies-and-apply-defense-in-depth-to-help-secure-your-amazon-s3-data/)」を参照してください。

### AWS Glue または Amazon Athena へのアクセス
<a name="spectrum-enhanced-vpc-considerations-glue-access"></a>

Redshift Spectrum では、AWS Glue または Athena のデータカタログにアクセスできます。データカタログの専用 Hive メタストアを使用してアクセスすることもできます。

AWS Glue または Athena へのアクセスを有効にするには、インターネットゲートウェイまたは NAT ゲートウェイで VPC を設定します。AWS Glue または Athena のパブリックエンドポイントへのアウトバウンドトラフィックを許可するよう、VPC セキュリティグループを設定します。また、AWS Glue から AWS Glue Data Catalog にアクセスできるように、インターフェイスの VPC エンドポイントを設定できます。VPC インターフェイスエンドポイントを使用すると、AWS ネットワーク内で VPC と AWS Glue 間の通信が行われます。詳細については、「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。

VPC で次のパスを設定できます。
+ **インターネットゲートウェイ** – VPC の外にある AWS サービスに接続するには、*Amazon VPC ユーザーガイド*の説明通りに、[インターネットゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)を VPC サブネットにアタッチします。インターネットゲートウェイを使用するには、プロビジョニングされたクラスターは他のサービスとの通信を可能にするパブリック IP アドレスが必要です。
+ **NAT ゲートウェイ** – 別の AWS リージョンの Amazon S3 バケットまたは AWS ネットワーク内の別のサービスに接続するには、*Amazon VPC ユーザーガイド*の説明通りに、[ネットワークアドレス変換 (NAT) ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)を設定します。この設定を使用して、AWS ネットワーク外のホストインスタンスにアクセスすることもできます。

詳細については、「[拡張 VPC ルーティングを使用して Redshift でネットワークトラフィックを制御する](enhanced-vpc-routing.md)」を参照してください。