CLI によるインスタンスの作成
このチュートリアルでは、 IBM Cloud® で IBM® Cloudant® for IBM Cloud® サービス・インスタンスを作成する方法を示します。 IBM Cloud CLI を使用します。
目標
- IBM Cloud アカウントを使用して、IBM Cloudant サービス・インスタンスと資格情報を作成します。
- IBM Cloudant サービス・インスタンスを取得して使用します。
開始前に
IBM Cloud CLI 入門 チュートリアルに従って、 IBM Cloud CLI 開発者ツールをインストールします。
IBM Cloud アカウントへのログイン
次の例は、ログインする方法を示しています。 フェデレーテッド・ユーザー ID を使用する場合は、ワンタイム・パスコード (ibmcloud login --sso
) に切り替えるか、API キー (ibmcloud --apikey key or @key_file
) を使用して認証することが重要です。 CLI を使用してログインする方法について詳しくは、 ibmcloud login
の 汎用 CLI (ibmcloud) コマンド を参照してください。
-
以下のコマンドを使用して、IBM Cloud アカウントのログイン・プロセスを開始します。
ibmcloud login
IBM Cloud は、現行 API エンドポイントを示して応答し、アカウントの E メール・アドレスを要求します。
API endpoint: https://cloud.ibm.com Region: au-syd Email> Password>
-
アカウントの E メール・アドレスを入力し、次にパスワードを入力します。
API endpoint: https://cloud.ibm.com Email> J.Doe@email.com Password>
IBM Cloud は、詳細を検証し、ログイン・セッションに関する情報を要約します。
API endpoint: https://cloud.ibm.com Email> J.Doe@email.com Password> Authenticating... OK Targeted account J DOE's Account (707...a32) Targeted org J.Doe@email.com Targeted space dev API endpoint: https://cloud.ibm.com (API version: 2.54.0) Region: au-syd User: j.doe@email.com Account: J DOE's Account (707...a32) Org: J.Doe@email.com Space: dev
-
これで、IBM Cloud アカウントにログインしました。
IBM Cloudant サービスの作成
IBM Cloudant は、新規インスタンスのプロビジョニングにリソース・グループを使用します。 詳しくは、 リソース・グループの FAQを参照してください。
この例では、以下のコマンドを実行して、IBM Cloud 内にサービス・インスタンスを作成します。
ibmcloud resource service-instance-create NAME SERVICE_NAME SERVICE_PLAN_NAME LOCATION [-p, --parameters @JSON_FILE | JSON_STRING ]
コマンド内のフィールドについては、以下の表で説明されています。
フィールド | 説明 |
---|---|
NAME |
インスタンスに指定する任意の名前。 |
SERVICE_NAME |
cloudantnosqldb |
SERVICE_PLAN_NAME |
ライト・プラン (lite ) または標準プラン (standard ) |
LOCATION |
デプロイ先のロケーションとしては、シドニー au-syd 、チェンナイ in-che 、大阪 jp-osa 、東京 jp-tok 、ソウル kr-seo 、フランクフルト eu-de 、ロンドン eu-gb 、ダラス us-south 、ワシントン DC us-east などの都市があります。 |
legacyCredentials |
デフォルトは true です。 このフィールドは、インスタンスがレガシーと IAM の両方の資格情報を使用するか、または IAM 資格情報のみを使用するかを示します。 |
SERVICE_PLAN_NAME
は、インスタンスを作成するときに選択する価格プランのタイプです。 詳しくは、資料のプランで、IBM Cloudant ライト・プランまたは標準プランの使用についての詳細を参照してください。
認証方式の選択について詳しくは、「IAM ガイド」を参照してください。 IBM Cloudant チームでは、可能な場合は IBM Cloudant レガシー認証を介した IAM アクセス制御を使用することをお勧めしています。
次は、cs20170517a
という名前のサービス・インスタンスを作成します。
-
以下のフォーマットを使用して、ターゲット・リソース・グループとリージョンを設定します。 このコマンドを実行するには、リージョンとリソース・グループを把握しておく必要があります。これらは以下のステップに記載されています。
詳しくは、
ibmcloud target
の 汎用 CLI (ibmcloud) コマンド を参照してください。ibmcloud target [-r REGION_NAME] [-g RESOURCE_GROUP]
-
リージョンのリストを表示するには、次のコマンドを実行します。
ibmcloud regions
-
リソース・グループのリストを表示するには、次のコマンドを実行します。
ibmcloud resource groups
-
Lite
プランを使用して IBM Cloudant サービスのインスタンスを作成します。
インスタンス名はcs20170517a
、ロケーションは米国南部であり、IAM 資格情報のみを使用します。ibmcloud resource service-instance-create cs20170517a cloudantnosqldb lite us-south -p '{"legacyCredentials": false}'
-
サービス・インスタンスを作成した後、以下のメッセージ例を参照してください。
Creating service instance cs20170517a in resource group default of account John Does's Account as j.doe@email.com... OK Service instance cs20170517a was created. Name Location State Tags cs20170517a au-syd active service_instance
次に、IBM Cloudant サービス・インスタンスのためのサービス資格情報を作成します。
IBM Cloudant サービスの資格情報の作成
IBM Cloudant サービスへのアクセスを要求するアプリケーションには、必要な資格情報が必要です。
サービス資格情報は大切です。 資格情報にアクセスできるユーザーまたはアプリケーションは、サービス・インスタンスに対して事実上何でも実行できます。 例えば、偽造データを作成したり、重要な情報を削除したりする可能性があります。 これらの資格情報は、大切に保護してください。
サービス資格情報に含まれるフィールドの詳細については、「IAM ガイド」を参照してください。
次の例では、以下のコマンドを実行して、IBM Cloud 内にサービス・インスタンスの資格情報を作成します。
ibmcloud resource service-key-create NAME ROLE_NAME --instance-name SERVICE_INSTANCE_NAME
コマンド内のフィールドについては、以下の表で説明されています。
フィールド | 説明 |
---|---|
NAME |
サービス資格情報に指定する任意の名前。 |
ROLE_NAME |
このフィールドで現在許可されるのはマネージャー役割のみです。 |
SERVICE_INSTANCE_NAME |
IBM Cloudant インスタンスに指定する名前。 |
ここで、直前のステップで作成した cs20170517a
インスタンスのための資格情報を作成します。
-
以下のコマンドを実行して、IBM Cloudant サービスの
cs20170517a
インスタンスの資格情報を作成します (資格情報の名前はcreds_for_cs20170517a
です)。ibmcloud resource service-key-create creds_for_cs20170517a Manager --instance-name cs20170517a
-
サービス・インスタンスの資格情報を作成する要求を受け取った後、以下の例のようなメッセージを含む IBM Cloud からの応答を確認します。
Creating service key in resource group default of account John Does's Account as john.doe@email.com... OK Service key crn:v1:bluemix:public:cloudantnosqldb:us-south:a/b42223455bb7e2abb0841ca25d28ee4c:ee78351d-82bf-4e80-bc22-825c937fafa3:resource-key:621ffde2-ea10-4318-b297-d6d849cec48a was created. Name: creds_for_cs20170517a ID: crn:v1:bluemix:public:cloudantnosqldb:us-south:a/b42223455bb7e2abb0841ca25d28ee4c:ee78351d-82bf-4e80-bc22-825c937fafa3:resource-key:621ffde2-ea10-4318-b297-d6d849cec48a Created At: Tue Sep 18 19:58:38 UTC 2018 State: active Credentials: iam_apikey_name: auto-generated-apikey-621ffde2-ea10-4318-b297-d6d849cec48a iam_role_crn: crn:v1:bluemix:public:iam::::serviceRole:Manager url: https://apikey-v2-58B528DF5397465BB6673E1B79482A8C:5811381f6daff7255b288695c3544be63f550e975bcde46799473e69c7d48d61@f6cf0c55-48ea-4908-b441-a962b27d3bb6-bluemix.cloudant.com username: apikey-v2-58B528DF5397465BB6673E1B79482A8C port: 443 apikey: XXXXX-XXXXXX_XXXXXXXXXXXXX-XXXXXXXXXXX host: f6cf0c55-48ea-4908-b441-a962b27d3bb6-bluemix.cloudant.com iam_apikey_description: Auto generated apikey during resource-k ey operation for Instance - crn:v1:bluemix:public:cloudantnosqldb:us-south:a/b42116849bb7e2abb0841ca25d28ee4c:ee78351d-82bf-4e80-bc22-825c937fafa3:: iam_serviceid_crn: crn:v1:bluemix:public:iam-identity::a/b42116849bb7e2abb0841ca25d28ee4c::serviceid:ServiceId-53f9e2a2-cdfb-4f90-b072-bfffafb68b3e password: 581138...7d48d61
次に、サービス資格情報を取得する方法を学習します。 IBM Cloudant インスタンスにログインするには、サービス資格情報が必要です。
IBM Cloudant サービスのサービス資格情報の取得
-
IBM Cloudant サービスの
cs20170517a
インスタンスの資格情報を取得します。 資格情報の名前はcreds_for_cs20170517a
です。ibmcloud resource service-key creds_for_cs20170517b
-
サービス・インスタンスの資格情報を取得する要求を受け取った後、以下の (短縮された) 例のようなメッセージを含む IBM Cloud からの応答を確認します。
Retrieving service key in resource group default of account John Does's Account as john.doe@email.com... OK Service key crn:v1:bluemix:public:cloudantnosqldb:us-south:a/b42223455bb7e2abb0841ca25d28ee4c:ee78351d-82bf-4e80-bc22-825c937fafa3:resource-key:621ffde2-ea10-4318-b297-d6d849cec48a was created. Name: creds_for_cs20170517a ID: crn:v1:bluemix:public:cloudantnosqldb:us-south:a/b42223455bb7e2abb0841ca25d28ee4c:ee78351d-82bf-4e80-bc22-825c937fafa3:resource-key:621ffde2-ea10-4318-b297-d6d849cec48a Created At: Tue Sep 18 19:58:38 UTC 2018 State: active Credentials: iam_apikey_name: auto-generated-apikey-621ffde2-ea10-4318-b297-d6d849cec48a iam_role_crn: crn:v1:bluemix:public:iam::::serviceRole:Manager url: https://apikey-v2-58B528DF5397465BB6673E1B79482A8C:5811381f6daff7255b288695c3544be63f550e975bcde46799473e69c7d48d61@f6cf0c55-48ea-4908-b441-a962b27d3bb6-bluemix.cloudant.com username: apikey-v2-58B528DF5397465BB6673E1B79482A8C port: 443 apikey: XXXXX-XXXXXX_XXXXXXXXXXXXX-XXXXXXXXXXX host: f6cf0c55-48ea-4908-b441-a962b27d3bb6-bluemix.cloudant.com iam_apikey_description: Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloudantnosqldb:us-south:a/b42116849bb7e2abb0841ca25d28ee4c:ee78351d-82bf-4e80-bc22-825c937fafa3:: iam_serviceid_crn: crn:v1:bluemix:public:iam-identity::a/b42116849bb7e2abb0841ca25d28ee4c::serviceid:ServiceId-53f9e2a2-cdfb-4f90-b072-bfffafb68b3e password: 581138...7d48d61
これでチュートリアルは完了です。 オプションで、次の 2 つのセクション内の手順に示すように、サービス資格情報やサービス・インスタンスを削除できます。
詳しくは、IBM Cloudant での単純 IBM Cloud データベースの作成とデータ取り込みのチュートリアルを参照してください。 このチュートリアルでは、レガシー資格情報を使用した Python アプリケーションからの IBM Cloudant サービス・インスタンスの使用方法が示されています。 必ず、作成した資格情報を使用してください。
(オプション) サービス資格情報の削除
以下のようなコマンドを実行して、creds_for_cs20170517a
という資格情報を削除します。
ibmcloud resource service-key-delete creds_for_cs20170517a
(オプション) サービス・インスタンスの削除
以下のようなコマンドを実行して、IBM Cloudant サービスの cs20170517a
インスタンスを削除します。
ibmcloud resource service-instance-delete cs20170517a