本連載では、次のアーキテクチャ構成図にある環境を構築します。今回は、その環境に含まれる要素について説明します。
オンプレミス環境
上記の構成図には「オンプレミス環境」と記載しましたが、オンプレミス/クラウドにかかわらず、「投入する対象のデータが生成・出力されている場所」と考えてください。環境を構築する際の「分析作業サイクル」の起点となる場所です。既存のデータベース環境からエクスポートされるファイルを利用する場合もあるでしょうし、新規に作成する場合もあるでしょう。また、外部からデータを入手し、分析に合わせて用いるということもあるかもしれません。
いずれにしても、これらの「分析」の元になるデータを準備しておくことが、データ分析環境を構築する上での第一歩となります。
AWS環境
今回構築する分析環境では、Amazon Redshift(以下、Redshift)のほか、以下のようなAWSサービスを使用します。
Amazon S3
AWSが提供するインターネット用ストレージサービスです。AWSのあらゆるサービスで利用されています。今回構築する分析環境では、Redshiftにデータを取り込むための「データ置き場」として利用します。
Amazon VPCおよびネットワーク、サブネット情報
今回のAWS環境下では、RedshiftとEC2(仮想サーバ)を立ち上げますが、そのために、まず土台となる仮想プライベートクラウド(VPC)や各種ネットワーク情報を用意しておく必要があります。具体的には、独自のIPアドレスレンジの選択、サブネットの作成、ルートテーブル、ネットワークゲートウェイの設定などが該当します。
Amazon Redshift
AWSが提供する高速かつフルマネージドな、ペタバイト規模のDWHサービスです。PostgreSQLのJDBCおよびODBCに対応しており、各種ツールからアクセスする際も、PostgreSQLに対応したものを用います。
DWHと聞いて「どうやって扱うんだろう?」と戸惑う方がいるかもしれませんが、難しく考える必要はありません。「データの入れ物」で、「セキュリティ設定やバックアップなどは管理コンソール上で行えて、かつ適宜対応してくれるもの」という程度に思ってください。
Amazon EC2
Amazon S3からRedshiftへのデータ投入や、Redshiftへのデータベース接続、データ操作などを行う際に利用します。また、データの投入時や投入後に、データの編集・加工が一定のタイミングで必要になった場合、それらのバッチ処理の実行や自動化組み込みの拠点としてのバッチサーバの役割を担うケースもあります。