展開可能なアーキテクチャにカスタマイズ可能なオプションを追加する

このチュートリアルでは、ビジネスニーズに合わせてカスタマイズ可能なオプションを使用して、デプロイ可能なアーキテクチャを拡張する1つの方法を説明します。 このチュートリアルを完了すると、プライベート・カタログに既存のデプロイ可能なアーキテクチャの新しいバージョンを作成し、ユーザが選択できる他のアーキテクチャを一緒にスタックする方法を学ぶことができます。

あなたが架空の会社 Example Corp.のクラウド・オートメーション・エンジニアリングのプロフェッショナルだとしよう。 以前、 Example Corp's infrastructure という 配置可能なアーキテクチャをカスタマイズ し、プライベート・カタログに追加しました。 そのカスタマイズされた展開可能なアーキテクチャは、Example Corpのアプリケーションが構築されるベースとなる。 さて、ソフトウェア開発者に、 Example Corp's infrastructure で使用するデータベース・オプションを提供したい。 IBM Cloud カタログを閲覧した後、開発者に、異なるデータベースを作成する 2 つのデプロイ可能なアーキテクチャから選択させることにしました:

クラウドオートメーション Databases for Elasticsearch
NoSQL この展開可能なアーキテクチャは、 Elasticsearch のインスタンスを作成する。 は、大規模なデータセットの全文検索とクエリに適したデータベースである。 このデータベースは、テキスト、画像、ビデオのような非構造化データや半構造化データを処理するのに十分な柔軟性があるため、Example Corpのアプリケーションに適した選択である。 このチュートリアルは、デプロイ可能なアーキテクチャのバージョン 1.32 に基づいて作成されていますが、必要であれば、それ以降のバージョンを使用することもできます。
クラウドオートメーション Databases for PostgreSQL
この展開可能なアーキテクチャは、 PostgreSQL のインスタンスを作成する。 は、リレーショナルクエリと構造化データ用のSQLデータベースである。 このデータベースは、構造化されたトランザクションデータを管理し、ユーザーにパーソナライズされたアプリ体験を提供するため、Example Corpに適したもう1つの選択肢である。 このチュートリアルはバージョン 3.22 に基づいて作成されていますが、必要であればそれ以降のバージョンを使用することもできます。

このチュートリアルでは、架空のシナリオを使用して、他のアーキテクチャと積み重ねることで、より複雑なデプロイ可能なアーキテクチャを作成する方法を理解します。 チュートリアルを完了したら、各ステップを組織のニーズに合わせて変更してください。

開始前に

  1. IBM Cloud コンソールで 「管理」 > 「アカウント」 > 「アカウント設定」 に移動して、「従量課金」アカウントまたは「サブスクリプション」アカウントを使用していることを確認します。

  2. 以下の IBM Cloud Identity and Access Management (IAM) ロールが割り当てられていることを確認します:

    • すべてのアカウント管理サービスとすべてのIAMサービスの管理者。
    • カタログ管理サービスのエディター。
    • Schematics のマネージャー・サービス・アクセス・ロール。
    • 展開可能なアーキテクチャ内の特定のリソースに必要なその他のロール。 Code Engine のクラウド自動化には、 Code Engine サービスのすべてのリソースにスコープされる Writer サービスアクセスロールが必要です。

    詳しくは、 アカウント管理サービスへのアクセス権の割り当て および リソースへのアクセス管理 をご覧ください。

  3. Example Corp's infrastructure 」という カスタマイズされたデプロイ可能なアーキテクチャを作成 し、「 Example Corp catalog 」というプライベートカタログにオンボードする。 このアーキテクチャは、このチュートリアルを完了するにつれて拡張していくものです。

  4. 認証方法を設定する。 Secrets Manager に保存されている API キー または 信頼できるプロファイル を使用して、ターゲットアカウントへのデプロイメントを承認できます。

    テスト目的の概念実証の展開? APIキーは、プロジェクトの設定を編集する際に、後で作成することができます。 そうすることで、現在選択されているアカウントプロジェクトのデプロイが許可されます。

展開可能なアーキテクチャのバージョンを作成する

Example Corp's infrastructure はすでにプライベート・カタログで利用可能なので、新しいバージョンに更新する必要がある。

  1. IBM Cloud コンソールで、「 管理 」 > 「 カタログ 」 > 「 プライベート・カタログ」の順にクリックし、プライベート・カタログ Example Corp catalog を開く。
  2. 製品の一覧から Example Corpのインフラストラクチャを選択する。
  3. バージョン > バージョンの追加をクリック
  4. 配信方法として Terraformを選択する。
  5. リポジトリが公開か非公開かを指定し、ソース URL を指定してください。 このチュートリアルでは、 Example Corp's infrastructure のバージョン 0.0.1 に搭載したのと同じソース URL を使用することができます。
  6. バリエーションとして「 Deploy Example Corp AI app on IBM Cloud Code Engine 」を選択する。
  7. ソフトウェアのバージョンは 0.0.2
  8. バージョンの追加をクリック

ここから、追加したバージョンの詳細を設定できます。

データベースオプションの追加によるExample Corpのインフラストラクチャの拡張

バージョンの詳細を設定する際に、 Example Corp's infrastructure 、異なるデータベースを作成する他の2つのデプロイ可能なアーキテクチャと重ねて拡張する。 ユーザーには IBM Cloud Databases for Elasticsearch か IBM Cloud Databases for PostgreSQL のどちらかを選んでもらいたい。 以下のステップを実行します。

  1. Step 3 - Extend your architecture ]から、[ Add] をクリックします。

  2. 製品メニューで、 Cloud automation for Databases for Elasticsearch を検索し、選択する。

  3. User Semantic Versioning Specification ( SemVer ) を使用して、Example Corp のインフラストラクチャで動作するアーキテクチャのバージョンをリストアップします。

    通常、パッチバージョンには互換性を損なう変更は含まれないため、Example Corpのインフラストラクチャと互換性のあるバージョンの範囲を SemVer 指定できます。 ~1.32 例えば、. その方法により、例えばクラウド自動化ツールがパッチバージョン Databases for Elasticsearch で更新された場合 1.32.5、Example Corpsをデプロイしたユーザーはプロジェクトを更新して Elasticsearch 新バージョンを利用できるようになります。 メジャーバージョン変更時には Elasticsearch、Example Corpのインフラストラクチャの新バージョンを作成し、新バージョンがお客様のアーキテクチャで正常に機能 Elasticsearch することを確認してください。

  4. スタンダードバリエーションを選択する。

  5. デフォルトのバリエーションとして Standard を指定します。これは、デフォルトでユーザーに選択されるバリエーションです。

  6. Example Corp's infrastructure を展開するのに必要なアーキテクチャではないため、Relationship メニューから Optional を選択する。

  7. (オプション)このアーキテクチャが Example Corp's infrastructure 、どのように機能し、どのような利点をもたらすかをユーザーが理解できるように、表示に関する説明を記述する。 例えば、以下のように入力します。 NoSQL database for full-text searching and querying large datasets.

  8. 追加 をクリックします。

Databases for Elasticsearch のクラウド自動化を追加したので、もう一度手順を繰り返しますが、今度は Cloud automation for Databases for PostgreSQL を検索します。 オプションの表示説明には SQL database for relational queries and structured data.

データベース同士をスワップ可能にする

Example Corp's infrastructure に両方のデータベースをオプショナルとして追加したので、これらのデータベースを互いにスワップできるように指定できる。 ユーザーは、 Example Corp's infrastructure で使用するデータベースオプションを選択できます。 以下のステップを実行します。

  1. Step 3 - Extend your architecture から、 Cloud automation for Databases for Elasticsearch のチェックボックスを選択します。
  2. Databases for PostgreSQL のクラウド自動化のチェックボックスを選択します。
  3. スワップ可能なグループ 」をクリックする。
  4. グループ名に「 Databases 」を入力し、「 Add 」をクリックする。
  5. 次へ をクリックします。

ユーザーの変数を定義する

アーキテクチャにデータベース・オプションを追加したので、ユーザー用の変数を定義する必要があります。 そうすることで、アーキテクチャー内の入力を一緒に接続することができ、ユーザーがデプロイ用に Example Corp's infrastructure

  1. ステップ 4 - 配置の詳細を設定する ]から、[ 変数を定義する ]をクリックします。

    変数を定義するウィンドウが表示され、クラウド自動化が Databases for Elasticsearch 選択済みです。これにより、そのアーキテクチャからの入力と出力にアクセスできます。 ここから、参照を追加したり、入力を Example Corp's infrastructure 、ユーザーが設定できるように移動させることができる。

  2. Example Corp's infrastructure 、この地域はアメリカに限定されていた。 クラウド・オートメーション for Databases for Elasticsearch が Example Corp's infrastructure と同じリージョンを使用するようにするには、以下の手順で両者を接続する参照を追加します:

    1. Cloud automation for Databases for Elasticsearch の Required inputs ウィンドウで、 Reference a variable アイコン for region 入力を選択します。
    2. 次に、 変数名メニューで地域を選択する。
    3. 追加 をクリックします。 ユーザーが Example Corp's infrastructureregion の入力を設定すると、 Databases for Elasticsearch の Cloud automation は、ユーザーが提供したその値を入力として使用する。
  3. Example Corp's infrastructure には prefix の入力も含まれているため、 Databases for Elasticsearch のクラウド・オートメーションで prefix の入力に対して同じ手順を実行する:

    1. 変数を参照するアイコンを選択します変数を参照するアイコンを選択しますprefix 入力。
    2. 次に、 変数名メニューで接頭辞を選択します。
    3. 追加 をクリックします。
  4. Example Corp's infrastructure には existing_resource_group_name の入力が含まれているため、 Databases for Elasticsearch のクラウドオートメーションに同じリソースグループを使用することができます:

    1. 変数を参照するアイコンを選択します変数を参照するアイコンを選択しますresource_group_name 入力。
    2. 次に、 変数名メニューで existing_resource_group_name を選択する。
    3. 追加 をクリックします。
  5. use_existing_resource_group 」のデフォルト値を trueに設定し、ユーザーがアーキテクチャに既存のリソースグループを必要とすることを示します。

  6. 開発環境のセットアップを簡素化し、コストを削減するには、以下の手順を完了することで、鍵の暗号化要件を削除します:

    1. existing_kms_instance_crn のデフォルト値を __NULL__ に設定する。
    2. オプションの入力をクリックします。
    3. use_ibm_owned_encryption_key のデフォルト値を true に設定する。
    4. plan のデフォルト値を enterprise に設定する。
    5. member_cpu_count のデフォルト値を 2 に設定する。
    6. member_host_flavor のデフォルト値を multitenant に設定する。

Cloud automation for Databases for Elasticsearch の変数を定義したので、もう一つのデータベース・オプションの変数を定義する必要がある: Databases for PostgreSQL。 以下のステップを実行します。

  1. Define variables ウィンドウで、Architecture メニューを使用して、 Cloud automation for Databases for Elasticsearch から Cloud automation for Databases for PostgreSQL に切り替えます。
  2. 必須入力 をクリックし、 existing_kms_instance_crn のデフォルト値を __NULL__ に設定して、鍵の暗号化要件を削除する。
  3. このアーキテクチャで必要な他の3つの入力は、すべて Example Corp's infrastructure ですでに利用可能な入力を参照することができる。 これらの入力に参照を追加するには、以下の手順を実行する:
    1. 変数を参照するアイコンを選択します変数を参照するアイコンを選択しますresource_group_name をクリックし、 変数名メニューから existing_resource_group_name を選択します。 追加 をクリックすると、Cloud automation内の Databases for PostgreSQL の resource_group_name 入力が、ユーザーが提供するExample Corpのインフラストラクチャの existing_resource_group_name 値を参照します。
    2. prefix変数の参照 アイコン 変数参照アイコン を選択し、 変数名 メニューから 接頭辞 を選択し、 追加 をクリックする。
    3. 変数の参照する アイコンを選択します変数の参照アイコン region変数名 メニューから 地域を選択し、 追加 をクリックする。
  4. オプションの入力をクリックします。
  5. use_existing_resource_group 」のデフォルト値を trueに設定し、ユーザーがアーキテクチャに既存のリソースグループを必要とすることを示します。
  6. use_ibm_owned_encryption_key のデフォルト値を true に設定する。
  7. 保存 をクリックします。

変更をユーザーに伝える

Example Corp's infrastructure の最新バージョンには大きな変更はありませんが、ユーザーが知っておくべき新機能が含まれています。 変更通知を追加することで、 Example Corp's infrastructure で使用できる新しいデータベースオプションについてユーザーに知らせましょう。 以下のステップを実行します。

  1. ステップ6「変更通知の追加 」から、「 新しい機能の追加 」をクリックします。
  2. タイトルの欄に、 Database options added to Example Corp's infrastructure と入力する。
  3. 説明には Version 0.0.2 includes two optional databases that you can choose to add. You can either use Cloud automation for Databases for Elasticsearch, or Cloud automation for Databases for PostgreSQL.
  4. 保存 をクリックします。

アクション メニューから マニフェストの生成 を選択して、最新の変更点をダウンロードします。 ファイルをダウンロードしてソースコード・リポジトリに追加するのがベスト・プラクティスであり、そうすることで変更が次のリリースに引き継がれる。

プロジェクトからのデプロイによってアーキテクチャを検証する

現在、 Example Corp's infrastructure のバージョン 0.0.2 は、あなたのプライベート・カタログでドラフトとして利用可能です。 プライベート・カタログにアクセスできるユーザーであれば、誰でもデプロイできる。 データベース・オプションが Example Corp's infrastructure で動作することを確認するために、プロジェクトから2回デプロイします。 1つのデプロイメントには、 Elasticsearch。 そして、もう一方のデプロイメントには、 PostgreSQL。 アーキテクチャを2回デプロイすることで、両方のデータベースオプションが Example Corp's infrastructure で意図したとおりに動作することを検証する。

Example Corp's infrastructure を企業と共有 する前に、プライベート・カタログにオンボードする際にバージョンを検証する必要があります。 現在のところ、 カタログのバージョンを検証しても、自分のアーキテクチャとスタックしたアーキテクチャは検証されません。 Example Corp's infrastructure がプライベートカタログのドラフト状態である間に、プロジェクトからアーキテク チャをデプロイすることで、 Example Corp's infrastructure で含めたアーキテク チャが適切に機能するようになります。

例コーポレーションのインフラを Elasticsearch

  1. IBM CloudExample Corp catalog プライベート・カタログを開く。

  2. Example Corpのインフラストラクチャを選択し、カタログリストを開く。

  3. バージョンとして が選択されている 0.0.2 ことを確認してください。

  4. プロジェクト作成をクリックし、新しいプロジェクトに名前を Testing Example Corp infrastructure 付け、 作成をクリックします。

  5. アイコン プロジェクト設定プロジェクト設定アイコン をクリックし、設定の名前をに変更し Example Corp infrastructure with Elasticsearch、をクリックします 保存

  6. デプロイ可能なアーキテクチャの概要セクションで、 [カスタマイズ] をクリックし、 [Cloud Automation for Databases for Elasticsearch ] が選択されていることを確認し、 [保存] をクリックします。

  7. 登録して作成 をクリックする。

  8. 以下の手順で アーキテクチャを構成する

    1. Details(詳細) セクションで情報を確認し、 Next(次へ )をクリックします。
    2. セキュリティ セクションで、ターゲット・ アカウント導入する認証方法を指定し、 次へをクリックします。 信頼できるプロファイルまたはAPIキーを使用してください。
    3. 入力 セクションで、入力変数 prefix の値として test-south を入力する。
    4. existing_resource_group_name 入力変数のデフォルトを選択する。
    5. 入力変数 regionus-southを選択する。
    6. Save をクリックして Example Corp's infrastructure の設定を保存する。
  9. 検証 をクリックします。 表示されるモーダルは、進行中のバリデーションに関する詳細を提供します。

    検証に失敗した場合は、 トラブルシューティングを 行うことができます。 または、 IBM Cloud プロジェクト サービスの管理者は、 Schematics サービスを通じて結果を確認し、 失敗をオーバーライドして、とにかくデプロイする構成を承認すること もできます。 しかし、コード・リスク・アナライザーのスキャンが原因でパイプラインが失敗したのであって、検証や計画の失敗が原因ではないことを確認してください。 バリデーションやプランの失敗によってフラグが立った失敗を上書きすることは推奨されません。 プロジェクトにおけるセキュリティとコンプライアンスの詳細については、 企業としての継続的なコンプライアンスの実現を 参照。

  10. 検証が完了したら、変更を承認してデプロイする:

    1. Testing Example Corp infrastructure プロジェクトから、 設定 タブを選択します。
    2. をクリックしてください。 Example Corp infrastructure with Elasticsearch****> 詳細表示 ]をクリックすると、前回の検証が表示され、変更が承認されます。
    3. 承認に関する詳細なコメントを追加し、「 承認 」をクリックします。
  11. デプロイ をクリックし、デプロイが完了するまで待ちます。

    デプロイが成功したならば、が意図した通りに Elasticsearch と連動している Example Corp's infrastructure ことがわかります。

  12. 最後に、アーキテクチャが作成したリソースをアンデプロイする。 プロジェクトの Configurations タブで、 Options アイコン Options アイコン for Example Corp infrastructure with Elasticsearch > Undeploy をクリックします。

例コーポレーションのインフラを PostgreSQL

同じ手順で、 Example Corp's infrastructure が PostgreSQL で動作することを確認する:

  1. Testing Example Corp infrastructure プロジェクトの Configurations タブで、 Create をクリックし、 Example Corp catalog プライベート・カタログを開きます。

  2. Example Corpのインフラストラクチャを選択し、カタログリストを開く。

  3. バージョンとして が選択されている 0.0.2 ことを確認してください。

  4. プロジェクトとして、 Testing Example Corp infrastructure が選択されていることを確認します。

  5. アイコン プロジェクト設定プロジェクト設定アイコン をクリックし、設定の名前をに変更し Example Corp infrastructure with PostgreSQL、をクリックします 保存

  6. デプロイ可能なアーキテクチャの概要セクションで、 [カスタマイズ] をクリックし、 [Cloud Automation for Databases for PostgreSQL ] が選択されていることを確認し、 [保存] をクリックします。

  7. 登録して作成 をクリックする。

  8. アーキテクチャを構成する。 その後、検証、承認、デプロイを行い、 Example Corp's infrastructure が PostgreSQL で意図したとおりに動作することを確認する。

    アーキテクチャを構成する際、 region 入力変数に us-east を選択し、アーキテクチャが米国南部と米国東部の両地域に展開できることを確認する。 test-east をプレフィックスとして入力し、リソースがどの地域に配置されるかを示す。

  9. プロジェクトから構成をアンデプロイしてリソースをアンデプロイする。

次のステップ

Example Corp's infrastructure の最新バージョンのオンボーディングを 継続する。 完了すると、新しいバージョンのデプロイ可能なアーキテクチャがユーザーに提供される。 新バージョンをプロジェクトに追加する際、Cloud automation for Databases for Elasticsearch または Cloud automation for Databases for PostgreSQL を含めることでカスタマイズできる。

ユーザがすでに以前のバージョンの Example Corp's infrastructure をデプロイしている場合、ユーザはプロジェクトで needs attention ウィジェットを使って アーキテクチャを最新バージョンに更新 するよう促される。