amazonredshift - amazon simple storage...

26
Amazon Redshift 入門ガイド API Version 2012-12-01

Upload: others

Post on 31-Aug-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

Amazon Redshift入門ガイド

API Version 2012-12-01

Page 2: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

アマゾンウェブサービス

Amazon Redshift 入門ガイド

Page 3: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

Amazon Redshift: 入門ガイドアマゾンウェブサービスCopyright © 2014 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

The following are trademarks of Amazon Web Services, Inc.: Amazon, Amazon Web Services Design, AWS, Amazon CloudFront,Cloudfront, Amazon DevPay, DynamoDB, ElastiCache, Amazon EC2, Amazon Elastic Compute Cloud, AmazonGlacier, Kindle, KindleFire, AWS Marketplace Design, Mechanical Turk, Amazon Redshift, Amazon Route 53, Amazon S3, Amazon VPC. In addition,Amazon.com graphics, logos, page headers, button icons, scripts, and service names are trademarks, or trade dress of Amazon inthe U.S. and/or other countries. Amazon's trademarks and trade dress may not be used in connection with any product or service thatis 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 not be affiliated with, connectedto, or sponsored by Amazon.

Amazon Redshift 入門ガイド

Page 4: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

はじめに .................................................................................................................................................. 1使用開始 .................................................................................................................................................. 3ステップ 1: 開始する前に ....................................................................................................................... 3ステップ 2: クラスターを起動する ......................................................................................................... 5ステップ 3: アクセスを許可する .......................................................................................................... 10ステップ 4: クラスターに接続する ....................................................................................................... 14ステップ 5: テーブルの作成、データのアップロード、サンプルクエリの実行 ................................. 16ステップ 6: サンプルクラスターを削除する ........................................................................................ 20ステップ 7: 次に学習するべきこと ....................................................................................................... 21改定履歴 ................................................................................................................................................ 22

API Version 2012-12-014

Amazon Redshift 入門ガイド

Page 5: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

はじめに

これは Amazon Redshift 入門ガイドです。Amazon Redshift は高速かつ高機能で、管理も万全な、ペタバイト規模のクラウド型データウェアハウスサービスです。

Amazon Redshiftを使用するには、まずAmazon Redshiftクラスターを起動します。クラスターとはコンピューティングノードの組み合わせで構成されるフルマネージド型データウェアハウスです。クラスターの作成と管理には Amazon Redshift マネジメントコンソール、API、または CLI を使用します。

デフォルトでは、AmazonRedshiftは新規クラスターを作成するとデータベースを1個作成します。必要に応じて追加のデータベースを作成することもできます。クラスターのプロビジョニングが終わったら、データセットをアップロードして、データ分析クエリを実行します。現在お使いのSQLベースツールやビジネスインテリジェンスアプリケーションが利用できます。

このガイドでは、クラスターの作成、データベーステーブルの作成、データのアップロード、およびクエリのテストの手順を説明します。

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

• 主なサービスと料金表 – product detail page には、Amazon Redshift の利点や主なサービス、料金表が掲載されています。

• 入門ガイド(本ドキュメント))–クラスターの作成、データベーステーブルの作成、データのアップロード、およびテストクエリの実行の手順を解説しています。

この入門ガイドを読み終えた後、さらに知識を深めるには、次のガイドのいずれかを参照してください。

• Amazon Redshift Cluster Management Guide – Management Guide では、Amazon Redshift クラスターの作成および管理の方法を紹介しています。

アプリケーション開発者なら、Amazon Redshift Query API を使ってクラスターをプログラム的に管理できます。また、Java、.NETをはじめ各種言語向けに提供されているAWS SDKから、基本的なAmazon Redshift API をラップするクラスライブラリを入手すれば、プログラミング作業の省力化に役立ちます。クラスターをよりインタラクティブに管理したい場合は、AmazonRedshiftコンソールおよびAWSコマンドラインインターフェイス(AWS CLI)をご利用になれます。APIおよびCLI の詳細については、以下のマニュアルを参照してください。

API Version 2012-12-011

Amazon Redshift 入門ガイドAmazon Redshift のご利用は初めてですか?

Page 6: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

• API リファレンス• CLI リファレンス

• Amazon Redshift Database Developer Guide – Amazon Redshift Database Developer Guide はデータベース開発者向けの内容で、データウェアハウスを構成するデータベースの設計、構築、クエリ、管理を解説しています。

API Version 2012-12-012

Amazon Redshift 入門ガイドAmazon Redshift のご利用は初めてですか?

Page 7: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

Amazon Redshift の使用を開始する

Topics• ステップ 1: 開始する前に (p. 3)• ステップ 2: クラスターを起動する (p. 5)• ステップ 3: インバウンドトラフィックにクラスターアクセスを許可する (p. 10)• ステップ 4: クラスターに接続する (p. 14)• ステップ 5: テーブルの作成、データのアップロード、サンプルクエリの実行 (p. 16)• ステップ 6: サンプルクラスターを削除する (p. 20)• ステップ 7: 次に学習するべきこと (p. 21)

Amazon Redshift データウェアハウスを使用するための第 1 ステップは Amazon Redshift クラスターを起動することです。クラスターはコンピュートノードの組み合わせで構成されます。デフォルトでは、Amazon Redshift はクラスターに 1 個のデータベースを作成します。必要に応じて追加のデータベースを作成することもできます。クラスターのプロビジョニングが終わったら、データセットをアップロードして、データ分析クエリを実行します。現在お使いの SQL ベースツールやビジネスインテリジェンスアプリケーションが利用できます。

このセクションでは、クラスターの作成、データベーステーブルの作成、データのアップロードおよびクエリのテストの手順を説明します。まず Amazon Redshift コンソールを使用してクラスターをプロビジョニングし、必要なアクセス権限を付与します。次にSQLWorkbenchクライアントを使用してクラスターに接続し、サンプルテーブルを作成し、サンプルデータをアップロードし、テストクエリを実行します。

ステップ 1: 開始する前にTopics• ステップ 1.1: サインアップ (p. 4)• ステップ 1.2: クライアントツールおよびドライバーをダウンロードする (p. 4)

まだAWSアカウントをお持ちでない場合は、サインアップしてアカウントを作成してください。次にクライアントツールおよびドライバーをダウンロードします。これは Amazon Redshift クラスタに接続するために使います。

API Version 2012-12-013

Amazon Redshift 入門ガイドステップ 1: 開始する前に

Page 8: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

ステップ 1.1: サインアップすでに AWS アカウントをお持ちの場合は、このステップを飛ばしてステップ 1.2: クライアントツールおよびドライバーをダウンロードする (p. 4) に進んでください。

サインアップして AWS アカウントを作成するには

1. http://aws.amazon.com にアクセスし、[サインアップ] をクリックします。2. 画面上の指示に従ってください。

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

ステップ 1.2: クライアントツールおよびドライバーをダウンロードするAmazon Redshift クラスターを作成したら、任意の SQL クライアントツールを使ってクラスターにPostgreSQLJDBCまたはODBCドライバーで接続します。このチュートリアルでは、SQLWorkbench/Jを使って接続する方法を説明します。これは無料で使える、DBMS 独立でクロスプラットフォームのSQL クエリツールです。このチュートリアルに SQL Workbench/J を使う場合は、以下のステップに沿ってセットアップを済ませます。SQL Workbench/J のインストール手順の詳細については、SettingUp the SQL Workbench/J Client を参照してください。Amazon EC2 インスタンスをクライアントコンピュータとして使う場合は、そのインスタンスに SQL Workbench および必要なドライバーをインストールします。

Note

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

SQL Workbench/J をセットアップするには

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

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

Important

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

3. SQL Workbench/J がクラスターに接続するために必要なドライバーをダウンロードします。

現在、Amazon Redshift は以下のバージョン 8 JDBC および ODBC ドライバーをサポートしています。

• JDBC http://jdbc.postgresql.org/download/postgresql-8.4-703.jdbc4.jar• ODBC http://ftp.postgresql.org/pub/odbc/versions/msi/psqlodbc_08_04_0200.zip• 64 ビットマシンにはこちらのドライバーを使用してください。http://ftp.postgresql.org/pub/odbc/versions/msi/psqlodbc_09_00_0101-x64.zip

API Version 2012-12-014

Amazon Redshift 入門ガイドステップ 1.1: サインアップ

Page 9: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

ステップ 2: クラスターを起動する次に、AWS マネジメントコンソールを使ってクラスターを起動します。

Important

ここで起動するクラスターはライブとなります(サンドボックスで実行されるわけではありません)。クラスターを終了するまで、そのクラスターについてAmazon Redshift 標準使用料が発生します。ここで説明した演習を中断せずに完了し、終了時にクラスターを終了すれば、合計料金はごくわずかです。

クラスターを起動するには

1. AWS アカウントまたは IAM アカウントの認証情報を使って AWSマネジメントコンソールにサインインし、Amazon Redshiftコンソール(https://console.aws.amazon.com/redshift)を開きます。

Important

IAMユーザー認証情報を使う場合は、そのユーザーにクラスター操作を実行するために必要な権限があるか確認してください。詳細については、Amazon Redshift ManagementGuide の Controlling Access to IAM Users をご覧ください。

2. リージョンセレクタからリージョンを選択します。

この入門演習では、米国東部リージョンを使用します。

3. [Launch Cluster] をクリックします。

初めてクラスターを作成する場合、次の画像が表示されます。画像が表示されない場合は、クラスターの一覧が表示されます。

4. [Cluster Details] ページに以下の値を入力します。

...処理:パラメータ

exampleclusterと入力します。[Cluster Identifier]

API Version 2012-12-015

Amazon Redshift 入門ガイドステップ 2: クラスターを起動する

Page 10: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

...処理:パラメータ

空欄にします。こうするとデフォルト名devでデータベースが作成されます。

[Database Name]

5439をデフォルト値として使用します。

Note

このチュートリアルでは例としてポート5439を使用します。このポートがお使いの環境で動作しない場合は、他のポートを指定し、以下このチュートリアルではポートをすべてそれに読み替えてください。クラスターが起動した後でポートを変更することはできません。

[Database Port]

masteruserと入力します。このマスターユーザー名を使ってクラスターにログインすると、すべてのデータベース権限が使えます。

[Master Username]

パスワードを入力します。パスワードは以下の条件を満たす必要があります。

• 長さが 8~64 文字の範囲であること。• 最低 1 個の大文字を含むこと。• 最低 1 個の小文字を含むこと。• 1 個の数字を含むこと。• 表示可能なASCII文字(ASCIIコード33~126)のうち、'(シングルクォート)、"(ダブルクォート)、\、/、@および空白を除く任意の文字を使用できる。

[Master Password]

パスワードを再度入力します。[Confirm Password]

API Version 2012-12-016

Amazon Redshift 入門ガイドステップ 2: クラスターを起動する

Page 11: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

5. [Continue] をクリックします。6. [Node Configuration] ページに、クラスターのノードに関する情報を入力します。

a. [Node Type] ボックスは、デフォルト値 dw.hs1.xlargeをそのまま使用します。

より大規模なデータセットでテストする場合は、代わりに dw.hs1.8xlargeノードタイプを使用してもかまいません。

b. [Cluster Type] ボックスで、[Single Node] をクリックします。

この演習にはシングルノードクラスタで充分です。実際の環境では、おそらく追加ノードが必要になるでしょう。

c. [Continue] をクリックします。

API Version 2012-12-017

Amazon Redshift 入門ガイドステップ 2: クラスターを起動する

Page 12: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

7. [Additional Configuration]ページの [Choose a VPC]の値を書きとめておきます。次のステップで、クライアントにクラスターへのアクセス権限を付与しますが、その方法はお使いのクラスターがVirtual Private Cloud(VPC)内にプロビジョニングされているかどうかで違ってきます。

この例では違いを気にする必要はありません。VPC に関する詳しい解説は Amazon RedshiftManagementGuideにあります。ここでは、クラスターを起動し、適当なデータで試用してみることを目標とします。VPC の詳細については、Amazon Redshift Management Guide の SupportedPlatforms to Launch Your Cluster を参照してください。

• クラスターが VPC の外部で作成されている場合、リージョン内のこのアカウントで起動している以前のクラスターがなければ、[AdditionalConfiguration]ページの表示は次のようになります。デフォルト値をそのまま使い、[Continue] をクリックします。

• ラスターが VPC の外部で作成されている場合、リージョン内のこのアカウントで起動している以前のクラスターがあれば、[Additional Configuration] ページの表示は次のようになります。デフォルト値をそのまま使い、[Continue] をクリックします。• [Cluster Parameter Group] で、「default.redshift-1.0」パラメータグループを選択します。

• [Encrypt Database] で、デフォルトである「No」をそのまま使います。• [Choose a VPC] で、クラスターの VPC を選択します。• [Cluster Subnet Group] で、クラスターを実行するサブネットを選択します。使用可能であればデフォルトのサブネットを選択します。クラスターサブネットグループについてはAmazonRedshift 管理ガイドに解説があります。

• [Publicly accessible] で、[Yes] を選択します。• [アベイラビリティーゾーン] では、デフォルト値をそのまま使います。• [VPC Security Groups] で、セキュリティグループを選択して、クラスターに照らしてテストする外部接続または EC2 インスタンスに許可を与えます。次の手順で、そのアクセスに対するルールを有効にします。

• [Continue] をクリックします。

API Version 2012-12-018

Amazon Redshift 入門ガイドステップ 2: クラスターを起動する

Page 13: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

8. [Review]ページで、情報が意図したとおりになっているか確認します。訂正が必要な項目がある場合は、[Back]をクリックして前のページに戻ります。[Review]ページの内容は、クラスターをVPC内で起動するか VPC 外で起動するかで異なります。

• クラスターを VPC 外で起動する場合、[Review] ページは次のような表示になります。

• クラスターを VPC 内で起動する場合、[Review] ページは次のような表示になります。

API Version 2012-12-019

Amazon Redshift 入門ガイドステップ 2: クラスターを起動する

Page 14: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

9. クラスターを起動すると費用が発生し始めるという警告が表示されます。クラスターを起動する場合は、[Launch Cluster] をクリックします。

10. クラスターの作成を開始するというメッセージが表示されたら、[Close]をクリックし、クラスターのステータスが [creating] から [available] に変わるまで待ちます。

次のステップでは、アクセスを許可してクラスターに接続できるようにします。

ステップ 3: インバウンドトラフィックにクラスターアクセスを許可する

クラスターが起動したら、クライアントからクラスターへのインバウンドアクセスを明示的に許可する必要があります。クライアントは Amazon EC2 インスタンスで実行しても、インターネットに接続した任意のデバイスから実行してもかまいません。

クライアントにアクセスを許可する手順は、クラスターを VPC 内にプロビジョニングしたかどうかで異なります。

API Version 2012-12-0110

Amazon Redshift 入門ガイドステップ 3: アクセスを許可する

Page 15: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

VPC 内にプロビジョニングしたクラスターへのアクセスを許可する上記の手順でクラスターをデフォルト VPC 内に起動した場合、クラスターはデフォルト VPC セキュリティグループに関連付けられています。これから、その VPC セキュリティグループにクラスターへのインバウンドアクセスを許可するルールを追加します。

[To add a rule to the default VPC security group]

1. Sign in to the AWS Management Console and open the Amazon Redshift console athttps://console.aws.amazon.com/redshift/.

Note

必ずステップ2でクラスターを起動したのと同じリージョンを使うようにしてください。

2. ナビゲーションペインで [Clusters] をクリックします。3. コンテンツペインで、インバウンドアクセスを許可するクラスターをクリックします。詳細ペイン

にある、[VPC ID] および [VPC Security Groups] の値を書きとめておきます。

4. 前述のAmazonRedshiftコンソールに表示されている[ViewVPCSecurity Groups ]リンクをクリックして Amazon VPC コンソールを開きます。

5. VPC コンソールのナビゲーションペインで [Security Groups] をクリックします。6. コンテンツペインを選択し、IDが前のステップで書きとめておいたものと同じVPCセキュリティ

グループのチェックボックスをオンにします。7. 詳細ペインで [Inbound] タブをクリックします。8. ルールを以下の手順で追加します。

a. ドロップダウンリストから [All Traffic] ルールタイプを選択し、クライアントの IP アドレスを指定して、[Add Rule] をクリックします。

API Version 2012-12-0111

Amazon Redshift 入門ガイドVPC内にプロビジョニングしたクラスターへのアクセスを

許可する

Page 16: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

b. [Apply Rule Changes] をクリックします。

これでデフォルト VPC 内にデプロイしたクラスターにクライアントが接続する準備ができました。

VPC 外にプロビジョニングしたクラスターへのアクセスを許可するクラスターをデフォルト VPC外で起動した場合、クラスターはデフォルト Amazon Redshift セキュリティグループに関連付けられています。クラスターにインバウンドアクセスを許可するには、クラスターセキュリティグループに進入ルールを追加します。各ルールはインバウンドトラフィックのソースを識別し、以下のソースに該当すればクラスターへのアクセスを許可します。

• Classless Inter-Domain Routing IP(CIDR/IP)アドレス範囲 – CIDR/IPアドレス範囲は、クライアントアプリケーションがインターネットで実行されている場合に使用します。

• Amazon EC2 セキュリティグループ – Amazon EC2 セキュリティグループは、クライアントアプリケーションが 1 つ以上の EC2 インスタンスで実行されている場合に使用します。

[To add a rule to the default cluster security group]

1. Sign in to the AWS Management Console and open the Amazon Redshift console athttps://console.aws.amazon.com/redshift/.

2. ナビゲーションペインで [Security Groups] をクリックします。3. コンテンツペインで、デフォルトセキュリティグループに対応するチェックボックスをオンにしま

す。

4. 詳細ペインで、セキュリティグループに進入ルールを追加します。

a. クラスターにインターネットからアクセスする場合、CIDR/IP ルールを構成します。

i. [Connection Type] ボックスで、[CIDR/IP] をクリックします。ii. [CIDR/IP to Authorize]ボックスで、CIDR/IP値を指定し、[Authorize]をクリックします。

クライアントはこの CIDR/IP アドレス範囲からであればクラスターに接続を許可されます。

API Version 2012-12-0112

Amazon Redshift 入門ガイドVPC外にプロビジョニングしたクラスターへのアクセスを

許可する

Page 17: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

b. クラスターに EC2 インスタンスからアクセスする場合、EC2 セキュリティグループルールを構成します。

i. [Connection Type] ボックスで、[EC2 Security Group] をクリックします。ii. [AWS アカウント] で、AWS アカウントの下に EC2 セキュリティグループが定義されて

いる場合は、[This account] を選択します。EC2 セキュリティグループが異なるアカウントの下に定義されている場合は、[Another account] をクリックし、[AWS アカウント ID]ボックスにアカウント ID を入力します。[EC2 Security Group Name] ボックスで、お使いの EC2 インスタンスに関連付けられたセキュリティグループ名を選択します。設定がすべて意図したとおりであることを確認したら、[Authorize]をクリックします。指定したAWS アカウントおよび EC2 セキュリティグループに関連付けられたクライアント EC2インスタンスに、クラスターへの接続が許可されます。

インスタンスに関連付けられた Amazon EC2 セキュリティグループの名前がわからない場合は、AmazonEC2コンソール(https://console.aws.amazon.com/ec2)に移動します。ナビゲーションペインで、[Instances] の下にある [Instances] をクリックします。詳細ペインで、情報を確認するAmazonEC2インスタンスのチェックボックスをオンにします。[Description] タブに、そのインスタンスに関連付けられたセキュリティグループ名が[Security Groups] の下に表示されます。

API Version 2012-12-0113

Amazon Redshift 入門ガイドVPC外にプロビジョニングしたクラスターへのアクセスを

許可する

Page 18: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

これでクライアントをクラスターに接続する準備ができました。

ステップ 4: クラスターに接続するそれでは、作成したクラスターに接続します。PostgreSQL 互換の SQL クライアントならどれでも使えます。このチュートリアルでは、SQLWorkbenchクライアントを使用します。接続を確立するには、SQL Workbench にクラスターを指定する接続文字列を入力する必要があります。

クラスター接続文字列を取得するには

1. Amazon Redshift コンソールの [Clusters] ページで、[examplecluster] をクリックします。2. [Configuration] タブで、[JDBC URL] の下にある、クラスターの JDBC URL をコピーします。

Note

クラスターのエンドポイントは、クラスターが available状態になるまで使用できません。

次の例は米国東部リージョンで起動されたクラスターの JDBC URL を示しています。クラスターを別のリージョンで起動した場合、URL はそのリージョンのエンドポイントに基づくものになります。

クライアントをクラスターに接続する

1. クライアントで SQL Workbench を起動します。2. [Select Connection Profile] ウィンドウが自動的に開かない場合は、[File] メニューで [Connect

Window] をクリックします。

API Version 2012-12-0114

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

Page 19: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

3. [Select Connection Profile] ウィンドウで接続をセットアップします。

a. [Autocommit] チェックボックスを選択します。b. [New profile]という文字列が表示されているボックスに、接続するプロファイル名を入力しま

す。c. [Driver] ボックスで、[PostgreSQL(org.postgresql.Driver)] をクリックします。

SQLWorkbenchを使うのが初めての場合、ドライバーの定義を編集するかどうかを尋ねるメッセージが表示されることがあります。その場合はダイアログボックスで[Yes]をクリックします。[Manage drivers] ダイアログボックスの [Library] ボックスに、ダウンロードしたドライバーファイルへのリンクを入力します。

Note

まだドライバーをダウンロードしていない場合は、ステップ1.2:クライアントツールおよびドライバーをダウンロードする (p. 4) の手順を行ってください。

d. サンプル [URL] ボックスに、前のステップでコピーしておいた、クラスターの JDBC URL をペーストします。

e. [Username]フィールドと[Password]フィールドには、クラスターを作成した時に入力したマスターユーザー名とパスワードを入力します。

f. [OK] をクリックすると接続します。

Note

接続できない場合、ファイアウォール構成に問題がある可能性があります。ネットワークセキュリティ管理者に連絡し、選択した外部ポートに接続できることを確認してください。この入門では、例としてポート 5439を使用します。

API Version 2012-12-0115

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

Page 20: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

クラスターに接続できたら、次のステップに進んでサンプルデータベースを作成します。

Note

Amazon Redshift に接続するのに使うクライアントは、AWS外で実行しても、AWS内のEC2インスタンスで実行してもかまいません。ただし AWS 外から Amazon Redshift に接続する場合、接続がアイドル状態になったまま一定時間が経過すると、間のネットワーク構成(ファイアウォールなど)によって切断される場合があります。 これはVPNや企業ネットワークの内部からログオンする場合にとりわけよく起きることです。こうしたタイムアウトを回避するには、TCP-IP 接続設定の変更が必要になる場合があります。詳細については、Connecting toAmazon Redshift From Outside of Amazon EC2 – Firewall Timeout Issueを参照してください。

ステップ5:テーブルの作成、データのアップロード、サンプルクエリの実行

これでデータベース devを作成し、それに接続できました。次はこのデータベースにテーブルを作成し、テーブルにデータをアップロードして、クエリを実行してみます。すぐ使えるサンプルデータをAmazon S3 バケットに用意しました。クラスターを作成したのと同じリージョンでバケットを選択します。このサンプルデータをコピーするには、AWSアカウント認証情報(アクセスキーIDおよびシークレットアクセスキー)が必要になります。認証されたユーザーのみがこのデータにアクセスできます。

Note

次に進む前に、SQL Workbench クライアントをクラスターに接続しておいてください。

1. テーブルを作成する

以下の「create table」ステートメントをコピーし、devデータベースにテーブルを作成します。シンタックスの詳細については、Amazon Redshift Developer Guide の CREATE TABLE を参照してください。

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,

API Version 2012-12-0116

Amazon Redshift 入門ガイドステップ5:テーブルの作成、データのアップロード、サン

プルクエリの実行

Page 21: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

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);

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. Amazon S3 からデータをコピーする。Amazon S3 や Amazon DynamoDB から大規模データセットをバルクロードする際のパフォーマンスを最適化するために、Amazon Redshift SQL COPY コマンドを使用することを強くお勧めします。シンタックスの詳細については、Amazon RedshiftDatabase Developer Guide の COPY に進みます。

以下の「copy」ステートメントをコピーして、Amazon S3 から devデータベースのテーブルにデータをアップロードします。

API Version 2012-12-0117

Amazon Redshift 入門ガイドステップ5:テーブルの作成、データのアップロード、サン

プルクエリの実行

Page 22: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

copy users from 's3://<region-specific-bucket-name>/tickit/allusers_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_ac cess_key=<Your-Secret-Access-Key>' delimiter '|';copy venue from 's3://<region-specific-bucket-name>/tickit/venue_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_ac cess_key=<Your-Secret-Access-Key>' delimiter '|';copy category from 's3://<region-specific-bucket-name>/tickit/cat egory_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';copy date from 's3://<region-specific-bucket-name>/tickit/date2008_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_ac cess_key=<Your-Secret-Access-Key>' delimiter '|';copy event from 's3://<region-specific-bucket-name>/tickit/allevents_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_ac cess_key=<Your-Secret-Access-Key>' delimiter '|' timeformat 'YYYY-MM-DD HH:MI:SS';copy listing from 's3://<region-specific-bucket-name>/tickit/list ings_pipe.txt' CREDENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '|';copy sales from 's3://<region-specific-bucket-name>/tickit/sales_tab.txt'CRE DENTIALS 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' delimiter '\t' timeformat 'MM/DD/YYYY HH:MI:SS';

<Your-Access-Key-ID>および <Your-Secret-Access-Key>はお使いの AWS アカウント認証情報に、<region-specific-bucket-name>はクラスターと同じリージョンにあるバケット名に、必ず置き換えてください。使用するべき正しいバケット名を探すには、次の表を参照してください。

<region-specific-bucket-name>リージョン

awssampledb米国東部(バージニア北部)

awssampledbuswest2米国西部(オレゴン)

awssampledbeuwest1欧州(アイルランド)

awssampledbapsoutheast1アジアパシフィック(シンガポール)

awssampledbapsoutheast2アジアパシフィック(シドニー)

awssampledbapnortheast1アジアパシフィック(東京)

Note

この演習では、AmazonRedshiftが所有する既存のAmazonS3バケットからサンプルデータをアップロードします。このバケットの権限は、すべてのユーザーにサンプルデータファイルへの読み込みアクセスを許可する設定になっています。独自のデータをアップロードする場合は、ご自分の Amazon S3 バケットが必要になります。バケットの作成とデータのアップロードの詳細については、Amazon Simple Storage Service Console UserGuide の Creating a Bucket および Uploading Objects into Amazon S3 を参照してください。

3. 次にサンプルクエリを実行します。詳細については、AmazonRedshift DeveloperGuideのSELECTを参照してください。

API Version 2012-12-0118

Amazon Redshift 入門ガイドステップ5:テーブルの作成、データのアップロード、サン

プルクエリの実行

Page 23: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

-- 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 コンソールから実行したクエリを確認できます。[Queries]タブに、指定期間内に実行されたクエリの一覧が表示されます。デフォルトでは、コンソールは現在実行中のクエリを含め、最近 24 時間以内に実行されたクエリを表示します。

1. Amazon Redshift コンソール(https://console.aws.amazon.com/redshift)にアクセスします。2. 右ペインのクラスター一覧で exampleclusterをクリックします。3. [Queries] タブをクリックします。

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

4. クエリ一覧からクエリを選択すると、そのクエリの詳細情報が表示されます。

クエリの情報は新しい[Query]タブに表示されます。次の例は、前のステップで実行したクエリの詳細を表示したものです。

API Version 2012-12-0119

Amazon Redshift 入門ガイドステップ5:テーブルの作成、データのアップロード、サン

プルクエリの実行

Page 24: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

ステップ 6: サンプルクラスターを削除するクラスターを起動すると、以後それが使用可能な状態である限り、たとえ能動的に使用していなくても、クラスターの実行時間に基づき料金が請求されます。不要になったクラスターは削除できます。

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

1. Amazon Redshift コンソール(https://console.aws.amazon.com/redshift)にアクセスします。2. 左ナビゲーションで [Clusters] をクリックします。3. 右ペインのクラスター一覧で exampleclusterをクリックします。4. クラスター詳細ページで [Delete] をクリックします。

5. [Create final snapshot?] で、[No] を選択します。

演習ではない場合、ここでクラスターの最終スナップショットを作成しておくと、クラスターを削除しても後でそこから復旧できます。

Note

最終スナップショットを作成した結果、ストレージ使用量がそのアカウントでプロビジョニング済みのストレージ容量を超過した場合は、追加のストレージ料金が発生します。詳細については、Amazon Redshift 製品の詳細ページを参照してください。

• [OK] をクリックします。

API Version 2012-12-0120

Amazon Redshift 入門ガイドステップ 6: サンプルクラスターを削除する

Page 25: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

クラスターを削除すると、以後そのクラスターによる利用料金は発生しません。

これで、クラスターの起動、アクセス権の設定、クラスターへの接続、クラスターの終了をひととおり体験しました。Amazon Redshift および応用学習の詳細については、ステップ 7: 次に学習するべきこと (p. 21) を参照してください。

ステップ 7: 次に学習するべきことこの入門ガイドを終えた後、AmazonRedshiftに関する知識を深めるには、以下のガイドをご利用ください。

• Amazon Redshift Cluster Management Guide – Management Guide では、Amazon Redshift クラスターの作成および管理の方法を紹介しています。

アプリケーション開発者なら、Amazon Redshift Query API を使ってクラスターをプログラム的に管理できます。また、Java、.NETをはじめ各種言語向けに提供されているAWS SDKから、基本的なAmazon Redshift API をラップするクラスライブラリを入手すれば、プログラミング作業の省力化に役立ちます。クラスターをよりインタラクティブに管理したい場合は、AmazonRedshiftコンソールおよびAWSコマンドラインインターフェイス(AWS CLI)をご利用になれます。APIおよびCLI の詳細については、以下のマニュアルを参照してください。• API リファレンス• CLI リファレンス

• Amazon Redshift Database Developer Guide – Amazon Redshift Database Developer Guide はデータベース開発者向けの内容で、データウェアハウスを構成するデータベースの設計、構築、クエリ、管理を解説しています。特に、Database Developer Guide の Best Practices for Designing Tables および Best Practices for Loading Data から読み始めることをおすすめします。

サービスの概要および料金表の詳細については、AmazonRedshift製品の詳細ページを参照してください。

API Version 2012-12-0121

Amazon Redshift 入門ガイドステップ 7: 次に学習するべきこと

Page 26: AmazonRedshift - Amazon Simple Storage Services3.amazonaws.com/awsdocs/redshift/latest/redshift-gsg-ja_jp.pdf · はじめに これはAmazonRedshift入門ガイドです。AmazonRedshiftは高速かつ高機能で、管理も万全な、ペ

改定履歴

次の表は、「AmazonRedshift入門ガイド」最新版リリース以降に更新された重要な変更点をまとめたものです。

ドキュメントの最終更新日: 2013 年 4 月 22 日

リリース日説明変更点

2013 年 2 月 14 日これは「Amazon Redshift 入門ガイド」の初版リリースです。

新規ガイド

API Version 2012-12-0122

Amazon Redshift 入門ガイド