Amazon Redshift
クラスター管理ガイド

クエリエディタを使用してデータベースをクエリする

Amazon Redshift クラスターによってホストされているデータベースでクエリを実行するには、クエリエディタを使用することが最も簡単な方法です。クラスターを作成した後、Amazon Redshift コンソールでクエリエディタを使用することで、すぐにクエリを実行できます。

次のクラスターノードタイプはクエリエディタをサポートしています。

  • DC1.8xlarge

  • DC2.large

  • DC2.8xlarge

  • DS2.8xlarge

クエリエディタを使用して、以下の操作を実行できます。

  • 単一の SQL ステートメントクエリを実行する。

  • 最大 100 MB の結果セットをカンマ区切り値 (CSV) ファイルにダウンロードする。

  • 再利用するためにクエリを保存する。EU (パリ) リージョン、アジアパシフィック (大阪: ローカル) リージョン、アジアパシフィック (香港) リージョン または 中東 (バーレーン) リージョン にクエリを保存することはできません。

  • ユーザー定義テーブルのクエリ実行の詳細を表示する。

クエリエディタの考慮事項

Amazon Redshift コンソールでクエリエディタを使用するときは、次の考慮事項に注意してください。

  • 同時に最大 50 名のユーザーがクエリエディタを使用してクラスターに接続することができます。

  • クラスターに接続するユーザーの最大数には、クエリエディタを介して接続するユーザーが含まれます。

  • 同時に最大 50 のワークロード管理 (WLM) クエリスロットをアクティブにできます。クエリスロットの詳細については、「ワークロード管理の実装」を参照してください。

  • クエリエディタは、10 分以内に完了する短いクエリのみを実行します。

  • クエリ結果セットはページごとに 100 行で分割されています。

  • 拡張された VPC のルーティングではクエリエディタを使用できません。詳細については、「Amazon Redshift 拡張された VPC のルーティング」を参照してください。

  • クエリエディタでトランザクションを使用することはできません。トランザクションの詳細については、Amazon Redshift Database Developer Guide の「BEGIN」を参照してください。

  • クエリは最大 3,000 文字保存することができます。

クエリエディタへのアクセスの有効化

クエリエディタにアクセスするには、アクセス許可が必要です。アクセスを有効化するには、AWS Identity and Access Management (IAM) の AmazonRedshiftQueryEditor および AmazonRedshiftReadOnlyAccess ポリシーを、クラスターにアクセスするために使用する IAM ユーザーアカウントにアタッチします。

すでに Amazon Redshift にアクセスするために IAM ユーザーを作成している場合、AmazonRedshiftQueryEditor および AmazonRedshiftReadOnlyAccess ポリシーをそのユーザーにアタッチできます。まだ IAM ユーザーを作成していない場合、作成し、ポリシーを IAM ユーザーにアタッチします。

注記

AWS 管理ポリシー AmazonRedshiftQueryEditor では、redshift:GetClusterCredentials アクションが許可されます。このアクションは、デフォルトでデータベースユーザースーパーユーザーがデータベースにアクセスできるようにします。アクセスを制限するには、次のいずれかの項目を実行します。

  • redshift:GetClusterCredentials を呼び出してリソースを DbUser に制限するカスタムポリシーを作成します。

  • redshift:GetClusterCredentials へのアクセス許可を拒否するポリシーをユーザーに追加した後、クエリエディタのユーザーに一時的な認証情報を使用してサインインすることを求めます。たとえば、拒否ポリシーは次のようなポリシーになります。

    { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "redshift:GetClusterCredentials", "Resource": "*" } }

詳細については、「GetClusterCredentials を呼び出すアクセス許可を持つ IAM ロールまたはユーザーを作成する」を参照してください。

クエリエディタに必要な IAM ポリシーをアタッチするには

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

  2. [ユーザー] を選択します。

  3. クエリエディタへのアクセスが必要なユーザーを選択します。

  4. [Add permissions] を選択します。

  5. [Attach existing policies directly] を選択します。

  6. [Policy names (ポリシー名)] には、 [AmazonRedshiftQueryEditor] および [AmazonRedshiftReadOnlyAccess] を選択します。

  7. [Next: Review] を選択します。

  8. [Add permissions] を選択します。

クエリエディタの使用

次の例では、クエリエディタを使用して次のタスクを実行します。

  • SQL コマンドを実行する。

  • クエリ実行の詳細を表示する。

  • クエリを保存する。

  • クエリの結果セットをダウンロードする。

次の例を完了するには、既存の Amazon Redshift クラスターが必要です。クラスターがない場合は、「クラスターの作成」に記載されている手順に従ってクラスターを作成します。

注記

Amazon Redshift 用の新しいコンソールが利用可能です。使用しているコンソールに基づき、[新しいコンソール] または [元のコンソール] の手順を選択します。新しいコンソールの指示はデフォルトで開いています。

新しいコンソール

Amazon Redshift コンソールでクエリエディタを使用するには

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

  2. ナビゲーションメニューで [EDITOR] を選択し、次にクラスターのデータベースに接続します。

  3. [スキーマ] には、[パブリック] を選択し、そのスキーマに基づいた新しいテーブルを作成します。

  4. 次をクエリエディタウィンドウに入力し、[実行] を選択して新しいテーブルを作成します。

    create table shoes( shoetype varchar (10), color varchar(10));
  5. [クリア] を選択します。

  6. 次のコマンドをクエリエディタウィンドウに入力し、[クエリの実行] を選択してテーブルに行を追加します。

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  7. [クリア] を選択します。

  8. 次のコマンドをクエリエディタウィンドウに入力し、[クエリの実行] を選択して新しいテーブルをクエリします。

    select * from shoes;

    [Query results (クエリの結果)] に結果が表示されます。

    shoetype color

    sandals

    black

    loafers

    brown

  9. [Execution (実行)] を選択して実行詳細を確認します。

  10. [データ]、[エクスポート] の順に選択し、クエリ結果をファイルとしてダウンロードします。

元のコンソール

クエリエディタを使用するには

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

  2. ナビゲーションペインでクエリエディタを選択します。

  3. [Schema (スキーマ)] には、[public (パブリック)] を選択し、そのスキーマに基づいた新しいテーブルを作成します。

  4. 次をクエリエディタウィンドウに入力し、[Run Query (クエリ実行)] を選択して新しいテーブルを作成します。

    create table shoes( shoetype varchar (10), color varchar(10));
  5. [クリア] を選択します。

  6. 次のコマンドをクエリエディタウィンドウに入力し、[Run Query (クエリ実行)] を選択してテーブルに行を追加します。

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  7. [クリア] を選択します。

  8. 次のコマンドをクエリエディタウィンドウに入力し、[Run Query (クエリ実行)] を選択して新しいテーブルをクエリします。

    select * from shoes;

    次の結果が表示されます。

  9. 実行の詳細を表示するには、[View execution (実行の表示)] を選択します。

  10. クエリ結果を CSV ファイルとしてダウンロードするには、[CSV のダウンロード] を選択します。