amazon redshift - 入門ガイド - aws documentation redshift 入門ガイド table of contents...

25
Amazon Redshift 入門ガイド API バージョン 2012-12-01

Upload: habao

Post on 10-Jun-2019

254 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift入門ガイド

API バージョン 2012-12-01

Page 2: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイド

Amazon Redshift: 入門ガイドCopyright © 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイド

Table of Contentsご利用開始にあたって ......................................................................................................................... 1

ステップ 1: 前提条件の設定 ......................................................................................................... 1AWS にサインアップする .................................................................................................... 2ファイアウォールルールの決定 ............................................................................................. 2

ステップ 2: IAM ロールを作成する ................................................................................................ 2Amazon Redshift 用に IAM ロールを作成するには .................................................................. 3

ステップ 3: クラスターを起動する ................................................................................................ 3Amazon Redshift クラスターを起動するには .......................................................................... 3

ステップ 4: クラスターへのアクセスの許可 .................................................................................... 6VPC セキュリティグループを設定するには (EC2-VPC プラットフォーム) ................................... 6

ステップ 5: クラスターに接続する ................................................................................................ 7クエリエディタを使用してデータベースをクエリする .............................................................. 8SQL クライアントを使用したデータベースのクエリ ............................................................... 10

ステップ 6: サンプルデータをロードする ..................................................................................... 14ステップ 7: 他のリソースの検索と環境のリセット ......................................................................... 18

ここからどこへ進むべきですか? ......................................................................................... 19ドキュメント履歴 .............................................................................................................................. 22

API バージョン 2012-12-01iii

Page 4: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 1: 前提条件の設定

Amazon Redshift の使用開始Amazon Redshift 入門ガイド ガイドへようこそ。Amazon Redshift は、クラウド内のフルマネージド型、ペタバイト規模のデータウェアハウスサービスです。Amazon Redshift データウェアハウスは、ノードと呼ばれるコンピューティングリソースのコレクションであり、これらはクラスターと呼ばれるグループを構成します。各クラスターは、1 つの Amazon Redshift エンジンを実行し、1 つ以上のデータベースを含みます。

Amazon Redshift を初めて使用する方には、次のセクションを初めに読むことをおすすめします。

• Amazon Redshift Management Overview – このトピックでは、Amazon Redshift の概要を説明します。• サービスのハイライトと価格設定 – この製品詳細ページには、Amazon Redshift の価値提案、サービス

のハイライト、価格設定が掲載されています。• Amazon Redshift 入門ガイド (本ガイド) – 本ガイドでは、Amazon Redshift を使用してサンプルクラス

ターを作成し、サンプルデータを操作する方法を実践的に説明します。

Amazon Redshift で PoC (概念実証) ソリューションを構築する場合、Amazon Redshift の PoC (概念実証)の構築を読まれることを推奨します。

本ガイドは、Amazon Redshift のサンプルクラスターを作成する手順を説明するために設計されたチュートリアルです。このサンプルクラスターは、Amazon Redshift サービスを評価するのに使用できます。本チュートリアルでは、次の手順を実行します。

• ステップ 1: 前提条件の設定 (p. 1)• ステップ 2: IAM ロールを作成する (p. 2)• ステップ 3: Amazon Redshift サンプルクラスターの起動 (p. 3)• ステップ 4: クラスターへのアクセスの許可 (p. 6)• ステップ 5: サンプルクラスターへの接続とクエリの実行 (p. 7)• ステップ 6: Amazon S3 のサンプルデータをロードする (p. 14)• ステップ 7: 他のリソースの検索と環境のリセット (p. 18)

本チュートリアルを完了した後は、ここからどこへ進むべきですか? (p. 19)で、Amazon Redshift に関する詳細と次に行うステップを説明しています。

Important

作成するサンプルクラスターは、ライブ環境で実行されます。本チュートリアルで設計されるサンプルクラスターの使用については、サンプルクラスターを削除するまでのオンデマンドレートが 1 時間あたり 0.25 USD になります。料金表の詳細については、Amazon Redshift の料金表ページを参照してください。ご質問がある場合や問題が発生した場合は、ディスカッションフォーラムに投稿することで Amazon Redshift チームに問い合わせることができます。

本チュートリアルでは、運用環境での使用を想定していないため、オプションについては詳しく説明しません。本チュートリアルの手順を完了したら、「その他のリソース (p. 19)」セクションを使用してより詳細な情報を確認できます。この情報は、クラスターの計画、展開、保守と、データウェアハウスのデータの操作に役立ちます。

ステップ 1: 前提条件の設定Amazon Redshift クラスターの設定を開始する前に、このセクションに記載する前提条件を満たしていることを確認してください。

API バージョン 2012-12-011

Page 5: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドAWS にサインアップする

• AWS にサインアップする (p. 2)• ファイアウォールルールの決定 (p. 2)

AWS にサインアップするまだ AWS アカウントをお持ちでない場合は、サインアップしてアカウントを作成してください。すでにアカウントをお持ちの場合は、この前提条件をスキップして既存のアカウントを使用します。

1. https://aws.amazon.com/ を開き、[AWS アカウントの作成] を選択します。

Note

AWS アカウントのルートユーザー 認証情報を使用して、すでに AWS マネジメントコンソール にサインインしている場合は、[Sign in to a different account (別のアカウントにサインインする)] を選択します。IAM 認証情報を使用して、すでにコンソールにサインインしている場合は、[Sign-in using root account credentials (ルートアカウントの資格情報を使ってサインイン)] を選択します。[新しい AWS アカウントの作成] を選択します。

2. オンラインの手順に従います。

サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて確認コードを入力することが求められます。

ファイアウォールルールの決定本チュートリアルの一部として、Amazon Redshift クラスターを起動するときのポートを指定します。また、このポートを経由するクラスターへのアクセスを許可するために、インバウンド進入ルールをセキュリティグループに作成します。

クライアントコンピュータがファイアウォールの内側にある場合、使用可能な開いているポートを把握しておく必要があります。この開いているポートを使用して、SQL クライアントツールからクラスターに接続してクエリを実行できます。ポートが分からない場合は、ネットワークファイアウォールルールを把握している担当者の協力を得て、ファイアウォールの開いているポートを判別する必要があります。Amazon Redshift はデフォルトでポート 5439 を使用しますが、お使いのファイアウォールでこのポートが開いていない場合は接続できません。作成後に Amazon Redshift クラスターのポート番号を変更することはできません。したがって、必ず起動プロセス中にお使いの環境で機能する開いているポートを指定してください。

ステップ 2: IAM ロールを作成する別の AWS リソース上のデータにアクセスするオペレーションの場合、クラスターには、ユーザーの代わりにリソースとリソース上のデータにアクセスするためのアクセス許可が必要です。たとえば、COPY コマンドを使用して Amazon S3 からデータをロードします。AWS Identity and Access Management (IAM)を使用してアクセス権限を提供できます。クラスターにアタッチされている IAM ロールを通して、または必要なアクセス権限を持つ IAM ユーザー用の AWS アクセスキーを提供することによって、これを行います。

機密データおよび AWS 認証情報を保護するために、IAM ロールを作成し、クラスターにアタッチすることをお勧めします。アクセス許可の提供の詳細については、「ほかの AWS のリソースにアクセスするためのアクセス権」を参照してください。

このステップでは、Amazon Redshift が Amazon S3 バケットからデータをロードできるようにする新しいIAM ロールを作成します。次のステップでは、クラスターにロールをアタッチします。

API バージョン 2012-12-012

Page 6: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドAmazon Redshift 用に IAM ロールを作成するには

Amazon Redshift 用に IAM ロールを作成するには1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/

iam/)を開きます。2. ナビゲーションペインで [Roles (ロール) ] を選択します。3. [Create role (ロールの作成)] を選択します。4. [AWS Service (AWS サービス)] グループの [Redshift.] を選択します。5. [Select your use case (ユースケースを選択)] で、[Redshift - Customizable (Redshift - カスタマイズ可

能)]、[Next: Permissions (次: アクセス許可)] の順に選択します。6. [Attach permissions policies (アクセス許可ポリシーのアタッチ)] ページで、

[AmazonS3ReadOnlyAccess]を選択します。[アクセス権限の境界の設定] はデフォルト設定のままにすることができます。その後 [次へ: タグ] を選択します。

7. [タグの追加] ページが表示されます。必要に応じてタグを追加できます。[次へ: 確認] を選択します。8. [Role name (ロール名)] に、ロールの名前を入力します。このチュートリアルで

は、myRedshiftRole を入力します。9. 情報を確認してから、[ロールの作成] を選択します。10. 作成したロールのロール名を選択します。11. クリップボードに [Role ARN (ロール ARN)] をコピーします。この値は、作成したロール用の

Amazon リソースネーム (ARN) です。「ステップ 6: Amazon S3 のサンプルデータをロードする (p. 14)」で COPY コマンドを使用してデータをロードする際にこの値を使用します。

新しいロールを作成したら、次はクラスターにアタッチします。ロールは、新しいクラスターの起動時にアタッチするか、既存のクラスターにアタッチできます。次のステップでは、新しいクラスターにロールをアタッチします。

ステップ 3: Amazon Redshift サンプルクラスターの起動

前提条件を満たしたら、Amazon Redshift クラスターを起動することができます。

Important

ここで起動するクラスターはライブです(サンドボックスで実行されるわけではありません)。クラスターを削除するまで、そのクラスターについて Amazon Redshift 標準使用料が発生します。 ここで説明したチュートリアルを 1 種類の設定だけで実行し、完了した時点でクラスターを削除すれば、課金される合計料金はごくわずかです。

Amazon Redshift クラスターを起動するには1. AWS マネジメントコンソールにサインインし、Amazon Redshift コンソール(https://

console.aws.amazon.com/redshift/)を開きます。

Important

IAM ユーザー認証情報を使う場合は、そのユーザーにクラスター操作を実行するために必要な権限があるか確認してください。詳細については、『Amazon Redshift ClusterManagement Guide』の「IAM ユーザーへのアクセスの制御」をご覧ください。

2. メインメニューで、クラスターを作成するリージョンを選択します。このチュートリアルでは、[米国西部 (オレゴン)] を選択します。

API バージョン 2012-12-013

Page 7: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドAmazon Redshift クラスターを起動するには

3. Amazon Redshift ダッシュボードで、[Quick launch cluster (クイック起動クラスター)] を選択します。

Amazon Redshift ダッシュボードは、以下のような内容です。

4. [Cluster Specifications] ページで、次の値を入力してから [Launch cluster (クラスターの起動)] をクリックします。

• [Node type (ノードの種類)]: [dc2.large] を選択します。• [コンピューティングノードの数]: デフォルト値 [2] を保持します。• [クラスター識別子]: 値 examplecluster を入力します。• [マスターユーザー名]: デフォルト値 [awsuser] を保持します。• [マスターユーザーのパスワード] と [パスワードの確認]: マスターユーザーアカウントのパスワード

を入力します。• [Database port (データベースポート)]: デフォルト値 [5439] を保持します。• [Available IAM roles (利用可能な IAM ロール)]: [myRedshiftRole] を選択します。

クイック起動では、[dev] という名前のデフォルトデータベースが自動的に作成されます。

API バージョン 2012-12-014

Page 8: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドAmazon Redshift クラスターを起動するには

Note

クイック起動では、リージョンのデフォルトの仮想プライベートクラウド (VPC) が使用されます。デフォルトの VPC が存在しない場合、クイック起動はエラーを返します。デフォルトの VPC がない場合は、標準のクラスター起動ウィザードを使用して別の VPC を使用できます。詳細については、「[クラスターの起動] を使用したクラスターの作成」を参照してください。

5. 確認ページが表示され、数分でクラスターの処理が完了します。[閉じる] を選択して、クラスターのリストに戻ります。

6. [クラスター] ページで、先ほど起動したクラスターを選択し、[クラスターステータス] 情報を確認します。本チュートリアルで後ほどデータベースに接続する前に、[クラスターステータス] が [使用可能] に、[データベースの状態] が [正常] になっていることを確認します。

API バージョン 2012-12-015

Page 9: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 4: クラスターへのアクセスの許可

7. [クラスター] ページで、先ほど起動したクラスターを選択し、[クラスター] ボタン、[クラスターの変更] の順に選択します。このクラスターに関連付ける VPC セキュリティグループを選択し、[変更]を選択して関連付けを行います。次のステップに進む前に、[クラスターのプロパティ] に、選択したVPC セキュリティグループが表示されていることを確認してください。

ステップ 4: クラスターへのアクセスの許可前のステップでは、Amazon Redshift クラスターを起動しました。クラスターに接続する前に、アクセスを許可するようにセキュリティグループを設定する必要があります。EC2-VPC プラットフォームでクラスターを起動した場合は、「VPC セキュリティグループを設定するには (EC2-VPC プラットフォーム) (p. 6)」ステップに従います。

VPC セキュリティグループを設定するには (EC2-VPCプラットフォーム)1. Amazon Redshift コンソールのナビゲーションペインで、[Clusters (クラスター)] を選択します。2. examplecluster を選択してこのクラスターを開き、[設定] タブが表示された状態にします。3. [Cluster Properties (クラスターのプロパティ)] の下の [VPC Security Groups (VPC セキュリティグ

ループ)] で、セキュリティグループを選択します。

API バージョン 2012-12-016

Page 10: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 5: クラスターに接続する

4. セキュリティグループが Amazon EC2 コンソールで開いたら、[インバウンド] タブを選択します。

5. [編集]、[ルールの追加] の順に選択し、以下を入力して [保存] を選択します。

• [タイプ]: [カスタム TCP ルール]。• [プロトコル]: [TCP]。• [Port Range (ポート範囲)]: クラスターの起動時に使用したのと同じポート番号を入力しま

す。Amazon Redshift のデフォルトのポートは 5439 ですが、お使いのポートはこれと異なる場合があります。

• [ソース]: [カスタム] を選択し、「0.0.0.0/0」と入力します。

Important

0.0.0.0/0 を使用すると、インターネットのすべてのコンピュータからアクセス可能になるため、デモ目的以外での使用はお勧めしません。実際の環境では、お使いのネットワーク設定に基づいてインバウンドルールを作成します。

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

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

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

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

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

トピック• クエリエディタを使用してデータベースをクエリする (p. 8)

API バージョン 2012-12-017

Page 11: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドクエリエディタを使用してデータベースをクエリする

• SQL クライアントを使用したデータベースのクエリ (p. 10)

クエリエディタを使用してデータベースをクエリする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. [次へ: 確認] を選択します。

API バージョン 2012-12-018

Page 12: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドクエリエディタを使用してデータベースをクエリする

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'),

API バージョン 2012-12-019

Page 13: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドSQL クライアントを使用したデータベースのクエリ

('sandals', 'black');

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

ブルをクエリします。

select * from shoes;

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

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

• SQL クライアントのトライバーとツールのインストール (p. 10)• 接続文字列を取得するには (p. 11)• SQL Workbench/J からクラスターに接続するには (p. 12)

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

SQL クライアントのトライバーとツールのインストールAmazon Redshift クラスターへの接続には、Amazon Redshift JDBC または ODBC のドライバーを使用するほとんどの SQL クライアントツールを使用できます。本チュートリアルでは、SQL Workbench/J を

API バージョン 2012-12-0110

Page 14: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドSQL クライアントを使用したデータベースのクエリ

使って接続します。これは無料で使える、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 および必要なドライバーをインストールします。

Note

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

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

1. SQL Workbench/J のソフトウェアライセンスを確認します。2. SQL Workbench/J ウェブサイト に移動し、使用するオペレーティングシステムに適したパッケージ

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

ます。

Important

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

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

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

接続文字列を取得するには1. Amazon Redshift コンソールのナビゲーションペインで、[Clusters (クラスター)] を選択します。2. examplecluster を選択してこのクラスターを開き、[設定] タブが表示された状態にします。3. [設定] タブで、[クラスターデータベースのプロパティ] の下にある、クラスターの JDBC URL をコ

ピーします。

Note

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

API バージョン 2012-12-0111

Page 15: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドSQL クライアントを使用したデータベースのクエリ

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. [新しいエントリの作成] を選択します。[名前] に、ドライバーの名前を入力します。

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

API バージョン 2012-12-0112

Page 16: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドSQL クライアントを使用したデータベースのクエリ

[ドライバーを 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] を選択します。

API バージョン 2012-12-0113

Page 17: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 6: サンプルデータをロードする

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;

ステップ 6: Amazon S3 のサンプルデータをロードする

これでデータベース dev を作成し、それに接続できました。次に、このデータベースにテーブルを作成し、テーブルにデータをアップロードして、クエリを実行してみます。すぐにロードして使えるサンプルデータを Amazon S3 バケットに用意しました。

Note

SQL クライアントツールを使用している場合、SQL クライアントがクラスターに接続されていることを確認してください。

このステップを完了したら、Amazon Redshift に関するより多くの情報を検索したり、「ここからどこへ進むべきですか? (p. 19)」で環境をリセットしたりすることができます。

サンプルデータをロードするには

1. テーブルを作成します。

API バージョン 2012-12-0114

Page 18: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 6: サンプルデータをロードする

以下の「create table」ステートメントを個別にコピーして実行し、dev データベースにテーブルを作成します。構文の詳細については、Amazon Redshift Database Developer Guideの「CREATETABLE」を参照してください。

create table users( userid integer not null distkey sortkey, username char(8), firstname varchar(30), lastname varchar(30), city varchar(30), state char(2), email varchar(100), phone char(14), likesports boolean, liketheatre boolean, likeconcerts boolean, likejazz boolean, likeclassical boolean, likeopera boolean, likerock boolean, likevegas boolean, likebroadway boolean, likemusicals boolean);

create table venue( venueid smallint not null distkey sortkey, venuename varchar(100), venuecity varchar(30), venuestate char(2), venueseats integer);

create table category( catid smallint not null distkey sortkey, catgroup varchar(10), catname varchar(10), catdesc varchar(50));

create table date( dateid smallint not null distkey sortkey, caldate date not null, day character(3) not null, week smallint not null, month character(5) not null, qtr character(5) not null, year smallint not null, holiday boolean default('N'));

create table event( eventid integer not null distkey, venueid smallint not null, catid smallint not null, dateid smallint not null sortkey, eventname varchar(200), starttime timestamp);

create table listing( listid integer not null distkey, sellerid integer not null, eventid integer not null, dateid smallint not null sortkey, numtickets smallint not null, priceperticket decimal(8,2), totalprice decimal(8,2), listtime timestamp);

API バージョン 2012-12-0115

Page 19: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 6: サンプルデータをロードする

create table sales( salesid integer not null, listid integer not null distkey, sellerid integer not null, buyerid integer not null, eventid integer not null, dateid smallint not null sortkey, qtysold smallint not null, pricepaid decimal(8,2), commission decimal(8,2), saletime timestamp);

2. COPY コマンドを使用して Amazon S3 からサンプルデータをロードします。

Note

Amazon S3 または DynamoDB から大容量のデータセットを Amazon Redshift にロードするために、COPY コマンドを使用することをお勧めします。COPY 構文の詳細については、Amazon Redshift Database Developer Guide の「COPY」を参照してください。

このチュートリアルのサンプルデータがあるのは、Amazon Redshift が所有する Amazon S3 バケット内です。このバケットの権限は、すべての認証された AWS ユーザーにサンプルデータファイルへの読み込みアクセスを許可する設定になっています。

サンプルデータをロードするには、ユーザーに代わってクラスターが Amazon S3 にアクセスするための認証を提供する必要があります。ロールベースの認証またはキーベースの認証を提供できます。ロールベースの認証を使用することをお勧めします。両方のタイプの認証の詳細については、Amazon Redshift Database Developer Guide の「CREDENTIALS」を参照してください。

この手順では、前の手順で作成し、クラスターにアタッチした IAM ロールを参照して、認証を提供します。

Note

Amazon S3 への適切なアクセス許可がない場合、COPY コマンドを実行すると、S3ServiceException: Access Denied というエラーメッセージが表示されます。

COPY コマンドには、次の例のように IAM ロールの Amazon リソースネーム (ARN) のプレースホルダーが含まれます。

copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2';

IAM ロールを使用してアクセスを許可するには、CREDENTIALS パラメータ文字列の <iam-role-arn> を、ステップ 2: IAM ロールを作成する (p. 2) で作成した IAM ロールのロール ARN と置き換えます。

COPY コマンドは、次の例のようになります。

copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' credentials 'aws_iam_role=arn:aws:iam::123456789012:role/myRedshiftRole' delimiter '|' region 'us-west-2';

サンプルデータをロードするには、次の COPY コマンドの <iam-role-arn> をロール ARN に置き換えます。次に、SQL クライアントツールでコマンドを個別に実行します。

copy users from 's3://awssampledbuswest2/tickit/allusers_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' API バージョン 2012-12-01

16

Page 20: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 6: サンプルデータをロードする

delimiter '|' region 'us-west-2';

copy venue from 's3://awssampledbuswest2/tickit/venue_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2';

copy category from 's3://awssampledbuswest2/tickit/category_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2';

copy date from 's3://awssampledbuswest2/tickit/date2008_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2';

copy event from 's3://awssampledbuswest2/tickit/allevents_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' timeformat 'YYYY-MM-DD HH:MI:SS' region 'us-west-2';

copy listing from 's3://awssampledbuswest2/tickit/listings_pipe.txt' credentials 'aws_iam_role=<iam-role-arn>' delimiter '|' region 'us-west-2';

copy sales from 's3://awssampledbuswest2/tickit/sales_tab.txt'credentials 'aws_iam_role=<iam-role-arn>'delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS' region 'us-west-2';

3. 次にサンプルクエリを試します。詳細については、Amazon Redshift 開発者ガイドの「SELECT」を参照してください。

-- Get definition for the sales table.SELECT * FROM pg_table_def WHERE tablename = 'sales';

-- Find total sales on a given calendar date.SELECT sum(qtysold) FROM sales, date WHERE sales.dateid = date.dateid AND caldate = '2008-01-05';

-- Find top 10 buyers by quantity.SELECT firstname, lastname, total_quantity FROM (SELECT buyerid, sum(qtysold) total_quantity FROM sales GROUP BY buyerid ORDER BY total_quantity desc limit 10) Q, usersWHERE Q.buyerid = useridORDER BY Q.total_quantity desc;

-- Find events in the 99.9 percentile in terms of all time gross sales.SELECT eventname, total_price FROM (SELECT eventid, total_price, ntile(1000) over(order by total_price desc) as percentile FROM (SELECT eventid, sum(pricepaid) total_price FROM sales GROUP BY eventid)) Q, event E WHERE Q.eventid = E.eventid AND percentile = 1ORDER BY total_price desc;

4. (オプション) Amazon Redshift コンソールを開いて、実行したクエリを確認します。[クエリ] タブに、指定期間内に実行されたクエリの一覧が表示されます。デフォルトでは、コンソールは現在実行中のクエリを含め、最近 24 時間以内に実行されたクエリを表示します。

API バージョン 2012-12-0117

Page 21: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドステップ 7: 他のリソースの検索と環境のリセット

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

b. 右ペインのクラスターリストで examplecluster を選択します。c. [Queries (クエリ)] タブを選択します。

コンソールに実行したクエリの一覧が下の例のように表示されます。

d. クエリに関する詳細情報を表示するには、Query 列でクエリ ID リンクを選択するか、または拡大鏡のアイコンを選択します。

次の例は、前のステップで実行したクエリの詳細を表示したものです。

ステップ 7: 他のリソースの検索と環境のリセットこのチュートリアルを完了したら、このガイドで説明した概念について、Amazon Redshift の他のリソースでさらに知識を深めることができます。環境を元の状態にリセットすることもできます。他の AmazonRedshift ガイドのタスクを試す意向がある場合は、実行しているサンプルクラスターを維持することもできます。ただし、クラスターを実行している間は継続して課金されるので、注意してください。課金を停止するには、クラスターへのアクセスを取り消し、不要になったら削除する必要があります。

API バージョン 2012-12-0118

Page 22: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドここからどこへ進むべきですか?

ここからどこへ進むべきですか?その他のリソース次のリソースを使用して、このガイドで説明した概念についてさらに詳細な説明をご覧になることを推奨します。

• Amazon Redshift Management Overview: このトピックでは、Amazon Redshift の概要を説明します。• Amazon Redshift Cluster Management Guide: このガイドは本Amazon Redshift 入門ガイドを基礎とし

て構成されており、クラスターの作成、管理、および監視に関する概念とタスクの詳細情報を提供します。

• Amazon Redshift Database Developer Guide: このガイドは、本Amazon Redshift 入門ガイドを基礎として構成されており、データウェアハウスを構成するデータベースの構築、クエリ、および保守に関する詳細情報をデータベース開発者向けに提供します。

環境のリセットこのチュートリアルを完了したら、次の手順を実行して環境を以前の状態にリセットします。

• アクセスを許可したポートおよび CIDR/IP アドレスへのアクセスを取り消します。

EC2-VPC プラットフォームを使用してクラスターを起動した場合は、「VPC セキュリティグループからのアクセスを取り消すには (p. 19)」のステップを実行します。

• サンプルクラスターを削除します。クラスターを削除するまで、そのクラスターについて AmazonRedshift サービスの使用料が継続して発生します。「サンプルクラスターを削除するには (p. 20)」の手順を実行します。

VPC セキュリティグループからのアクセスを取り消すには

1. Amazon Redshift コンソールのナビゲーションペインで、[Clusters (クラスター)] を選択します。2. examplecluster を選択してこのクラスターを開き、[設定] タブが表示された状態にします。3. [Cluster Properties (クラスターのプロパティ)] の下の VPC セキュリティグループを選択します。

4. デフォルトのセキュリティグループを選択した状態で [Inbound (インバウンド)] タブを選択し、[Edit(編集)] を選択します。

API バージョン 2012-12-0119

Page 23: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドここからどこへ進むべきですか?

5. ポートに対して作成したカスタム TCP/IP 進入ルールと、CIDR/IP アドレス 0.0.0.0/0 を削除します。[All traffic (すべてのトラフィック)] ルールなど、セキュリティグループに対してデフォルトで作成されたその他のルールは削除しないでください。[保存] を選択します。

サンプルクラスターを削除するには

1. Amazon Redshift コンソールのナビゲーションペインで、[Clusters (クラスター)] を選択します。2. examplecluster を選択してこのクラスターを開き、[設定] タブが表示された状態にします。3. [Cluster (クラスター)] メニューで [Delete (削除)] を選択します。

4. [Delete Cluster (クラスターの削除)] ウィンドウで、[Create snapshot (スナップショットの作成)] に[No (いいえ)] を選択して、[Delete (削除)] を選択します。

API バージョン 2012-12-0120

Page 24: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイドここからどこへ進むべきですか?

5. クラスターの詳細ウィンドウで、[クラスターステータス] にクラスターが削除処理中であると表示されます。

API バージョン 2012-12-0121

Page 25: Amazon Redshift - 入門ガイド - AWS Documentation Redshift 入門ガイド Table of Contents ご利用開始にあたって 1 ステップ 1: 前提条件の設定

Amazon Redshift 入門ガイド

ドキュメント履歴次の表は、「Amazon Redshift 入門ガイド」の最新版リリース以降に更新された重要な変更点をまとめたものです。

ドキュメントの最終更新日: 2019 年 5 月 3 日

変更 説明 リリース日

新機能 クイック起動クラスター手順について説明するようにガイドを更新しました。

2018 年 8 月 10 日

新機能 Amazon Redshift ダッシュボードからクラスターを起動するようにガイドを更新しました。

2015 年 7 月 28 日

新機能 新しいノードタイプ名を使用するようにガイドを更新しました。

2015 年 6 月 9 日

ドキュメントの更新 VPC セキュリティグループの設定のスクリーンショットと手順を更新しました。

2015 年 4 月 30 日

ドキュメントの更新 現在のコンソールに合致するようにスクリーンショットと手順を更新しました。

2014 年 11 月 12 日

ドキュメントの更新 見つけやすくするために、Amazon S3 からのデータのロードに関する説明を独立したセクションに移動し、次のステップセクションを最終ステップに移動しました。

2014 年 5 月 13 日

ドキュメントの更新 ようこそページを削除し、そのコンテンツをメインの使用開始ページに組み込みました。

2014 年 3 月 14 日

ドキュメントの更新 これは、カスタマーフィードバックとサービスの更新情報を反映した Amazon Redshift 入門ガイドの新しいリリースです。

2014 年 3 月 14 日

新規ガイド これは「Amazon Redshift 入門ガイド」の初版リリースです。

2013 年 2 月 14 日

API バージョン 2012-12-0122