IBM Analytics Engineサーバーレス・インスタンスのプロビジョニング
サーバーレスIBM Analytics Engine サービス・インスタンスを作成できます:
サーバーレス・インスタンスのプロビジョニング中は、特定の制限および割り当て量の設定を定義できないことに注意してください。 これらの値は事前定義されます。 これらの設定とその値のリストについては、Analytics Engineインスタンスの制限と割り当て量を参照してください。
IBM Cloud® us-south (ダラス) または eu-de (フランクルト) リージョンのいずれかにアクセスできる必要があります。
IBM Cloud コンソールからのサービス・インスタンスの作成
IBM Cloudコンソールを使用してインスタンスを作成できます。 UIでのプロビジョニング設定の背後にある概念を理解するには、サーバーレス・インスタンスにおけるアーキテクチャーと概念を参照してください。
IBM Analytics Engine インスタンスを作成するには、以下のようにします。
-
IBM Cloud® コンソールにログインします。
-
サービスをクリックし、カテゴリー分析を選択します。
-
Analytics Engineを検索し、タイルをクリックしてサービス・インスタンス作成ページを開きます。 -
サービス・インスタンスのデプロイ先のロケーションを選択します。 現在、サポートされている地域は us-south と eu-de のみです。
-
プランを選択します。 現在、サポートされているサーバーレス・プランはApache Spark用の標準サーバーレスのみです。
-
任意の名前を入力し、リソース・グループを選択し、タグを追加して、インスタンスを構成します。
-
デフォルトのSparkランタイムを選択します。 スパーク3.4がデフォルトだ。 ランタイムは、デフォルトでSpatio-temporal暗号化パッケージ、データ・スキップ暗号化パッケージ、およびPaquetモジュラー暗号化パッケージをプリインストールします。
-
IBM Cloud Object Storageインスタンスをアカウントから選択します。これにより、インスタンス関連データを保管するために
instance homeとして使用することができます。 -
Spark構成値を追加して、デフォルトのApache Spark設定をオーバーライドします。
-
作成をクリックして、バックグラウンドでサービス・インスタンスをプロビジョンします。
新しく作成されたサービスは、IBM Cloud®リソースリストの ***サービス の下にリストされます。
IBM Cloud のコマンド・ライン・インターフェースを使用したサービス・インスタンスの作成
IBM Cloud® のコマンド・ライン・インターフェースを使用してサービス・インスタンスを作成するには、以下のようにします。
-
IBM Cloud® の CLI をダウンロードして構成します。 始めにIBM Cloud®CLIの使用の指示に従ってください。
-
地域に応じた API エンドポイントを設定してログインします。
ibmcloud api https://{DomainName} ibmcloud login -
アカウントのリソース・グループのリストを取得し、IBM Analytics Engineサーバーレス・インスタンスを作成するターゲット・リソース・グループとして、返されたリソース・グループの1つを選択します:
ibmcloud resource groups ibmcloud target -g <resource_group_name> -
サービス・インスタンスを作成します。
ibmcloud resource service-instance-create <service_instance_name> ibmanalyticsengine <plan_name> <region> -p @<path_to JSON file with cluster parameters>例えば、ダラス地域の場合:
ibmcloud resource service-instance-create MyServiceInstance ibmanalyticsengine standard-serverless-spark us-south -p @provision.jsonサービス・インスタンスには任意の名前を付けることができます。 現在、standard-serverless-spark のみがサポートされているサーバーレスプランであり、us-south と eu-de のみがサポートされているリージョンであることに注意してください。
provision.jsonファイルには、作成するインスタンスのプロビジョニング・パラメーターが含まれています。
ペイロードJSONファイルのIBM Cloud Object Storageインスタンスへのエンドポイントは、ダイレクトエンドポイントでなければなりません。 ダイレクトエンドポイントは、パブリックエンドポイントよりも優れたパフォーマンスを提供し、送受信帯域幅の料金は発生しません。
これは、provision.jsonファイルがどのようなものになるかを示すサンプルです。 ペイロード内のプロビジョニング・パラメーターの説明については、サーバーレス・インスタンスにおけるアーキテクチャーと概念を参照してください。
なお、Spark3.4がサポートされている。 サービスインスタンスの作成時にデフォルトのSparkランタイムバージョンを指定しなかった場合、デフォルトでSpark3.4が使用される。
{ "default_runtime": { "spark_version": "3.4" }, "instance_home": { "region": "us-south", "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud", "hmac_access_key": "<your-hmac-access-key", "hmac_secret_key": "<your-hmac-secret-key" }, "default_config": { "key1": "value1", "key2": "value2" } }インスタンス作成コマンドに対するIBM Cloud®応答:
Creating service instance MyServiceInstance in resource group Default of account <your account name> as <your user name>... OK Service instance MyServiceInstance was created. Name: MyServiceInstance ID: crn:v1:staging:public:ibmanalyticsengine:us-south:a/d628eae2cc7e4373bb0c9d2229f2ece5:1e32e***-afd9-483a-b1**-724ba5cf4***:: GUID: 1e32e***-afd9-483a-b1**-724ba5cf4*** Location: us-south State: provisioning Type: service_instance Sub Type: Service Endpoints: public Allow Cleanup: false Locked: false Created at: 2021-11-29T07:20:40Z Updated at: 2021-11-29T07:20:42Z Last Operation: Status create in progress Message Started create instance operation出力からのインスタンスIDをメモします。 インスタンス管理APIまたはSparkアプリケーション管理APIを呼び出すときに、インスタンスIDが必要になります。 SparkアプリケーションREST APIを参照してください。
リソース・コントローラーの REST API を使用したサービス・インスタンスの作成
IBM Analytics Engineサーバーレス・インスタンスは、IBM Cloud®リソース・グループ内になければなりません。 リソース・コントローラーREST APIを使用してIBM Analytics Engineサーバーレス・インスタンスを作成するための最初のステップとして、リソース・グループID とサーバーレス・プランIDを手元に用意する必要があります。
リソース・コントローラーREST APIを使用してサービス・インスタンスを作成するには、以下のようにします:
-
IBM Cloud®CLIにログインし、以下のコマンドを実行して、リソース・グループIDを取得します:
ibmcloud resource groups結果例:
Retrieving all resource groups under account <Account details..> OK Name ID Default Group State Default XXXXX true ACTIVE -
Standard Serverless for Apache Sparkプランの場合は、以下のリソース・プランIDを使用します:
8afde05e-5fd8-4359-a597-946d8432dd45 -
以下のステップを実行して、IAMトークンを取得します。
-
リソース・コントローラーREST APIを使用してインスタンスを作成します:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances/ --header "Authorization: Bearer $token" -H 'Content-Type: application/json' -d @provision.jsonprovision.jsonファイルには、作成するインスタンスのプロビジョニング・パラメーターが含まれています。 ペイロード内のプロビジョニング・パラメーターの説明については、サーバーレス・インスタンスにおけるアーキテクチャーと概念を参照してください。
なお、Spark3.4がサポートされている。 サービスインスタンスの作成時にデフォルトのSparkランタイムバージョンを指定しなかった場合、デフォルトでSpark 3.が使用される。
これは、provision.jsonファイルの例です:
{ "name": "your-service-instance-name", "resource_plan_id": "8afde05e-5fd8-4359-a597-946d8432dd45", "resource_group": "resource-group-id", "target": "us-south", "parameters": { "default_runtime": { "spark_version": "3.4" }, "instance_home": { "region": "us-south", "endpoint": "s3.direct.us-south.cloud-object-storage.appdomain.cloud", "hmac_access_key": "your-access-key", "hmac_secret_key": "your-secret-key" } } }
インスタンスを作成するためのリソース・コントローラーREST APIについて詳しくは、新規リソース・インスタンスの作成(プロビジョン)を参照してください。
インスタンスの作動可能状況の追跡
新しく作成したサーバーレス・インスタンスでアプリケーションを実行するには、インスタンスがactive状態でなければなりません。
インスタンスの作動可能性を追跡するには:
- 以下のコマンドを入力します。
応答例:curl -X GET https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/{instance_id} -H "Authorization: Bearer $token"{ "id": "dc0e****-eab2-4t9e-9441-56620949****", "state": "created", "state_change_time": "2021-04-21T04:24:01Z", "default_runtime": { "spark_version": "3.4", "instance_home": { "provider": "ibm-cos", "type": "objectstore", "region": "us-south", "endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud", "bucket": "ae-bucket-do-not-delete-dc0e****-eab2-4t**-9441-566209499546", "hmac_access_key": "eH****g=", "hmac_secret_key": "4d********76" }, "default_config": { "spark.driver.memory": "4g", "spark.driver.cores": 1 } } } "state"属性の値を確認してください。 インスタンスでアプリケーションの実行を開始するまえに、activeでなければなりません。
詳細情報
サーバーレス・インスタンスをプロビジョニングする場合は、推奨される ベスト・プラクティス に従ってください。