EC2インスタンスの作成
これでいよいよAmazon Redshiftインスタンスができました。Redshiftへのアクセス確認はBIツールや対応するDBツールで行うこともできますが、ここではRedshiftが準拠しているPostgreSQLで提供されているコマンドツール「psql」を使って確認する方法を採りたいと思います。psqlおよびPostgreSQLを利用するための環境を整えるために、EC2インスタンスをこれから構築していきます。
まず始めに、EC2インスタンスにアクセスするためのセキュリティグループを作成します。ここではSSHアクセスのみを所定のインスタンスに対して行わせたいので、ポート番号「22」を許可する設定内容で作ってください。Amazon Redshiftに対するセキュリティグループ同様、アクセス許可対象となるIPを絞るなどの対応を本来は行うべきですが、ここでも簡略化の為許可IPアドレスの範囲を「0.0.0.0/0」(全許可)としたいと思います(※お使いの環境で制限可能な状況であれば、このタイミングで接続可能なIPアドレスを設定してください)。
EC2インスタンス内でRedshiftにログインし、S3からのファイルをロード(COPYというコマンドを使ってRedshiftの所定のテーブルへロードします)するためには認証情報が必要です。IAMユーザーの情報を用いるか、EC2に付与するIAMロールから情報を取得し、COPYコマンド実行時にパラメータとして設定することで処理が行えるようになります。
IAMユーザーの場合はAWSマネジメントコンソールから任意のユーザーを作成し、アクセスキーとシークレットアクセスキーを生成してください。この際認証ファイルの情報をダウンロードすることもできますので必要に応じて保存し控えておいてください。
AWSマネージメントコンソールのメニューからIAMを選択、[Users]→[Create New Users]ボタンを押下します。
任意のユーザー名を入力して[Create]ボタンを押下し、ユーザーを作成してください。
ユーザー作成後はアクセスキーID(Access Key ID)、シークレットアクセスキー(Secret Access Key)が表示されます。情報を控えておくと同時に、併せてファイルのダウンロードも可能となっていますので[Download Credentials]を押下し、ファイルとして保存しておきます。
作成したユーザーにはまだ何も権限が備わっていません。なのでその権限を付与したいと思います。IAMメニューの[Users]から上記で作成したユーザーを選択し、[Permissions]欄にある[Attach User Policy]ボタンを押下します。
権限設定の画面では、[Power User Access]を設定してみます。これはIAMのユーザーおよびグループの管理以外、すべての操作が行える非常に強力なものです。ここでは簡易化のためこの選択で進めますが、本来の運用環境下では必要な権限(利用可能なサービスおよびそのサービスの操作)のみを定めたポリシーを作成し、そのポリシーをユーザーなりグループに割り当てる、という形があるべき姿ですのでご注意ください。
ポリシー内容を確認後、[Apply Policy]ボタンを押下します。
これで、所定のユーザーに権限が付与されました! 以降手順ではこのユーザーによる情報を使ってRedshiftにアクセスします。
これでEC2インスタンスを作成する際の下準備が整いました。ここからはEC2インスタンス自体の構築を行います。
AWSマネージメントコンソール、EC2メニューから[Instances]→[Launch Instances]ボタンを押下します。
起動するEC2インスタンスのAMIを選択します。ここは初期表示されているAmazon Linux AMIの最新版を選択して進めましょう。該当するAMIの[Select]ボタンを押下します。
EC2インスタンスタイプの選択についても、初期表示されている無料利用枠(Free tier eligibleラベルが表示されているもの)のものをそのまま採用します。[Next: Configure Instance Details]を押下します。
ネットワーク周りの情報の設定を行います。Networkには事前に作成したVPCを、Subnetにはこれも事前に作成したものをそれぞれ割り当てます。また、これは必須ではありませんが、EC2起動時に自動的にPublic IPを割り当てる設定も併せて行っておくと、IPアドレスでアクセスできるようになるので便利です。残りの設定については初期設定のままで構いません。[Next: Add Storage]ボタンを押下します。
ストレージ容量については、今回の連載では特にEC2インスタンス内でファイルを作成・保持することは行いませんので初期設定のままで差支えありません。[Next: Tag Instance]ボタンを押下します。
タグ情報は識別しやすい任意の文字列を設定しておきましょう。設定後[Next: Configure Security Group]ボタンを押下します。
セキュリティグループの設定。こちらは事前に作成した、ポート番号:22(SSH)のみ許可する設定のものを割り当てます。割り当て後[Review and Launch]ボタンを押下します。
一通りの内容を確認後、[Launch]ボタンを押下します。
起動前最後の手順として、EC2インスタンスにアクセスする際のキーペア(Key Pair)ファイルの指定もしくは作成を行います。過去・以前にファイルを作成しており、今回もそのファイルを扱うという場合は既存作成済のファイルの中から選択する操作を行ってください。今回は連載用に新しく作成します。
[Create a new key pair]を選択し、任意の名前を設定後まずはそのファイルをダウンロードします。ダウンロードが完了すると[Launch Instances]ボタンが押下できるようになるので押下してください。