IBM Cloud Docs
CLI によるインスタンスの作成

CLI によるインスタンスの作成

このチュートリアルでは、 IBM Cloud® で IBM® Cloudant® for IBM Cloud® サービス・インスタンスを作成する方法を示します。 IBM Cloud CLI を使用します。

目標

  1. IBM Cloud アカウントを使用して、IBM Cloudant サービス・インスタンスと資格情報を作成します。
  2. 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) コマンド を参照してください。

  1. 以下のコマンドを使用して、IBM Cloud アカウントのログイン・プロセスを開始します。

    ibmcloud login
    

    IBM Cloud は、現行 API エンドポイントを示して応答し、アカウントの E メール・アドレスを要求します。

    API endpoint: https://cloud.ibm.com
    Region: au-syd
    
    Email>
    
    Password>
    
  2. アカウントの 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
    
  3. これで、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 ]

コマンド内のフィールドについては、以下の表で説明されています。

表 1. 基本コマンド・フォーマット・フィールド
フィールド 説明
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 という名前のサービス・インスタンスを作成します。

  1. 以下のフォーマットを使用して、ターゲット・リソース・グループとリージョンを設定します。 このコマンドを実行するには、リージョンとリソース・グループを把握しておく必要があります。これらは以下のステップに記載されています。

    詳しくは、 ibmcloud target汎用 CLI (ibmcloud) コマンド を参照してください。

    ibmcloud target [-r REGION_NAME] [-g RESOURCE_GROUP]
    
  2. リージョンのリストを表示するには、次のコマンドを実行します。

    ibmcloud regions
    
  3. リソース・グループのリストを表示するには、次のコマンドを実行します。

    ibmcloud resource groups
    
  4. Lite プランを使用して IBM Cloudant サービスのインスタンスを作成します。
    インスタンス名は cs20170517a、ロケーションは米国南部であり、IAM 資格情報のみを使用します。

    ibmcloud resource service-instance-create cs20170517a cloudantnosqldb lite us-south -p '{"legacyCredentials": false}'
    
  5. サービス・インスタンスを作成した後、以下のメッセージ例を参照してください。

    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

コマンド内のフィールドについては、以下の表で説明されています。

表 2. 資格情報フィールドの作成
フィールド 説明
NAME サービス資格情報に指定する任意の名前。
ROLE_NAME このフィールドで現在許可されるのはマネージャー役割のみです。
SERVICE_INSTANCE_NAME IBM Cloudant インスタンスに指定する名前。

ここで、直前のステップで作成した cs20170517a インスタンスのための資格情報を作成します。

  1. 以下のコマンドを実行して、IBM Cloudant サービスの cs20170517a インスタンスの資格情報を作成します (資格情報の名前は creds_for_cs20170517a です)。

    ibmcloud resource service-key-create creds_for_cs20170517a Manager --instance-name cs20170517a
    
  2. サービス・インスタンスの資格情報を作成する要求を受け取った後、以下の例のようなメッセージを含む 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 サービスのサービス資格情報の取得

  1. IBM Cloudant サービスの cs20170517a インスタンスの資格情報を取得します。 資格情報の名前は creds_for_cs20170517a です。

    ibmcloud resource service-key creds_for_cs20170517b
    
  2. サービス・インスタンスの資格情報を取得する要求を受け取った後、以下の (短縮された) 例のようなメッセージを含む 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