AWS でのデプロイ
CelerData は、AWS 上でクラシックまたはエラスティッククラスタをデプロイするプロセスを 4 つの簡単なステップに簡素化する、ユーザーフレンドリーなデプロイウィザードを提供しています。
- ステップ1: クラスタリソースを設定する
- ステップ2: AWS のクレデンシャルを設定する
- ステップ3: クラスタへのアクセスを設定する
- ステップ4: AWS クラウド上にクラスタをデプロイする
CelerData は、各 BE がそのストレージ上にデータの一部を持つクラシック共有なしクラスタと、すべてのデータが共有オブジェクトストレージ上にあり、キャッシュのみがコンピュートノード (CN) にローカルであるエラスティック共有データクラスタをサポートしています。エラスティッククラスタでは、CN が BE を置き換えます。
エラスティッククラスタの詳細については、warehouse overview を参照してください。
デプロイウィザードを開始する
デプロイウィザードを開始するには、次の手順に従ってください。
- CelerData Cloud BYOC コンソール にサインインします。
- Clusters ページで、Create cluster をクリックします。
- 表示されるダイアログボックスで、Classic cluster または Elastic cluster を選択し、クラウドプロバイダーとして AWS を選択してから、Next をクリックします。
デプロイウィザードを開始した後、以下に説明するように、クイックデプロイメントまたは手動デプロイメントを設定して実行できます。
NOTE
AWS では、CelerData は 2 つのデプロイメント方法を提供しています: 手動デプロイメントとクイックデプロイメント。手動デプロイメントでは、独自のクレデンシャルとリソースを作成する必要があり、時間がかかる可能性があります。デプロイメントプロセスを自動化し、時間と労力を節約するクイックデプロイメントを使用することをお勧めします。
クイックデプロイメントを設 定して実行する
クイックデプロイメントは、CloudFormation テンプレートを起動して、必要なクレデンシャルを作成し、以下の AWS リソースをプロビジョニングおよび設定するのに役立ちます。これらはすべて CloudFormation スタックに含まれています。
- EC2 セキュリティグループ: 仮想ファイアウォールとして機能し、セキュリティグループに関連付けられた AWS リソースへのトラフィックを制御します。セキュリティグループは、CelerData からのトラフィックのみが、CelerData クラスタ用に割り当てられた AWS リソースに到達することを保証します。
- S3 バケット: CelerData クラスタの Query Profile 情報を保存します。
- IAM ロール: 関連する AWS リソースにアクセスするための権限が付与されます。
- VPC とサブネット: CelerData クラスタが存在する場所です。
AWS CloudFormation の詳細については、What is AWS CloudFormation? を参照してください。
同様の手順で、新しい VPC または既存の VPC に CelerData クラスタをデプロイできます。
デプロイウィザードを開始した後(前述の「デプロイウィザードを開始する」セクションを参照)、ステップ1 のみを完了する必要があります。CelerData が残りのステップを完了します。
-
ス テップ1: クラスタリソースを設定する で、ビジネス要件に基づいてクラスタを設定し、オプションで Add tag をクリックしてクラスタに 1 つ以上のタグを追加します。その後、Quick deployment by CloudFormation をクリックして続行します。ここで追加したタグは、クラスタに関連付けられた AWS クラウドリソースに添付されます。
NOTE
- CelerData は Free Developer Tier を提供しています。これを使用するには、4 CPU コアと 16-GB RAM を提供する FE および BE インスタンスタイプを選択する必要があります。
- 4 CPU コアと 16-GB RAM は、FE および BE の最小構成パッケージでもあります。
クラシッククラスタの場合、次の設定項目を設定します。
Parameter Required Description Cluster name Yes クラスタの名前を入力します。クラスタが作成された後、名前は変更できません。後でクラスタを簡単に識別できるように、情報を含む名前を入力することをお勧めします。 AWS region Yes クラスタをホストする AWS リージョンを選択します。CelerData がサポートするリージョンについては、Supported cloud platforms and regions を参照してください。 FE HA mode No FE HA モードを有効または無効にします。FE HA モードはデフォルトで無効になっています。 - FE HA モードが無効の場合、1 つの FE のみがデプロイされます。この設定は、CelerData がどのように役立つかを学ぶための概念実証クラスタを作成する場合、またはテスト目的で小さなクラスタを作成する場合に推奨されます。
- FE HA モードが有効の場合、3 つの FE がデプロイされます。この設定は、運用準備が整った環境のためのクラスタを作成する場合に推奨されます。3 つの FE を使用すると、クラスタはより多くの高並列クエリを処理しながら、高可用性を確保できます。
FE instance type Yes クラスタ内の FE ノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 BE instance type Yes クラスタ内の BE ノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 BE storage size Yes クラスタ内の各 BE ノードに提供したいストレージ容量を指定します。Customize number of volumes の前のボックスにチェックを入れると、各 BE ノードに必要なボリュームの数とサイズを設定できます。 BE node count Yes クラスタ内にデプロイしたい BE ノードの数を指定します。処理するデータ量に基づいて BE の数を決定できます。デフォルト値は 3 です。CelerData は、各テーブルを 3 つの異なる BE に 3 つのレプリカとして保存する必要があるためです。 エラスティッククラスタの場合、次の設定項目を設定します。
Parameter Required Description Cluster name Yes クラスタの名前を入力します。クラスタが作成された後、名前は変更できません。後でクラスタを簡単に識別できるように、情報を含む名前を入力することをお勧めします。 AWS region Yes クラスタをホストする AWS リージョンを選択します。CelerData がサポートするリージョンについては、Supported cloud platforms and regions を参照してください。 Multiple availability zone No Multiple Availability Zone (Multi-AZ) デプロイメントを有効または無効にします。この機能はデフォルトで無効になっています。CelerData の Multi-AZ デプロイメントの詳細については、Multi-AZ Deployments を参照してください。現在、CloudFormation によるクイックデプロイメントは Multiple Availability Zone をサポートしていません。この機能は manual deployment を通じてのみ有効にできます。 Coordinator node count No アベイラビリティゾーン全体にデプロイしたいコーディネーターノードの数を選択します。このフィールドは、Multi-AZ デプロイメントが有効な場合にのみ利用可能です。3 (デフォルト)、5、または 7 のコーディネーターノードを選択できます。 Coordinator HA mode No コーディネータ HA モードを有効または無効にします。このフィールドは、Multi-AZ デプロイメントが無効な場合にのみ利用可能です。コーディネータ HA モードはデフォルトで無効になっています。 - コーディネータ HA モードが無効の場合、1 つのコーディネータのみがデプロイされます。この設定は、CelerData がどのように役立つかを学ぶための概念実証クラスタを作成する場合、またはテスト目的で小さなクラスタを作成する場合に推奨されます。
- コーディネータ HA モードが有効の場合、3 つのコーディネータがデプロイされます。この設定は、運用準備が整った環境のためのクラスタを作成する場合に推奨されます。3 つのコーディネータを使用すると、クラスタはより多くの高並列クエリを処理しながら、高可用性を確保できます。
Coordinator node size Yes クラスタ内のコーディネーターノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 Node Distribution Policy Yes クラスタ内のデフォルトウェアハウスのコンピュートノード配布ポリシーを選択します。このフィールドは、Multi-AZ デプロイメントが有効な場合にのみ利用可能です。Multi-AZ デプロイメントのノード配布ポリシーの詳細については、Multi-AZ Deployments を参照してください。 Compute node size Yes クラスタ内のデフォルトウェアハウスのコンピュートノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 Compute storage size No デフォルトウェアハウスのコンピュートノードのストレージサイズを指定します。このフィールドの横にあるボックスにチェックを入れることで、ボリュームの数をカスタマイズすることもできます。このフィールドは EBS バックアップされたインスタンスタイプでのみ利用可能です。 Compute node count Yes クラスタ内のデフォルトウェアハウスのコンピュートノードの数を指定します。処理するデータ量に基づいてコンピュートノードの数を決定できます。デフォルト値は 1 です。 Advance Settings では、クラシッククラスタの FE および BE ノード、またはエラスティッククラスタのコーディネーターノードのストレージ自動スケーリングポリシーをさらに定義できます。ビジネスのワークロードが予測不可能で、クラスタ作成時に固定数のストレージボリュームを割り当てることができない場合、CelerData クラスタ内のノードのストレージ自動スケーリングを有効にすることができます。この機能を有効にすると、CelerData は、 設定されたストレージスペースが不足していることを検出したときに、ストレージサイズを自動的にスケールアップします。
次の手順に従います。
-
FE storage、BE storage、または Coordinator Storage に続くスイッチをオンにして、それぞれのストレージ自動スケーリングを有効にします。
-
自動スケーリング操作をトリガーするストレージ使用率のしきい値(パーセンテージ)を設定します。このしきい値は 80% から 90% の間で設定できます。ノードのストレージ使用率がこのしきい値に達し、5 分以上続いた場合、CelerData は次の手順で定義したステップサイズでストレージをスケールアップします。
-
各自動スケーリング操作のステップサイズを設定します。ステップサイズを固定サイズ(GB)またはパーセンテージで設定することができます。たとえば、50 GB または 15%(元のストレージサイズの)です。
-
各ノードの最大ストレージサイズを設定します。CelerData は、ストレージサイズがこのしきい値に達したときにストレージのスケールアップを停止します。
NOTE
- 手動スケーリングと自動スケーリングを含む 2 つのスケーリング操作の間隔として、最低 6 時間が必須です。
- 各ストレージの最大サイズは 16 TB です。
- エラスティッククラスタのコンピュートノードはストレージ自動スケーリングをサポートしていません。
-
Quick deployment ダイアログボックスで、Deploy in a new VPC または Deploy in an existing VPC を選択 し、Start をクリックします。
NOTE
AWS CloudFormation の権限がない場合は、表示された URL の横にある Copy アイコンをクリックして、URL を権限のあるユーザーに提供します。そのユーザーは、URL を使用して AWS CloudFormation コンソールを開き、スタックを作成できます。
-
AWS ログインページで、アカウント情報を入力し、Sign in をクリックします。
AWS CloudFormation コンソールにリダイレクトされます。
-
Quick create stack ページで、次の操作を行います。
a. Stack name セクションで、スタック名を指定します。
b. Cluster Configuration セクションで、クラスタ名を指定します。CelerData で指定したクラスタ名を保持することをお勧めします。その後、パスワードを入力し、パスワードを確認します。
c. Storage Configuration セクションで、S3 バケット名を指定します。
d. Network Configuration セクションで、VPC 名(新しい VPC にクラスタをデプロイする場合)を指定するか、VPC を選択し、その VPC からサブネットを選択します(既存の VPC にクラスタをデプロイする場合)。
e. Capabilities セクションで、メッセージを読み、I acknowledge that AWS CloudFormation might create IAM resources with custom names. を選択します。
f. Create stack をクリックします。
-
CelerData Cloud BYOC コンソールに戻り、Finish the AWS CloudFormation creation メッセージで Finish をクリックします。
-
Clusters ページを更新して、作成したクラスタが表示されるまで待ちます。
-
クラスタが Deploying 状態の場合、クラスタのデプロイメントは完了していません。Deploying をクリックして、デプロイメントの進行状況を確認できます。
クラスタのデプロイメントが完了すると、CelerData は「CelerData Cluster has been successfully deployed in your AWS Cloud!」というメッセージを表示します。メッセージの下にある Preview cluster をクリックして、クラスタを表示できます。
-
クラスタが Running 状態の場合、クラスタのデプロイメントは完了しています。クラスタをクリックして表示できます。
-
手動デプロイメントを設定して実行する
デプロイメントを成功させるためには、データクレデンシャル、デプロイメントクレデンシャル、およびネットワーク構成を提供する必要があります。
-
データクレデンシャル
デ ータクレデンシャルは、S3 バケットへの読み取りおよび書き込み権限を宣言します。これは、クエリプロファイルを保存するために使用されます。Manage data credentials for AWS を参照してください。
-
デプロイメントクレデンシャル
デプロイメントクレデンシャルは、AWS アカウント内で作成されたクロスアカウント IAM ロールを参照します。Manage deployment credentials for AWS を参照してください。デプロイメントクレデンシャルで参照されるクロスアカウント IAM ロールには、データクレデンシャルの Instance profile ARN を含むポリシーが添付されている必要があります。そうでない場合、デプロイメントは失敗します。
-
ネットワーク構成
ネットワーク構成は、独自の VPC 内のクラスタノード間、および CelerData の VPC と独自の VPC 間の接続を可能にします。Manage network configurations for AWS を参照してください。
デプロイウィザードを開始した後(前述の「デプロイウィザードを開始する」セクションを参照)、デプロイメントのために 4 つの必須ステップ(ステップ1 から ステップ4)を案内されます。
ステップ1: クラスタリソースを設定する
ビジネス要件に基づいてクラスタを設定し、オプションで Add tag をクリックしてクラスタに 1 つ以上のタグを追加します。その後、Manual deployment をクリックして続行します。ここで追加したタグは、クラスタに関連付けられた AWS クラウドリソースに添付されます。
クラスタ設定項目の詳細については、前述の「クイックデプロイメントを設定して実行する」セクションのステップ1を参照してください。
NOTE
Free Developer Tier パッケージを使用するには、最大 4 CPU コアと最大 16-GB RAM を提供する FE および BE インスタンスタイプを選択する必要があります。
ステップ2: AWS のクレデンシャルを設定する
このステップでは、新しいデータクレデンシャルと新しいデプロイメントクレデンシャルを作成するか、以前の成功したデプロイメント時に CelerData によって自動的に作成された既存のものを選択する必要があります。設定を完了したら、Next をクリックして続行します。
CelerData を初めて使用する場合は、新しいデータクレデンシャルと新しいデプロイメントクレデンシャルを作成することをお勧めします。
新しいクレデンシャルを作成することを選択する
次の図に示すように、No, I need to manually create new credentials from scratch を選択します。その後、データクレデンシャルとデプロイメントクレデンシャルを作成します。
データクレデンシャルを作成する
-
AWS IAM コンソール にサインインし、Create a service IAM role for EC2 に記載された手順に従って EC2 用のサービス IAM ロールを作成し、そのインスタンスプロファイル ARN をコピーし、後でアクセスできる場所に保存します。
-
CelerData Cloud BYOC コンソールに戻ります。Data credential セクションで、Bucket name フィールドにバケットの名前を入力し、Instance profile ARN フィールドにインスタンスプロファイル ARN を貼り付けます。
Data credential セクションのフィールドについては、次の表を参照してください。
Field Required Description Bucket name Yes バケットの名前を入力します。
NOTE
クラスタを作成する際、クラスタと同じリージョンにあるバケットを参照するデータクレデンシャルのみを使用できます。つまり、バケットはクラスタと同じリージョンに存在する必要があります。IAM policy information N/A バケットに対する権限を定義するポリシーを作成するために使用する JSON ポリシードキュメントです。 Instance profile ARN Yes CelerData にバケットへのアクセス権を付与するために作成した EC2 用サービス IAM ロールのインスタンスプロファイル ARN を入力します。 エラスティッククラスタの場合にのみ、Enable TDE (based on AWS KMS) をチェックして Transparent Data Encryption (TDE) を有効にできます。
TDE を有効にするには、マスターキーとして AWS KMS キーを提供する必要があります。キーのリージョンと ARN を指定する必要があります。また、インスタンスプロファイルではなく Assumed Role を使用して AWS にアクセスする場合は、KMS に保存されたキーへの CelerData のアクセスを許可するために IAM ロール ARN も提供する必要があります。
- KMS キーの作成と設定の詳細な手順について は、Create a KMS key for TDE を参照してください。
- 2 つの認証方法の比較については、Comparison between authentication methods を参照してください。
デプロイメントクレデンシャルを作成する
作成するデプロイメントクレデンシャルには、データクレデンシャルの Instance profile ARN を含むポリシーが添付されている必要があります。
-
CelerData Cloud BYOC コンソールで、IAM policy information の横にある Generate policy をクリックして、JSON ポリシードキュメントを生成します。
-
AWS IAM コンソール にサインインし、Create a cross-account IAM role に記載された手順に従ってクロスアカウント IAM ロールを作成し、その ARN をコピーし、後でアクセスできる場所に保存します。
-
CelerData Cloud BYOC コンソールに戻ります。Deployment credential セクションで、Cross-Account Role ARN フィールドに ARN を貼り付けます。
Deployment credential セクションのフィールドについては、次の表を参照してください。
Field Required Description IAM policy information N/A 独自の VPC 内の特定のリソースに対する権限を定義するポリシーを作成するために使用する JSON ポリシードキュメントです。
必要に応じて Generate policy をクリックして JSON ポリシードキュメントを生成します。Credential method Yes AWS クラウドでリソースを起動するための CelerData の権限を制御するために使用するクレデンシャルの種類です。値は IAM role に固定されています。
NOTE
CelerData はクレデンシャルとして RAM ロールのみをサポートしています。Trust account ID N/A クロスアカウント IAM ロールを作成するために使用するアカウント ID です。
NOTE
信頼アカウント ID を編集することはできません。信頼アカウント ID と外部 ID は、IAM ロールを使用できるアカウントを識別するために一緒に使用されます。External ID N/A クロスアカウント IAM ロールを作成するために使用する外部 ID です。
NOTE
外部 ID を編集することはできません。信頼アカウント ID と外部 ID は、IAM ロールを使用できるアカウントを識別するために一緒に使用されます。Cross-Account Role ARN Yes AWS クラウドでリソースを起動および管理するための権限を CelerData に付与するために作成したクロスアカウント IAM ロールの ARN を入力します。