Amazon Redshift
入門ガイド

ステップ 5: サンプルクラスターへの接続とクエリの実行

Amazon Redshift クラスターによってホストされているデータベースをクエリする方法は 2 つあります。

  • クラスターに接続し、クエリエディタで AWS マネジメントコンソール に対してクエリを実行します。

    クエリエディタを使用する場合、SQL クライアントアプリケーションをダウンロードしてセットアップする必要はありません。

  • SQL Workbench/J などの SQL クライアントツールを介してクラスターに接続します。

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

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

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

  • DC1.8xlarge

  • DC2.large

  • DC2.8xlarge

  • DS2.8xlarge

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

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

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

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

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

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

クエリエディタを使用する場合の詳しい考慮事項については、「クエリエディタを使用してデータベースをクエリする」 (Amazon Redshift Cluster Management Guide) を参照してください。

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

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

すでに Amazon Redshift にアクセスするために IAM ユーザーを作成している場合、AmazonRedshiftQueryEditor および AmazonRedshiftReadOnlyAccess ポリシーをそのユーザーにアタッチできます。まだ IAM ユーザーを作成していない場合、作成し、ポリシーを 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 コマンドを実行する。

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

  • クエリを保存する。

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

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

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

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

  3. [認証情報] ダイアログボックスで、以下の値を入力して、[接続] を選択します。

    • [クラスター]: [examplecluster] を選択します。

    • [データベース]: dev

    • [データベースユーザー]: [awsuser]。

    • [パスワード]: クラスターを起動したときに指定したパスワードを入力します。

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

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

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

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

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

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

    select * from shoes;

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

SQL クライアントを使用したデータベースのクエリ

次に、SQL クライアントツールを使用してクラスターに接続し、シンプルなクエリを実行して接続をテストします。PostgreSQL と互換性があるほとんどの SQL クライアントツールを使用できます。このチュートリアルでは、SQL Workbench/J クライアントを使用します。次のステップに従って、このセクションを完了します。

このステップを終了した後は、「ステップ 6: Amazon S3 のサンプルデータをロードする」に進んで Amazon S3 からサンプルデータをロードするか、「ここからどこへ進むべきですか?」で Amazon Redshift に関する情報を参照して環境をリセットするかを選択できます。

SQL クライアントのトライバーとツールのインストール

Amazon Redshift クラスターへの接続には、Amazon Redshift JDBC または ODBC のドライバーを使用するほとんどの SQL クライアントツールを使用できます。本チュートリアルでは、SQL Workbench/J を使って接続します。これは無料で使える、DBMS に依存しないクロスプラットフォームの SQL クエリツールです。SQL Workbench/J を使用してこのチュートリアルを完了する場合は、次のステップを使用して Amazon Redshift JDBC ドライバーと SQL Workbench/J をセットアップします。SQL Workbench/J のインストール手順の詳細については、Amazon Redshift Cluster Management Guide の「SQL Workbench/J クライアントのセットアップ」を参照してください。Amazon EC2 インスタンスをクライアントコンピュータとして使う場合は、そのインスタンスに SQL Workbench/J および必要なドライバーをインストールします。

注記

独自にクラスターで使用したいサードパーティ製データベースツールがあれば、インストールします。Amazon Redshift によりサードパーティ製のツールやライブラリが提供されたり、インストールされることはありません。

クライアントコンピュータに SQL Workbench/J をインストールするには

  1. SQL Workbench/J のソフトウェアライセンスを確認します。

  2. SQL Workbench/J ウェブサイト に移動し、使用するオペレーティングシステムに適したパッケージをダウンロードします。

  3. Installing and starting SQL Workbench/J ページにアクセスして、SQL Workbench/J をインストールします。

    重要

    SQL Workbench/J に必要な Java ランタイムのバージョンを確認して、必ずそのバージョンを使用してください。違うバージョンでは、このクライアントアプリケーションは動作しません。

  4. JDBC 接続を設定する」を参照して、Amazon Redshift JDBC ドライバーをダウンロードし、SQL Workbench/J をクラスターに接続できるようにします。

Amazon Redshift JDBC または ODBC ドライバーの使用の詳細については、「Amazon Redshift での接続の設定」を参照してください。

接続文字列を取得するには

  1. Amazon Redshift コンソールのナビゲーションペインで、[Clusters (クラスター)] を選択します。

  2. examplecluster を選択してこのクラスターを開き、[設定] タブが表示された状態にします。

  3. [設定] タブで、[クラスターデータベースのプロパティ] の下にある、クラスターの JDBC URL をコピーします。

    注記

    クラスターのエンドポイントは、クラスターが作成されて使用可能な状態になるまで使用できません。

SQL Workbench/J からクラスターに接続するには

このステップでは、SQL Workbench/J がインストール済みであるものとします。

  1. SQL Workbench/J を開きます。

  2. [File (ファイル)] を選択し、[Connect window (ウィンドウの接続)] を選択します。

  3. [Create a new connection profile (新しい接続プロファイルの作成)] を選択します。

  4. [新しいプロファイル] に、プロファイルの名前を入力します。

  5. [Manage Drivers (ドライバーの管理)] を選択します。[ドライバーの管理] ダイアログボックスが開きます。

  6. [新しいエントリの作成] を選択します。[名前] に、ドライバーの名前を入力します。

    [ライブラリ] ボックスの横にあるフォルダアイコンを選択し、目的のドライバーの場所まで移動してそのドライバーを選択します。次に、[開く] を選択します。

    [ドライバーを 1 つ選択してください] ダイアログボックスが表示されたら、[com.amazon.redshift.jdbc4.Driver] または [com.amazon.redshift.jdbc41.Driver] を選択し、[OK] を選択します。[Classname (クラス名)] ボックスは、SQL Workbench/J によって自動入力されます。[サンプル URL] を空白のままにし、[OK] を選択します。

  7. [Driver] で、追加したドライバーを選択します。

  8. [URL] で、Amazon Redshift console から JDBC URL をコピーし、ここに貼り付けます。

  9. [ユーザー名] で、マスターユーザーの「awsuser」と入力します。

  10. [パスワード] に、マスターユーザーアカウントに関連付けられたパスワードを入力します。

  11. [オートコミット] ボックスをオンにします。

  12. 次に示す [プロファイルリストの保存] アイコンを選択します。

  13. [OK] を選択します。

  14. 次のコマンドをクエリウィンドウに入力し、[SQL]、[Execute Current (実行)] と選択してテーブルに行を追加します。

    create table shoes( shoetype varchar (10), color varchar(10));
  15. 次のコマンドを実行してテーブルに行を追加します。

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  16. 次のコマンドを実行して新しいテーブルをクエリします。

    select * from shoes;