GCP でのデプロイ
このトピックでは、Google Cloud での手動デプロイメントに関する包括的なガイドラインを提供します。このプロセスに時間をかけたくない場合や、テスト目的のみでクラスタを作成したい場合は、クイックデプロイメントを設定して実行することもできます。
CelerData は、GCP 上でクラシックまたはエラスティッククラスタをデプロイするプロセスを簡素化するユーザーフレンドリーなデプロイメントウィザードを提供しており、4 つの簡単なステップで実行できます。
- STEP1: クラスタリソースの設定
- STEP2: GCP クレデンシャルの設定
- STEP3: クラスタへのアクセスの設定
- STEP4: GCP クラウド上でのクラスタのデプロイ
CelerData は、各 BE がそのストレージ上にデータの一部を持つクラシック共有なしクラスタと、すべてのデータが共有オブジェクトストレージ上にあり、キャッシュのみがコンピュートノード (CN) にローカルであるエラスティック共有データクラスタをサポートしています。エラスティッククラスタでは、CN が BE に置き換わります。
エラスティッククラスタの詳細は、warehouse overview を参照してください。
デプロイメントウィザードの開始
デプロイメントウィザードを開始するには、次の手順に従います。
- CelerData Cloud BYOC コンソール にサインインします。
- Clusters ページで、Create cluster をクリックします。
- 表示されるダイアログボックスで、Classic cluster または Elastic cluster を選択し、クラウドプロバイダーとして GCP を選択してから、Next をクリックします。
手動デプロイメントを開始する前に、Google Cloud プロジェクトを作成し、必要な API を有効にする 必要があります。
手動デプロイメントの設定と実行
デプロイメントを成功させるためには、データクレデンシャル、デプロイメントクレデンシャル、およびネットワーク構成を提供する必要があります。
-
データクレデンシャル
データクレデンシャルは、クエリプロファイルを保存するために使用される Cloud Storage バケットへの読み取りおよび書き込み権限を宣言します。詳細は Manage data credentials for GCP を参照してください。
-
デプロイメントクレデンシャル
デプロイメントクレデンシャルは、CelerData のパブリックサービスアカウントを参照し、GCP プロジェクト内でクラウドリソースを起動および管理するために必要な権限を付与します。これにより、CelerData はデプロイメントおよび後続のスケーリングに必要なリソースを起動できます。詳細は Manage deployment credentials for GCP を参照してください。
-
ネットワーク構成
ネットワーク構成は、独自の VPC 内のクラスタノード間および CelerData の VPC と独自の VPC 間の接続を可能にします。詳細は Manage network configurations for GCP を参照してください。
デプロイメントウィザードを開始した後(前のセクション「デプロイメントウィザードの開始」で説明したように)、デプロイメントのための 4 つの必須ステップ(STEP1 から STEP4)を順に進めます。
STEP1: クラスタリソースの設定
ビジネス要件に基づい てクラスタを設定し、必要に応じて Add label をクリックしてクラスタに 1 つ以上のラベルを追加します。その後、Manual deployment をクリックして続行します。ここで追加したラベルは、クラスタに関連付けられた GCP クラウドリソースに添付されます。
NOTE
- CelerData は Free Developer Tier を提供しています。これを使用するには、4 CPU コアと 16-GB RAM を提供する FE および BE インスタンスタイプを選択する必要があります。
- 4 CPU コアと 16-GB RAM は、FEs および BEs の最小構成パッケージでもあります。
-
クラシッククラスタの場合、次の構成項目を設定します。
パラメータ 必須 説明 クラスタ名 はい クラスタの名前を入力します。クラスタが作成された後は名前を変更できません。後でクラスタを簡単に識別できるような情報豊富な名前を入力することをお勧めします。 GCP リージョン はい クラスタをホストする GCP リージョンを選択します。CelerData がサポートするリージョンについては、Supported cloud platforms and regions を参照してください。 FE HA モード いいえ FE HA モードを有効または無効にします。FE HA モードはデフォルトで無効になっています。 - FE HA モードが無効の場合、1 つの FE のみがデプロイされます。この設定は、CelerData が提供する機能を学ぶための概念実証クラスタを作成する場合や、テスト目的で小 規模なクラスタを作成する場合に推奨されます。
- FE HA モードが有効の場合、3 つの FE がデプロイされます。この設定は、プロダクション対応環境のためのクラスタを作成する場合に推奨されます。3 つの FE があることで、クラスタはより多くの高並列クエリを処理しながら高可用性を確保できます。
FE インスタンスタイプ はい クラスタ内の FE ノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 BE インスタンスタイプ はい クラスタ内の BE ノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 BE ストレージサイズ はい クラスタ内の各 BE ノードに提供したいストレージ容量を指定します。 BE ノード数 はい クラスタ内にデプロイしたい BE ノードの数を指定します。処理するデータ量に基づいて BE の数を決定できます。デフォルト値は 3 です。CelerData は各テーブルを 3 つの異なる BE に 3 つのレプリカとして保存する必要があります。 -
エラスティッククラスタの場合、次の構成項目を設定します。
パラメータ 必須 説明 クラスタ名 はい クラスタの名前を入力します。クラスタが作成された後は名前を変更できません。後でクラスタを簡単に識別できるような情報豊富な名前を入力することをお勧めします。 GCP リージョン はい クラスタをホストする GCP リージョンを選択します。CelerData がサポートするリージョンについては、Supported cloud platforms and regions を参照してください。 コーディネータ HA モード いいえ コーディネータ HA モードを有効または無効にします。コーディネータ HA モードはデフォルトで無効になっています。 - コーディネータ HA モードが無効の場合、1 つのコーディネータのみがデプロイされます。この設定は、CelerData が提供する機能を学ぶための概念実証クラスタを作成する場合や、テスト目的で小規模なクラスタを作成する場合に推奨されます。
- コーディネータ HA モードが有効の場合、3 つのコーディネータがデプロイされます。この設定は、プロダクション対応環境のためのクラスタを作成する場合に推奨されます。3 つのコーディネータがあることで、クラスタはより多くの高並列クエリを処理しながら高可用性を確保できます。
コーディネータノードサイズ はい クラスタ内のコーディネータノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 コンピュートノードサイズ はい クラスタ内のデフォルトウェアハウスのコンピュートノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 コンピュートストレージサイズ いいえ デフォルトウェアハウスのコンピュートノードのストレージサイズを指定します。このフィールドの横にあるボックスにチェックを入れることで、ボリュームの数をカスタマイズすることもできます。このフィールドは Hyperdisk バックのインスタンスタイプでのみ利用可能です。 コンピュートノード数 はい クラスタ内のデフォルトウェアハウスのコンピュートノードの数を指定します。処理するデータ量に基づいてコンピュートノードの数を決定できます。デフォルト値は 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 時間が必須です。
- 各ストレージの最大サイズは 64 TB です。
- エラスティッククラスタのコンピュートノードは自動スケーリングをサポートしていません。
STEP2: GCP クレデンシャルの設定
このステップでは、新しいデータクレデンシャルと新しいデプロイメントクレデンシャルを作成するか、以前の成功したデプロイメント時に CelerData によって自動的に作成された既存のものを選択する必要があります。設定が完了したら、Next をクリックして続行します。
CelerData を初めて使用する場合は、新しいデータクレデンシャルと新しいデプロイメントクレデンシャルを作成することをお勧めします。
新しいクレデンシャルを作成することを選択
新しいクレデンシャルを作成する前に、Google Cloud プロジェクトを作成し、必要な API を有効にする 必要があります。
次の図に示すように、No, I need to manually create new credentials from scratch を選択します。次に、データクレデンシャルとデプロイメントクレデンシャルを作成します。
データクレデンシャルを作成
-
Shared VPC 環境下でクラスターをデプロイする場合は、Does your deployment involve Shared VPCs の横にあるスイッチをオンにして Shared VPC を有効にしてください。
Shared VPC を使用すると、GCP 組織は複数のプロジェクトのリソースを共有 VPC ネットワークに接続でき、そのネットワークの内部 IP アドレスを使用して安全かつ効率的に相互通信できます。
Shared VPC には、ホストプロジェクトと、そのホストプロジェクトに紐付けられた複数のサービスプロジェクトが含まれます。ホストプロジェクト内の VPC ネットワークは Shared VPC ネットワークと称されます。サービスプロジェクトの適格リソースは、Shared VPC ネットワークのサブネットを利用できます。
-
Google Cloud コンソール にサインインし、Create a Service Account for your Compute Engine に記載された手順に従って、Cloud Storage バケットにアクセスできるサービスアカウントを作成し、IAM & Admin > Service accounts ページの Name フィールドからサービスアカウント名をコピーし、Cloud Storage > Buckets ページの Name フィールドからバケット名をコピーし、後でアクセスできる場所に保存します。
-
CelerData Cloud BYOC コンソールに戻ります。Data credential セクションで、Bucket name フィールドにバケットの名前を入力し、Instance service account フィールドにサービスアカウント名を貼り付けます。
Data credential セクションのフィールドについては、次の表を参照してください。
フィールド 必須 説明 バケット名 はい バケットの名前を入力します。
NOTE- クラスタを作成する際、クラスタと同じリージョンにあるバケットを参照するデータクレデンシャルのみを使用できます。
- Shared VPC を有効にしている場合、サービスプロジェクト(つまり、クラスタがデプロイされるプロジェクト)からバケットの名前を入力する必要があります。
インスタンスサービスアカウント はい CelerData クラスタにバケットへのアクセス権限を付与するために作成したインスタンスサービスアカウントの名前を入力します。
NOTE
Shared VPC を有効にしている場合、サービスプロジェクト(つまり、クラスタがデプロイされるプロジェクト)からインスタンスサービスアカウントを入力する必要があります。
デプロイメントクレデンシャルを作成
-
CelerData Cloud BYOC コンソールで、Grant access to の横にあるコピー ボタンをクリックして、クラスタ デプロイメント用の CelerData のパブリック サービス アカウントをコピーします。
-
Google Cloud コンソール にサインインし、Grant Google Cloud Resource Permissions to CelerData に記載された手順に従って、クラスタ デプロイメント用の必要な権限を CelerData に付与し、プロジェクト ダッシュボードの Project info セクションから Project ID をコピーし、後でアクセスできる場所に 保存します。
-
CelerData Cloud BYOC コンソールに戻ります。Deployment credential セクションで、プロジェクト ID を Project ID フィールドに貼り付けます。プロジェクト名ではないことに注意してください。
Deployment credential セクションのフィールドについては、次の表を参照してください。
フィールド 必須 説明 Credential method N/A CelerData が GCP でリソースを起動する権限を制御するために使用するクレデンシャルのタイプです。値は IAM role に固定されています。 Grant access to N/A GCP プロジェクト内のリソースを起動および管理するために使用される CelerData のパブリック サービス アカウントです。このサービス アカウントに必要な権限を付与する必要があります。 Project ID はい GCP に CelerData クラスタをデプロイするために作成した Google Cloud プロジェクトの ID を入力します。プロジェクト名ではないことに注意してください。
NOTE
Shared VPC を有効にしている場合、サービス プロジェクト(つまり、クラスタがデプロイされるプロジェクト)の ID を入力する必要があります。