既存のオファリングからのデプロイ可能なアーキテクチャーの作成
IBM®キュレーション・カスタマイズ・バンドルを利用して、 IBM Cloud® デプロイ可能アーキテクチャーデプロイメント、スケーラビリティー、およびモジュール性を容易にするように設計された 1 つ以上のクラウド・リソースを結合する共通のアーキテクチャー・パターンをデプロイするためのクラウド自動化。を拡張およびカスタマイズできます。 デプロイ可能な各アーキテクチャーには、独自のカスタマイズ・バンドルが用意されています。 バンドルを使用すると、ローカル・コンピューター上のデプロイ可能なアーキテクチャーを編集し、独自のパイプラインを使用してテストを行い、企業のニーズに合うように独自の製品を拡張することができます。 アーキテクチャーをカスタマイズするには、Terraform に精通している必要があります。
カスタマイズ・バンドルには、 IBM Cloud上のプライベート・カタログに公開するためのオンボーディングおよび検証から、カスタマイズされたデプロイ可能アーキテクチャーのライフサイクルを管理するのに役立つスターター・スクリプトを含む automation ディレクトリーも含まれています。 現在、このディレクトリーには、 GitHub アクションまたは IBM Cloudからのツールチェーンという 2 つのパイプライン・メソッドが含まれています。
以下のガイダンスでは、カスタマイズ・バンドルの概要と、実行可能なカスタマイズのいくつかの例を示します。 すべてが包括的ではなく、必要な変更を加えることができます。 アーキテクチャーを変更した後、それをプライベート・カタログに追加し、 IBMのツールを使用して、脆弱性を検査し、セキュリティーとコンプライアンスを確保し、アーキテクチャーを企業と共有することができます。 より詳細なウォークスルーについては、 IBM Cloud デプロイ可能アーキテクチャーを使用したデプロイ可能アーキテクチャーのビルド を参照してください。
変更内容によっては、 IBM Cloud がデプロイ可能なアーキテクチャーをサポートしていない可能性があります。 バンドルで提供されているアーキテクチャーのコンポーネントは IBM Cloudでサポートされていますが、拡張に使用される変更済みコードはサポートされていません。
開始前に
- カスタマイズされたデプロイ可能アーキテクチャー (例えば、 GitHub リポジトリー) を保管するためのリポジトリーを作成します。 詳しくは、 新規リポジトリーの作成を参照してください。
- デプロイ可能なアーキテクチャーを変更するために選択したエディター (例えば、 Visual Studio Code) があることを確認します。 詳しくは、 Visual Studio Codeを参照してください。
- デプロイ可能なアーキテクチャーをテストするために選択したツールがあることを確認し、それが機能することを確認します。 例えば、Terraform コマンド・ラインを提供する Terraform ランタイムを使用できます。
デプロイ可能なアーキテクチャーの検索
IBM Cloud は、現状のまま使用することも、カスタマイズすることもできる複数のデプロイ可能アーキテクチャーを提供します。 アーキテクチャーを見つけるには、以下のステップを実行します。
- IBM Cloud カタログで、デプロイ可能なアーキテクチャーを選択します。
- 「デプロイメント・オプションの確認」 > 「コードの処理」 > 「バンドルのダウンロード」 を選択して、カスタマイズ・バンドルをダウンロードします。
デプロイ可能アーキテクチャーのカスタマイズ
バンドルをダウンロードすると、カスタマイズを開始するのに役立つように設計されたファイルのセットを受け取ります。
ibm_catalog.json
ibm_catalog.json ファイルは、バージョン情報をプライベート・カタログに自動的にインポートするために使用されるマニフェスト JSON ファイルです。 カタログ・マニフェスト・ファイルを使用すると、コンソールから手動でバージョン・メタデータを入力する必要がなくなります。 ibm_catalog.json ファイルのセットアップ方法と組み込むことができる値を確認するには、 カタログ・マニフェストのローカル編集 を参照してください。
main.tf
main.tf ファイルは、使用する各デプロイ可能アーキテクチャーに関する構成情報が保管される場所です。 デプロイ可能なアーキテクチャーに応じて、このファイルを使用して、特定のリージョン、API キー、およびソース・コードのロケーションを指定できます。 このファイルを使用して、他のモジュールを追加したり、アーキテクチャーの Terraform パラメーターを更新したりすることもできます。
指定のある main.tf の例
以下の例は、特定の地域 us-south を使用する規制対象業界向けの VPC 上のセキュア・インフラストラクチャーを示しています。
module "landing-zone" {
source = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source//examples/power-sap?archive=tgz&catalogID=7df1e4ca-d54c-4fd0-82ce-3d13247308cd&flavor=power&kind=terraform&name=slz-vpc-with-vsis&version=0.0.22"
ibmcloud_api_key = var.ibmcloud_api_key
ssh_public_key = var.ssh_public_key
region = "us-south"
prefix = "slz"
}
outputs.tf
outputs.tf ファイルには、デプロイ可能なアーキテクチャーに組み込むことができる使用可能な出力値が含まれています。 値はコメント化されていますが、値から # 記号を削除することで値を含めることができます。 また、ファイルにさらに出力変数を追加することもできます。 特定の値を含めるには、以下の手順を実行します。
outputs.tfファイルを開きます。- 組み込むすべての出力値から
#を削除します。
例 outputs.tf
以下の例では、 vsi_names 値が含まれており、 transit_gateway_name 値は除外されています。
output "vsi_names" {
value = var.vsi_names
description = "A list of the vsis names provisioned within the VPCs"
}
#output "transit_gateway_name" {
# value = var.transit_gateway_name
# description = "The name of the transit gateway"
#}
provider.tf
provider.tf ファイルには、ユーザーが使用する必要があるプロバイダー、API キー、および地域に関する必須情報が含まれています。
この情報は、 variables.tf ファイルから取り込まれます。 変更する必要がある場合は、 variables.tf ファイルを更新します。
provider.tf ファイルの例
以下の例では、プロバイダーとして IBM をリストします。
provider "ibm" {
ibmcloud_api_key = var.ibmcloud_api_key
region = var.region
}
README.md
README ファイルには、デプロイ可能なアーキテクチャーに関する背景情報と使用情報が含まれています。 README ファイルをカスタマイズして、エンタープライズのメンバーがデプロイ可能なアーキテクチャーを使用できるようにすることができます。
variables.tf
variables.tf ファイルには、デプロイ可能なアーキテクチャーに必要な変数が含まれています。 必要な任意の追加変数を追加できます。
version.tf
version.tf ファイルには、デプロイ可能なアーキテクチャーを実行するために必要な Terraform のバージョンとプロバイダーのバージョンに関する情報が格納されます。 Deployable アーキテクチャーを現状のまま実行している場合、更新は不要です。 構成によっては、このファイルの更新が必要になる場合があります。 特定の Terraform またはプロバイダーのバージョンを指定する必要がある場合は、以下の手順を実行します。
versions.tfファイルを開きます。required_versionを、ユーザーが使用する必要がある Terrafrom バージョンに更新します。versionを、ユーザーが使用する必要があるプロバイダー・バージョンに更新します。
デプロイ可能アーキテクチャーのテスト
デプロイ可能なアーキテクチャーをプライベート・カタログにオンボードする前に、カスタマイズをテストし、そのアーキテクチャーが意図したとおりに実行されることを確認してください。 Terraform コマンド・ラインを使用してアーキテクチャーをテストするには、以下の手順を実行します。
-
アーキテクチャーをカスタマイズした後、Terraform CLI を初期化します。 詳しくは、 作業ディレクトリーの初期化を参照してください。
terraform init -
リソースをプロビジョンします。 詳しくは、 Terraform を使用したインフラストラクチャーのプロビジョニングを参照してください。
-
terraform planを実行して Terraform 実行プランを生成し、提案されたアクションをプレビューします。terraform plan -
terraform applyを実行して、計画に定義されているリソースを作成します。terraform apply
-
リリースの作成
テストが成功した場合は、ファイルがリポジトリー内にあることを確認し、リリースを作成することによって、アーキテクチャーをプライベート・カタログにオンボードする準備をすることができます。 詳しくは、 リリースの作成 を参照してください。
プライベート・カタログと共有するための自動化の活用
カスタマイズ・バンドルには、スターター・パイプライン用のいくつかのオプションを含む automation ディレクトリーがあります。 これらのパイプラインを使用すると、 IBM Cloudでプライベート・カタログを使用して共有するカスタマイズ製品のライフサイクルを自動化できます。 これには、プライベート・カタログに対するデプロイ可能なアーキテクチャー・バージョンのオンボーディング、検証、および共有の管理が含まれます。 README ファイルは、それを活用する方法の詳細を提供するパイプライン・オプションごとに組み込まれています。 それぞれについて詳しくは、 GitHub アクション および ツールチェーンの作成を参照してください。
コンソールを使用したプライベート・カタログへのオンボード
コンソールを使用してデプロイ可能アーキテクチャーをオンボードする場合は、ステップバイステップのガイダンスについて、 プライベート・カタログへのカスタマイズされたデプロイ可能アーキテクチャーのオンボード を参照してください。
次のステップ
カスタマイズ・バンドルで提供されるスクリプトは、製品を他のユーザーと共有するために、プライベート・カタログへのオンボーディング・プロセスを自動化するのに役立ちます。 ただし、コンソールまたは CLI を使用してデプロイ可能アーキテクチャーをオンボードする場合は、ステップバイステップのガイダンスについて、 カスタマイズされたデプロイ可能アーキテクチャーのプライベート・カタログへのオンボード を参照してください。 プライベート・カタログを使用することで、企業のメンバーは、 プロジェクト を使用してデプロイできる承認済みアーキテクチャーを使用する必要があります。