Amazon Redshift でプロビジョニングされたクラスター - Amazon Redshift

Amazon Redshift でプロビジョニングされたクラスター

移行のセクションでは、Amazon Redshift クラスターと呼ばれる一連のコンピューティングノードを起動してデータウェアハウスを作成する方法の基本を学習します。

Amazon Redshift の概要

Amazon Redshift データウェアハウスは、ノードと呼ばれるコンピューティングリソースの集合で、クラスターと呼ばれるグループに編成されています。各クラスターは Amazon Redshift エンジンを実行し、1 つ以上のデータベースを含みます。

注記

現時点では、Amazon Redshift バージョン 1.0 エンジンを利用できます。ただし、エンジンの更新に伴い、複数の Amazon Redshift エンジンバージョンを選択できるようになる可能性があります。

Amazon Redshift のクラスターとノード

Amazon Redshift クラスターは、ノードで構成されています。クラスターごとに、リーダーノードと 1 つまたは複数のコンピューティングノードがあります。リーダーノードは、クライアントアプリケーションからクエリを受け取ってクエリを解析し、クエリ実行プランを作成します。次に、これらのプランの並列実行をコンピューティングノードと調整し、コンピューティングノードからの中間結果を集計します。最終的にクライアントアプリケーションに結果を返します。

コンピューティングノードは、クエリ実行プランを実行し、これらのクエリを処理するためにコンピューティングノード間でのデータ送信を行います。中間結果は、リーダーノードに送られて集計されてから、クライアントアプリケーションに送り返されます。リーダーノードとコンピューティングノードの詳細については、Amazon Redshift データベースデベロッパーガイドデータウェアハウスシステムのアーキテクチャを参照してください。

注記

Amazon Redshift コンソールでクラスターを作成する場合 (https://console.aws.amazon.com/redshiftv2/) は、データのサイズとクエリの特性に基づいてクラスター設定に関する推奨事項を取得できます。このサイズ計算ツールを使用するには、RA3 ノードタイプがサポートされている AWS リージョンのコンソールで [ヘルプ選択] を見つけてください。詳細については、「クラスターの作成」を参照してください。

クラスターを起動するときに指定するオプションの 1 つに、ノードタイプがあります。ノードタイプによって、各ノードの CPU、RAM、ストレージ容量、およびストレージデバイスでのタイプが決まります。

Amazon Redshift ではお客様のワークロードに対処するため、様々なノードタイプをご用意しています。必要なパフォーマンス、データサイズ、その増大によって、RA3 または DC2 をお選びいただくよう推奨します。

マネージドストレージが付属する RA3 ノードでは、コンピューティング性能とマネージドストレージのスケーリングと支払いを独立させることで、データウェアハウスを最適化できます。RA3 では、パフォーマンス要件に基づいてノードの数を選択し、使用したマネージドストレージに対してのみ料金が発生します。日々処理するデータ量を基に、RA3 クラスターのサイズを選択してください。RA3 ノードタイプを使用するクラスターは、仮想プライベートクラウド (VPC) で起動します。RA3 クラスターを EC2-Classic で起動することはできません。詳細については、「VPC でクラスターを作成する」を参照してください。

Amazon Redshift のマネージドストレージでは、各 RA3 ノードに大容量の高性能 SSD を使用し、ローカルストレージの高速化が行われています。また、Amazon S3 によって長期間の耐久性があるストレージが提供されています。1 つのノード内のデータが増加して大容量ローカル SSD のサイズを超えた場合、そのデータは Amazon Redshift のマネージドストレージにより自動的に Amazon S3 にオフロードされます。Amazon Redshift のマネージドストレージに対して支払うのは、データが高性能 SSD 内にあるか Amazon S3 内にあるかにかかわらず、同じ低額な料金です。ますます増大するストレージを必要とするワークロードの場合、マネージドストレージを使用することで、コンピューティングノードとは別に、データウェアハウスのストレージ容量を自動的にスケールできます。

DC2 ノードでは、ローカル SSD ストレージを使用してコンピューティング負荷の高いデータウェアハウスを持つことができます。必要なノード数はデータサイズとパフォーマンス要件に基づいて選択します。DC2 ノードは高いパフォーマンスを引き出すためローカルにデータを保存し、データのサイズが増えるに従って、さらに多くのコンピューティングノードを追加して、クラスターのストレージ容量を増強できます。圧縮で 1 TB 未満のデータセットでは、最も低い価格で最良のパフォーマンスを得るため、DC2 ノードタイプの利用を推奨します。データ量の増大が予想される場合は、RA3 ノードのご利用をお勧めします。このタイプのノードを使用することで、コンピューティング性能とストレージを別々にサイジングし、最高量の料金とパフォーマンスを活用できます。DC2 ノードタイプを使用するクラスターは、Virtual Private Cloud (VPC) で起動します。DC2 クラスターを EC2-Classic で起動することはできません。詳細については、「VPC でクラスターを作成する」を参照してください。

DS2 ノードはハードディスクドライブ (HDD) を使用して、大容量のデータウェアハウスを作成できるので、代わりに RA3 ノードを使用するようお勧めします。DS2 ノードを使用している場合、アップグレードのガイドラインについては、「RA3 ノードタイプへのアップグレード」を参照してください。ds2.xlarge のノードを 8 個以上使用しているお客様、または数に関係なく ds2.8xlarge ノードをご利用のお客様は、RA3 にアップグレードし、同じオンデマンドコストで、2 倍のストレージとより高いパフォーマンスをご利用になれます。

ノードタイプは、さまざまなサイズで使用できます。ノードサイズとノードの数によって、クラスターのストレージ総容量が決まります。詳細については、「ノードタイプの詳細」を参照してください。

ノードタイプに応じて、1 つのノード (単一ノード) または複数のノード (複数ノード) を使用できます。一部のノードタイプのクラスターのノードの 最小数は 2 ノードです。単一ノードクラスターでは、ノードは機能上リーダーとコンピューティングで共有されます。単一ノードクラスターは、本番稼働ワークロードの実行には推奨されません。マルチノードクラスターでは、リーダーノードとコンピューティングノードは分かれています。リーダーノードは、コンピューティングノードと同じノードタイプです。料金はコンピューティングノードに対してのみ課金されます。

Amazon Redshift では、各 AWS リージョンにおけるそれぞれの AWS アカウントのリソースにクォータが適用されます。クォータは、アカウントが AWS リージョン内の特定のリソースタイプ (ノードやスナップショットなど) に作成できるリソースの数を制限します。Amazon Redshift リソースに適用されるデフォルトクォータの詳細については、Amazon Web Services 全般のリファレンス の「Amazon Redshift における制限」を参照してください。上限緩和をご希望の場合は、Amazon Redshift 上限緩和申請を送信します。

クラスターのコストは、AWS リージョン、ノードタイプ、ノード数、ノードが事前に予約されているかどうかによって異なります。ノードのコストについては、Amazon Redshift の料金表ページを参照してください。

ノードタイプの詳細

以下のテーブルは、各ノードタイプとサイズのノード仕様をまとめたものです。表の見出しには、次の意味があります。

  • vCPU は各ノードの仮想 CPU の数です。

  • RAM は、各ノードのギビバイト (GiB) 単位のメモリ量です。

  • ノードあたりのスライスの数は、従来のサイズ変更でクラスターを作成またはサイズ変更するときに、コンピューティングノードがパーティション分割されるデフォルトのスライス数です。

    伸縮自在なリサイズを使用してクラスターのサイズを変更すると、ノードあたりのスライス数が変わる可能性があります。​ ただし、クラスターのすべてのコンピューティングノードのスライスの総数は、伸縮自在なサイズ変更後も変わりません。

    スナップショットからの復元操作を使用してクラスターを作成する場合、ノードタイプを変更すると、元のクラスターから生成されるクラスターのスライスの数が変わることがあります。

  • ストレージは、各ノードのストレージの容量とタイプです。

  • ノード範囲は、Amazon Redshift によりサポートされている、ノードタイプとサイズに対するノードの最小数および最大数です。

    注記

    選択した AWS リージョン内の AWS アカウントに適用されたクォータによっては、さらに少ないノードに制限されることがあります。上限緩和をご希望の場合は、Amazon Redshift 上限緩和申請を送信します。

  • 総容量とは、ノード範囲で指定されているノードの最大数をデプロイした場合のクラスターのストレージ合計容量です。

RA3 ノードタイプ
ノードの種類 vCPU RAM (GiB) ノードごとのデフォルトスライス ノードあたりのマネージドストレージの制限 1 クラスター作成によるノード範囲 マネージドストレージの総容量 2
ra3.xlplus (シングルノード) 4 32 2 4 TB 1 4 TB3
ra3.xlplus (マルチノード) 4 32 2 32 TB 2~164 1024 TB4
ra3.4xlarge 12 96 4 128 TB 2~325 8192 TB5
ra3.16xlarge 48 384 16 128 TB 2~128 16,384 TB

1 Amazon Redshift マネージドストレージ用のストレージ制限を示します。これはハード制限です。

2 マネージドストレージ制限の合計は、ノードの最大数にノードあたりのマネージドストレージの制限を掛けたものです。

3 シングルノードクラスターのサイズをマルチノードに変更するには、従来のサイズ変更のみがサポートされます。

4 ra3.xlplus (マルチノード) ノードタイプで、最大 16 個のノードを持つクラスターを作成できます。マルチノードクラスターでは、伸縮自在なサイズ変更により最大 32 個のノードに変更できます。

5 ra3.4xlarge ノードタイプで、最大 32 個のノードを持つクラスターを作成できます。伸縮自在なサイズ変更で、最大 64 ノードまでノード変更できます。

高密度ストレージノードタイプ
ノードの種類 vCPU RAM (GiB) ノードごとのデフォルトスライス 1 ノードあたりのストレージ ノード範囲 合計容量
ds2.xlarge 4 31 2 2 TB HDD 1~32 64 TB
ds2.8xlarge 36 244 16 16 TB HDD 2~128 2 PB
高密度コンピューティングノードタイプ
ノードの種類 vCPU RAM (GiB) ノードごとのデフォルトスライス 1 ノードあたりのストレージ ノード範囲 合計容量
dc2.large 2 15 2 160 GB NVMe-SSD 1~32 5.12 TB
dc2.8xlarge 32 244 16 2.56 TB NVMe-SSD 2~128 326 TB
dc1.large1 2 15 2 160 GB SSD 1~32 5.12 TB
dc1.8xlarge1 32 244 32 2.56 TB SSD 2~128 326 TB

1 DC1 ノードタイプよりも DC2 ノードタイプをお勧めします。アップグレード方法の詳細については、「DC1 ノードタイプから DC2 ノードタイプへのアップグレード」を参照してください。

ノードタイプの以前の名前

Amazon Redshift の以前のリリースでは、特定のノードタイプは異なる名前でした。Amazon Redshift API および AWS CLI では、以前の名前を使用できます。ただし、古い名前を参照するスクリプトは更新し、現在の名前を使用することをお勧めします。現在の名前と以前の名前は、次のとおりです。

現在の名前 以前の名前
ds2.xlarge ds1.xlarge、dw.hs1.xlarge、dw1.xlarge
ds2.8xlarge ds1.8xlarge、dw.hs1.8xlarge、dw1.8xlarge
dc1.large dw2.large
dc1.8xlarge dw2.8xlarge

ノードの数の決定

Amazon Redshift はクラスターのすべてのコンピューティングノードにクエリを分散して並列的に実行するので、クラスターにノードを追加することでクエリパフォーマンスを向上させることができます。2 つ以上のコンピューティングノードを持つクラスターを実行すると、データ損失が発生するリスクを低減するため、各ノードのデータが別のノードのディスクにミラーリングされます。

Amazon Redshift コンソールと Amazon CloudWatch メトリクスを使用して、クエリのパフォーマンスをモニタリングできます。クラスターの価格とパフォーマンスのバランスを維持するために、必要に応じてノードを追加または削除することもできます。追加のノードをリクエストしたときは、Amazon Redshift でデプロイメント、ロードバランシング、およびデータメンテナンスの詳細がすべて管理されます。クラスターパフォーマンスの詳細については、「Amazon Redshift クラスターパフォーマンスのモニタリング」を参照してください。

リザーブドノードは、一定量の本番稼働番ワークロードに最適で、オンデマンド料金と比べて大幅な割引を受けることができます。本番稼働設定を検証するために、実験と概念実証を実行した後で、リザーブドノードを購入できます。詳細については、「Amazon Redshift リザーブドノードの購入」を参照してください。

クラスターを一時停止すると、クラスターが一時停止している間にオンデマンド課金が中断されます。この一時停止期間中は、バックアップストレージに対してのみお支払いいただきます。これにより、データウェアハウスの容量を事前にプランニングしたり購入したりする手間が省けます。また、開発環境またはテスト環境をコスト効率のよい方法で管理することができます。

オンデマンドノードとリザーブドノードの料金については、「Amazon Redshift 料金表」を参照してください。

クラスターの作成時に EC2-VPC を使用する

Amazon Redshift クラスターは、選択した Amazon Redshift ノードタイプとサイズに合わせて構成された Amazon EC2 インスタンスで実行されます。EC2-VPC を使用してクラスターを作成します。EC2-Classic をまだ使用している場合は、EC2-VPC を使用してパフォーマンスとセキュリティを向上させることをお勧めします。これらのネットワークプラットフォームの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドからサポートされているプラットフォームを参照してください。AWS アカウントの設定によって、EC2-VPC または EC2-Classic のどちらを利用できるかが決まります。

注記

SQL クライアントツールと Amazon Redshift データベースとの接続問題を防止するには、以下の 2 つの方法のいずれかを実行することをお勧めします。パケットサイズの交渉をホストに許可する着信ルールを設定できます。または、Amazon EC2 インスタンスのネットワークインターフェイス (NIC) で最大転送単位 (MTU) を 1500 に設定して、TCP/IP ジャンボフレームを無効化できます。上記の方法の詳細については、「クエリがハングして、クラスターに達しない場合がある」を参照してください。

EC2-VPC

EC2-VPC を使用する場合、クラスターは AWS アカウントに論理的に隔離された 仮想プライベートクラウド (VPC) 内で稼働します。EC2-VPC プラットフォームのクラスターをプロビジョニングする場合は、クラスターに 1 つ以上の VPC のセキュリティグループを関連付けて、クラスターへのアクセスを制御します。詳細については、Amazon VPC ユーザーガイドVPC のセキュリティグループを参照してください。

VPC でクラスターを作成するには、最初に VPC のサブネット情報を指定して Amazon Redshift クラスターサブネットグループを作成してから、クラスターの起動時にサブネットグループを指定する必要があります。詳細については、「Amazon Redshift クラスターサブネットグループ」を参照してください。

Amazon Virtual Private Cloud (Amazon VPC) の詳細については、「Amazon VPC 製品の詳細ページ」を参照してください。

EC2-Classic

EC2-Classic プラットフォームは、2022 年 8 月 15 日をもって提供を終了する予定です。クラスターを EC2-Classic プラットフォームから EC2-VPC プラットフォームに移行することをお勧めします。詳細については、「EC2-Classic の DS2 クラスターを EC2-VPC にアップグレードする」と「EC2-Classic Networking は販売終了になります — 準備方法はこちら」を参照してください。

EC2-Classic の場合、クラスターは他の AWS ユーザーと共有する単一のフラットネットワーク内で稼働します。EC2-Classic プラットフォームでクラスターをプロビジョニングする場合は、クラスターに 1 つ以上の Amazon Redshift クラスターセキュリティグループを関連付けて、クラスターへのアクセスを制御します。詳細については、「Amazon Redshift クラスターセキュリティグループ」を参照してください。

クラスターを起動する

AWS アカウントは、リージョンごとに EC2-VPC と EC2-Classic の両方のインスタンスを起動することも、EC2-VPC のみを起動することもできます。アカウントがサポートしているプラットフォームを確認し、クラスターを起動するには、次の操作を行います。

  1. クラスターをデプロイする AWS リージョンを決定します。Amazon Redshift が利用可能な AWS リージョンの一覧については、Amazon Web Services 全般のリファレンス の「Amazon Redshift エンドポイント」を参照してください。

  2. 選択した AWS リージョンでアカウントがサポートしている Amazon EC2 プラットフォームを確認します。この情報は、Amazon EC2 コンソールで確認できます。ステップバイステップの手順については、Linux インスタンス用 Amazon EC2 ユーザーガイドから「サポートされているプラットフォーム」を参照してください。

  3. アカウントが両方のプラットフォームをサポートしている場合は、EC2-VPC をお勧めします。アカウントが EC2-VPC のみをサポートしている場合は、VPC にクラスターをデプロイする必要があります。

  4. Amazon Redshift クラスターを起動します。Amazon Redshift コンソールを使用するか、Amazon Redshift API、AWS CLI、SDK ライブラリを使用してクラスターを作成できます。これらのオプションや関連ドキュメントへのリンクについては、「Amazon Redshift とは」を参照してください。

デフォルトのディスク容量アラーム

Amazon Redshift クラスターを作成するとき、クラスターのすべてのノードで使用されているディスク容量の平均比率を監視するように Amazon CloudWatch アラームを任意で設定できます。このアラームをデフォルトのディスク容量アラームと言います。

デフォルトのディスク容量アラームの目的は、クラスターのストレージ容量を監視することです。このアラームは、データウェアハウスのニーズを基に設定できます。たとえば、クラスターのサイズを変更する必要性の指標として警告を使用できます。別のノードタイプにするかノードを追加するため、または今後の拡張に備えてリザーブドノードを購入するためにサイズを変更できます。

ディスクの使用量が、指定した期間、特定の回数の指定した割合に達したとき、または超えたとき、デフォルトのディスク容量アラームがトリガーされます。デフォルトでは、指定した割合に達し、かつ 5 分以上その割合かそれ以上の状態が続いたとき、このアラームがトリガーされます。デフォルトの値は、クラスターを起動した後編集できます

CloudWatch アラームがトリガーされると、Amazon Simple Notification Service (Amazon SNS) により、指定された受取人に、割合がしきい値に達したことを警告する通知が送信されます。Amazon SNS は、トピックを使用して通知を送信する受取人およびメッセージを指定します。既存の Amazon SNS トピックを使用できますが、クラスターの起動時に指定した設定に基づいてトピックを作成することもできます。このアラームのトピックは、クラスターを起動した後編集できます。Amazon SNS トピック作成の詳細については、Amazon Simple Notification Service 入門ガイドを参照してください。

クラスターを起動した後、CloudWatch Alarms の下にあるクラスターの [Status] (ステータス) ウィンドウからアラームを表示および編集できます。名前は percentage-disk-space-used-default-<string> です。アラームを開いて、関連付けられている Amazon SNS トピックを表示し、アラームの設定を編集することができます。既存の Amazon SNS トピックを使用するように選択していない場合、作成されるトピックの名前は、<clustername>-default-alarms (<recipient>) です。たとえば、examplecluster-default-alarms (notify@example.com) のようになります。

デフォルトのディスク容量アラームを設定して編集する方法については、「クラスターの作成」および「ディスク容量アラームの作成または編集」を参照してください。

注記

クラスターを削除すると、クラスターに関連付けられているアラームは削除されませんが、トリガーされることもありません。必要がなくなったら、CloudWatch コンソールからアラームを削除できます。

クラスターステータス

クラスター状態は、クラスターの現在のステータスを表示します。次の表では、各クラスターステータスについて説明します。

ステータス 説明
available クラスターは実行されていて、利用可能です。
available, prep-for-resize クラスターは伸縮自在なサイズ変更の準備をしています。クラスターは稼働しており、読み取りクエリや書き込みクエリに使用できますが、スナップショットの作成などのクラスターオペレーションは使用できません。
available, resize-cleanup 伸縮自在なサイズ変更オペレーションは、新しいクラスターのノードへのデータ転送を完了します。クラスターは稼働しており、読み取りクエリや書き込みクエリに使用できますが、スナップショットの作成などのクラスターオペレーションは使用できません。
cancelling-resize サイズ変更オペレーションはキャンセルされています。
creating Amazon Redshift がクラスターを作成しています。詳細については、「クラスターの作成」を参照してください。
deleting Amazon Redshift がクラスターを削除しています。詳細については、「クラスターの削除」を参照してください。
final-snapshot Amazon Redshift は、クラスターを削除する前に最後のスナップショットを取得しています。詳細については、「クラスターの削除」を参照してください。
hardware-failure

クラスターにハードウェア障害が生じました。

単一ノードクラスターがある場合、そのノードを置き換えることはできません。クラスターを復元するには、スナップショットを使います。詳細については、「Amazon Redshift スナップショットとバックアップ」を参照してください。

incompatible-hsm Amazon Redshift は、ハードウェアセキュリティモジュール (HSM) に接続できません。クラスターと HSM 間の HSM 設定を確認してください。詳細については、「Amazon Redshift でのハードウェアセキュリティモジュールを使用した暗号化」を参照してください。
incompatible-network 基本的なネットワーク設定に問題があります。クラスターを起動する VPC が存在すること、そして設定が正しいことを確認してください。詳細については、「VPC でクラスターを管理する」を参照してください。
incompatible-parameters 関連付けられたパラメータグループの 1 つ以上のパラメータ値に問題があり、パラメータ値の適用ができません。パラメータグループを変更し、無効な値を更新してください。詳細については、「Amazon Redshift パラメータグループを作成します。」を参照してください。
incompatible-restore スナップショットからクラスターを復元時に問題が発生しました。別のスナップショットでクラスターの復元を再度お試しください。詳細については、「Amazon Redshift スナップショットとバックアップ」を参照してください。
modifying Amazon Redshift は、クラスターへの変更を加えています。詳細については、「クラスターの変更」を参照してください。
paused クラスターが一時停止しています。詳細については、「クラスターの一時停止と再開」を参照してください。
rebooting Amazon Redshift がクラスターを再起動しています。詳細については、「クラスターの再起動」を参照してください。
renaming Amazon Redshift は、クラスターに新しい名前を適用しています。詳細については、「クラスターの名前変更」を参照してください。
resizing Amazon Redshift がクラスターのサイズを変更しています。詳細については、「クラスターのサイズ変更」を参照してください。
rotating-keys Amazon Redshift は、クラスターの暗号化キーを更新しています。詳細については、「Amazon Redshift における暗号化キーのローテーション」を参照してください。
storage-full クラスターがストレージ容量限に達しました。ノードを追加するためにクラスターのサイズ変更をするか、または別のノードサイズを選択してください。詳細については、「クラスターのサイズ変更」を参照してください。
updating-hsm Amazon Redshift は HSM 設定を更新しています。