AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

AWS::Redshift::Cluster

クラスターを指定します。クラスター とはコンピューティングノードの組み合わせで構成されるフルマネージド型データウェアハウスです。

Virtual Private Cloud (VPC) でクラスターを作成するには、クラスターサブネットグループ名を指定する必要があります。クラスターサブネットグループは、クラスターを作成するときに Amazon Redshift が使用する VPC のサブネットを識別します。クラスターの管理方法の詳細については、Amazon Redshift クラスター管理ガイド の「Amazon Redshift クラスター」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::Redshift::Cluster", "Properties" : { "AllowVersionUpgrade" : Boolean, "AutomatedSnapshotRetentionPeriod" : Integer, "AvailabilityZone" : String, "ClusterIdentifier" : String, "ClusterParameterGroupName" : String, "ClusterSecurityGroups" : [ String, ... ], "ClusterSubnetGroupName" : String, "ClusterType" : String, "ClusterVersion" : String, "DBName" : String, "ElasticIp" : String, "Encrypted" : Boolean, "HsmClientCertificateIdentifier" : String, "HsmConfigurationIdentifier" : String, "IamRoles" : [ String, ... ], "KmsKeyId" : String, "LoggingProperties" : LoggingProperties, "MasterUserPassword" : String, "MasterUsername" : String, "NodeType" : String, "NumberOfNodes" : Integer, "OwnerAccount" : String, "Port" : Integer, "PreferredMaintenanceWindow" : String, "PubliclyAccessible" : Boolean, "SnapshotClusterIdentifier" : String, "SnapshotIdentifier" : String, "Tags" : [ Tag, ... ], "VpcSecurityGroupIds" : [ String, ... ] } }

プロパティ

AllowVersionUpgrade

true の場合、メジャーバージョンのアップグレードをメンテナンスウィンドウ中にクラスターで実行されている Amazon Redshift エンジン適用できます。

Amazon Redshift エンジンの新しいメジャーバージョンがリリースされたとき、メンテナンスの時間帯にアップグレードがサービスによりクラスターで実行されている Amazon Redshift エンジンに自動的に適用されるようにリクエストすることができます。

デフォルト: true

必須: いいえ

タイプ: ブール値

Update requires: No interruption

AutomatedSnapshotRetentionPeriod

自動スナップショットが保持される日数。この値が 0 の場合、自動スナップショットは無効になります。自動スナップショットが無効にされていても、CreateClusterSnapshot で必要なときに手動スナップショットを作成できます。

デフォルト: 1

制限: 0~35 の値である必要があります。

必須: いいえ

タイプ: 整数

Update requires: No interruption

AvailabilityZone

Amazon Redshift でクラスターをプロビジョニングする EC2 のアベイラビリティーゾーン (AZ)。たとえば、特定のアベイラビリティーゾーンで実行されている EC2 インスタンスが複数存在する場合、同じゾーンにクラスターをプロビジョニングすることでネットワークのレイテンシーを低く抑えることができます。

デフォルト: エンドポイントによって指定されるリージョン内でランダムにシステムが選択したアベイラビリティーゾーン。

例: us-east-1d

制約: 指定されたアベイラビリティーゾーンは、現在のエンドポイントと同じリージョンにある必要があります。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

ClusterIdentifier

クラスターの一意の識別子。この識別子を使用して、削除または変更など、後続のクラスター操作でクラスターを参照します。この識別子は Amazon Redshift コンソールでも表示されます。

制約:

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

  • 英字は小文字を使用する必要があります。

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

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

  • AWS アカウントのすべてのクラスター間で一意である必要があります。

例: myexamplecluster

必須: いいえ

タイプ: 文字列

Update requires: Replacement

ClusterParameterGroupName

このクラスターに関連付けられるパラメータグループの名前。

デフォルト: デフォルトの Amazon Redshift クラスターのパラメータグループ。デフォルトのパラメータグループの詳細については、「Working with Amazon Redshift Parameter Groups」を参照してください。

制約:

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

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

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

必須: いいえ

タイプ: 文字列

Update requires: No interruption

ClusterSecurityGroups

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

デフォルト: Amazon Redshift のデフォルトのクラスターセキュリティグループ。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

ClusterSubnetGroupName

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

このパラメータを指定しない場合、結果として作成されるクラスターは仮想プライベートクラウド (VPC) の外部でデプロイされます。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

ClusterType

クラスターのタイプ。クラスタータイプが次のように指定された場合

  • single-nodeNumberOfNodes パラメータは必須ではありません。

  • multi-nodeNumberOfNodes パラメータは必須です。

有効な値: multi-node | single-node

デフォルト: multi-node

必須: はい

タイプ: 文字列

Update requires: No interruption

ClusterVersion

クラスターにデプロイする Amazon Redshift エンジンソフトウェアのバージョン。

選択したバージョンは、クラスター内のすべてのノードで実行されます。

制約: 現在、バージョン 1.0 のみご利用いただけます。

例: 1.0

必須: いいえ

タイプ: 文字列

Update requires: No interruption

DBName

クラスターの作成時に作成される最初のデータベースの名前。

クラスターが作成された後で追加のデータベースを作成するには、SQL クライアントを使用してクラスターに接続し、SQL コマンドを使用してデータベースを作成します。詳細については、Amazon Redshift データベース開発者ガイドの「データベースを作成する」を参照してください。

デフォルト: dev

制約:

  • 1 ~ 64 文字の英数字を使用する必要があります。

  • 小文字のみを使用する必要があります。

  • サービスの予約語は使用できません。予約語の一覧については、Amazon Redshift データベース開発者ガイドの「予約語」を参照してください。

必須: はい

タイプ: 文字列

Update requires: Replacement

ElasticIp

クラスターのElastic IP (EIP) アドレス。

制約: クラスターは、EC2-VPC でプロビジョニングする必要があり、インターネットゲートウェイを介してパブリックにアクセスできる必要があります。EC2-VPC でクラスターをプロビジョニングする方法の詳細については、Amazon Redshift クラスター管理ガイドの「クラスターの起動用にサポートされているプラットフォーム」を参照してください。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

Encrypted

true の場合、クラスター内のデータは保管時に暗号化されます。

デフォルト: False

必須: いいえ

タイプ: ブール値

Update requires: Replacement

HsmClientCertificateIdentifier

HSM に格納されているデータの暗号化キーを取得するために Amazon Redshift クラスターが使用する HSM クライアント証明書の名前を指定します。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

HsmConfigurationIdentifier

Amazon Redshift クラスターが HSM 内のキーを取得したり保存したりするときに使用する情報が存在する HSM 設定の名前を指定します。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

IamRoles

クラスターが他の AWS サービスにアクセスする際に使用できる AWS Identity and Access Management (IAM) ロールのリスト。Amazon リソースネーム (ARN) 形式で IAM ロールを指定する必要があります。1 回のリクエストで最大 10 の IAM ロールを指定できます。

クラスターには、いつでも最大 10 の IAM ロールを関連付けることができます。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

KmsKeyId

クラスターでのデータの暗号化に使用する暗号化キーの AWS Key Management Service (KMS) キー ID。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

LoggingProperties

指定された Amazon Redshift クラスターに対し、クエリや接続試行などのログ情報を指定します。

必須: いいえ

タイプ: LoggingProperties

Update requires: No interruption

MasterUserPassword

作成中のクラスターのマスターユーザーアカウントに関連付けられているパスワード。

制約:

  • 8~64 文字の長さにする必要があります。

  • 最低 1 個の大文字を含める必要があります。

  • 最低 1 個の小文字を含める必要があります。

  • 数字を 1 個含める必要があります。

  • 表示可能な ASCII 文字(ASCII コード 33~126)のうち、'(シングルクォート)、"(ダブルクォート)、\、/、@ および空白を除く任意の文字を使用できます。

必須: はい

タイプ: 文字列

Update requires: No interruption

MasterUsername

作成中のクラスターのマスターユーザーアカウントに関連付けられているユーザー名。

制約:

  • 1~128 文字の英数字である必要があります。ユーザー名を PUBLIC にすることはできません。

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

  • 予約語は使用できません。予約語の一覧については、Amazon Redshift データベース開発者ガイドの「予約語」を参照してください。

必須: はい

タイプ: 文字列

Update requires: Replacement

NodeType

クラスターのためにプロビジョニングするノードタイプ。ノードタイプの詳細については、Amazon Redshift クラスター管理ガイド の「クラスターの使用」を参照してください。

有効な値: ds2.xlarge| ds2.8xlarge| ds2.xlarge| ds2.8xlarge| dc1.large| dc1.8xlarge| dc2.large| dc2.8xlarge

必須: はい

タイプ: 文字列

Update requires: No interruption

NumberOfNodes

クラスターのコンピューティングノードの数。このパラメータは、ClusterType パラメータが multi-node として指定されるときに必須です。

必要な数のノードを決定する方法については、Amazon Redshift クラスター管理ガイド の「クラスターの使用」を参照してください。

このパラメータを指定しない場合、単一ノードクラスターを取得します。マルチノードクラスターをリクエストする場合、クラスター内に含めるノードの数を指定する必要があります。

デフォルト: 1

制約: 値は 1 以上 100 以内にする必要があります。

必須: いいえ

タイプ: 整数

Update requires: No interruption

OwnerAccount

スナップショットを作成またはコピーするために使用する AWS 顧客アカウント。自分が所有していないスナップショットを復元する場合は必須で、スナップショットを所有している場合はオプションです。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

Port

クラスターが着信接続を受け付けるポート番号。

クラスターは JDBC および ODBC 接続文字列を介してのみアクセスできます。接続文字列の一部では、クラスターが着信接続をリッスンするポートが必要です。

デフォルト: 5439

有効な値: 1150-65535

必須: いいえ

タイプ: 整数

Update requires: Replacement

PreferredMaintenanceWindow

週 1 回の自動化されたクラスターのメンテナンスを実行できる時間範囲 (UTC)。

形式: ddd:hh24:mi-ddd:hh24:mi

デフォルト: 1 週間のうちのランダムな日に起こる、リージョンあたり 8 時間の範囲からランダムに選択された 30 分の時間窓。各リージョンの時間帯の詳細については、Amazon Redshift クラスター管理ガイドの「メンテナンスウィンドウ」を参照してください。

有効な日数: Mon | Tue | Wed | Thu | Fri | Sat | Sun

制約: 最小限の 30 分単位のウィンドウ。

必須: いいえ

タイプ: 文字列

Update requires: No interruption

PubliclyAccessible

true の場合、クラスターはパブリックネットワークからアクセスできます。

必須: いいえ

タイプ: ブール値

Update requires: No interruption

SnapshotClusterIdentifier

スナップショットの作成元となったクラスターの名前。このパラメータは、IAM ユーザーに * 以外のクラスター名を指定するスナップショットリソースエレメントを含むポリシーがある場合、必須です。

必須: いいえ

タイプ: 文字列

Update requires: Replacement

SnapshotIdentifier

新しいクラスターの作成元となるスナップショットの名前。このパラメータでは大文字と小文字は区別されません。

例: my-snapshot-id

必須: いいえ

タイプ: 文字列

Update requires: Replacement

Tags

タグインスタンスのリスト。

必須: いいえ

タイプ: Tag のリスト

Update requires: No interruption

VpcSecurityGroupIds

クラスターに関連付けられる Virtual Private Cloud(VPC) セキュリティグループのリスト。

デフォルト: デフォルトの VPC セキュリティグループはクラスターに関連付けられています。

必須: いいえ

タイプ: 文字列のリスト

Update requires: No interruption

戻り値

参照番号

このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref が返ります。 リソース名。例:

{ "Ref": "myCluster" }

Amazon Redshift クラスター myCluster では、Ref からそのクラスターの名前が返されます。

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 組み込み関数は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

Fn::GetAtt 組み込み関数の使用方法の詳細については、「Fn::GetAtt」を参照してください。

Endpoint.Address

Amazon Redshift クラスターの接続エンドポイント。例: examplecluster.cg034hpkmmjt.us-east-1.redshift.amazonaws.com

Endpoint.Port

Amazon Redshift クラスターが接続を受け付けるポート番号。例: 5439

単一ノードクラスター

次の例は、単一ノードの Redshift クラスターを表しています。マスターユーザーパスワードは、同じテンプレートの入力パラメータから参照されます。

JSON

"myCluster": { "Type": "AWS::Redshift::Cluster", "Properties": { "DBName": "mydb", "MasterUsername": "master", "MasterUserPassword": { "Ref" : "MasterUserPassword" }, "NodeType": "ds2.xlarge", "ClusterType": "single-node", "Tags": [ "Key": "foo", "Value": "bar" } ] } }

YAML

myCluster: Type: "AWS::Redshift::Cluster" Properties: DBName: "mydb" MasterUsername: "master" MasterUserPassword: Ref: "MasterUserPassword" NodeType: "ds2.xlarge" ClusterType: "single-node" Tags: - Key: foo Value: bar

以下の資料も参照してください。