Help us understand the problem. What is going on with this article?

Glueの使い方的な㉔(S3からRedshiftにロード_準備編)

More than 1 year has passed since last update.

ここでは、S3からRedshiftにロードする際の準備を行います。
後編でGlueを使ってS3からRedshiftへのロードを行います。

前編で作成される構成は以下です。

glue_redshift-Page-2.png

全体の流れ

  • VPC作成(既に作成済ならそれでもOK。)
  • Redshift接続用EC2作成(既に作成済ならそれでもOK)
  • 自己参照セキュリティグループ(自己参照ルールを持つセキュリティグループ)作成
  • Redshift作成

VPC作成(既に作成済ならそれでもOK)

作成される構成

glue_redshift-Page-3.png

VPCの画面から、左側メニューの"VPCダッシュボード"をクリックし、[VPCの作成]をクリック

スクリーンショット 0030-09-09 20.42.01.png

"パブリックとプライベートサブネットを持つVPC"をクリックし、[選択]をクリック

スクリーンショット 0030-09-09 20.42.34.png

以下を入力し、[作成]をクリックする

VPC名:demo1-vpc (任意)
アベイラビリティゾーン:ap-northeast-1a (任意)
パブリックサブネット名:demo1-front-1a (任意)
アベイラビリティゾーン:ap-northeast-1a (任意)
パブリックサブネット名:demo1-back-1a (任意)
Elastic IP 割当てID: (適当なEIPを選択。なければ作成しておく)
サービスエンドポイント:com.amazonaws.ap-northeast-1.s3
サブネット:プライベートサブネット

スクリーンショット 0030-09-09 20.45.38.png

(補足)既に作成されたVPCの場合はここを確認

"DNS解決"、"DNSホスト名"が両方"はい"になっていること

スクリーンショット 0030-09-09 20.53.58.png

NATGWとVPCEndpointS3を作成した状態で、プライベートサブネットのルートに、NATGWへのルートとVPCEndpointS3があること

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f32373933322f62633339333063662d323532642d643166332d616663312d3864343139323366303062332e706e67.png

Redshift接続用EC2作成(既に作成済ならそれでもOK)

作成される構成

glue_redshift-Page-8.png

作成したVPCのパブリックサブネットにEC2を作成
セキュリティグループを作成し、22ポートを許可
Redshift接続のためにyum install -y postgresqlしておく

自己参照セキュリティグループ(自己参照ルールを持つセキュリティグループ)作成

自分自身のセキュリティグループIDから通信を許可したセキュリティグループ
後編でGlueが利用するセキュリティグループです。

作成される構成

glue_redshift-Page-10.png

VPCの画面で、左側メニューのセキュリティグループをクリックし、[セキュリティグループの作成]をクリックする

スクリーンショット 0030-09-09 21.06.51.png

以下を入力し、[はい、作成する]をクリックする
名前タグ:se2-glue-jikosansho-sg1 (任意)
グループ名:se2-glue-jikosansho-sg1 (任意)
説明:se2-glue-jikosansho-sg1 (任意)
VPC:demo1-vpc (先程作成したやつ、既存のVPC使うならそれを)

スクリーンショット 0030-09-09 21.38.16.png

作成したセキュリティグループにチェックを入れ、"インバウンドルール"タブをクリックし、[編集]をクリックする

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f32373933322f63396133343233662d343231632d623861362d623565392d3035653431353933626538352e706e67.png

すべてのトラフィックを許可するルールを1つ追加する。この際の送信元を自分のセキュリティグループIDにする。入力したら[保存]をクリックする
※これは自己参照ルールと呼ばれる
※Glueの接続(VPC内リソースにつなぐ定義)を使う場合は必須のルール

タイプ:すべてのトラフィック
ソース:(自分のセキュリティグループのID)

スクリーンショット 0030-09-10 9.05.14.png

Redshift作成

作成される構成

glue_redshift-Page-9.png

Redshift用のセキュリティグループ作成

VPCの画面で、左側メニューのセキュリティグループをクリックし、[セキュリティグループの作成]をクリックする

スクリーンショット 0030-09-09 21.06.51.png

以下を入力し、[はい、作成する]をクリックする。ルールは後で作成する。
名前タグ:se2-gluetest-dwh1-sg-private (任意)
グループ名:se2-gluetest-dwh1-sg-private (任意)
説明:se2-gluetest-dwh1-sg-private (任意)
VPC:demo1-vpc (先程作成したやつ、既存のVPC使うならそれを)

スクリーンショット 0030-09-09 21.32.58.png

セキュリティグループルール作成

VPCの画面から、左側メニューでセキュリティグループをクリックし、"se2-gluetest-dwh1-sg-private"にチェックを入れ、インバウンドのタブをクリックし、[編集]をクリックする

スクリーンショット 0030-09-10 6.55.44.png

以下の2つのルールを追加し[保存]をクリックする
Redshift接続用に作成したEC2のIPからの5439ポートの許可
前に作成した自己参照セキュリティグループからのALL TCPポートの許可

スクリーンショット 0030-09-10 7.00.41.png

サブネットグループ作成

Redshiftの画面で、右側メニューから"セキュリティ"をクリックし、"サブネットグループ"タブをクリックし、[クラスターサブネットグループの作成]をクリックする

スクリーンショット 0030-09-09 21.22.11.png

以下を入力し、[作成]をクリックする
名前:se2-dwh-sg1
説明:se2-dwh-sg1
VPC:demo1-vpc
アベイラビリティゾーン:ap-northeast-1a
サブネットID:demo1-back-1a を選び[追加]をクリック

スクリーンショット 0030-09-10 7.32.53.png

クラスタ作成

Redshiftの画面から、[クラスターの起動]をクリックする

スクリーンショット 0030-09-09 21.00.13.png

以下を入力し、[次へ]をクリックする。
クラスター識別子:se2-gluetest-dwh1
データベース名:db
マスターユーザー名:admin
パスワード:(任意)

次の画面で任意のインスタンスタイプを選び[次へ]をクリックする。(試すだけならそのままでよい)

スクリーンショット 0030-09-09 21.18.06.png

以下を入力し、[次へ]をクリックする

VPCの選択:demo1-vpc
クラスターサブネットグループ:se2-dwh-sg1
VPCセキュリティグループ:se2-gluetest-dwh1-sg-private

スクリーンショット 0030-09-10 9.20.11.png

 ※Glueにおける自己参照ルールの補足

https://qiita.com/pioho07/items/7223c77f341b7909431e

こちらも是非

Glueの使い方的な㉕(S3からRedshiftにロード_実行編)
https://qiita.com/pioho07/items/3a07cf6dccb8dfe046ff

JDBC データストアに接続するための VPC の設定
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/setup-vpc-for-glue-access.html

Glueの使い方まとめ
https://qiita.com/pioho07/items/32f76a16cbf49f9f712f

pioho07
こちらに記載の内容は所属会社とは関係ありませぬ。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした