一般的な FAQ

IBM Cloud Schematics に関するよくある質問への回答は、以下のセクションに分類されています。

IBM Cloud Schematics とは何ですか? どのように機能しますか?

IBM Cloud Schematics クラウドインフラのプロビジョニングと管理プロセスを自動化する強力なツールを提供します。 そして、クラウドリソースの構成、運用、およびアプリのワークロードの展開。

そのために、 Schematics では、Terraform、 Ansible、 Red Hat OpenShift、Operators、 Helm などのオープンソースプロジェクトを活用し、これらの機能をマネージドサービスとしてお客様に提供しています。 システムに各オープン・ソース・プロジェクトをインストールするのではなく、API または CLI について学習します。 IBM Cloud で実行するタスクを宣言し、 Schematics がこれらのタスクを実行するのを監視できます。

Schematics の仕組みについて詳しくは、IBM Cloud Schematicsの概要を参照してください。

Infrastructure as Code とは何ですか?

「Infrastructure as Code( IaC )」を利用すると、クラウド環境をコード化することで、クラウドリソースのプロビジョニングや管理を自動化することができます。 インフラストラクチャリソースを手動でプロビジョニングや設定を行ったり、スクリプトを使ってクラウド環境を調整したりする代わりに、高水準のスクリプト言語を使用してリソースとその設定を定義します。 Terraformのようなツールは、APIを通じてクラウド上のリソースをプロビジョニングする。 インフラストラクチャのコードはアプリケーションのコードと同様に扱われるため、バージョン管理、テスト、継続的な監視といった DevOps のプラクティスを適用することができます。

Terraform IBM Modules と Schematics を使って、必要なインフラをプロビジョニングできますか?

はい、 Schematics で Terraform IBM Modules(TIM) を使ってインフラストラクチャをプロビジョニングできます。 Terraform IBM モジュールは、 IBM Cloud ベストプラクティスに従った、ビルド済み、検証済み、エンタープライズ対応のモジュールです。 これらのモジュールは、Terraformのコンフィギュレーションで直接参照することができ、 Schematics ワークスペースと共に使用することで、 IBM Cloud リソースを効率的にプロビジョニングすることができる。 より詳しい情報や利用可能なモジュールについては、 Terraform Registryを確認してほしい。

Schematics の利用料金はいくらですか?

IBM Cloud Schematics ワークスペースは無料で提供されます。 ただし、ワークスペースの詳細ページから「 Apply plan 」をクリックするか、 ibmcloud schematics apply コマンドを実行して、 IBM Cloud でTerraformテンプレートを適用すると、Terraformテンプレートに記述されているCloudリソースに対して課金されます。 作成する各リソースのサービス・プランと料金情報を確認してください。 一部のサービスには IBM Cloud アカウントごとの制限があります。 アカウントのサービス制限に達する場合は、サービスの割り当て量を増やすか、または既存のサービスを削除しないと、リソースはプロビジョンされません。

Schematics ibmcloud terraform コマンドの使用法は、あなたのコマンドに Alias Terraform are deprecated. Use schematics or sch として警告と非推奨メッセージを表示する。

操作間でファイルを保管するにはどうすればよいですか?

Schematics は、アクションおよびワークスペースの操作中に、パス /tmp/.schematics に書き込まれたファイルを永続化します。 ワークスペースで次の操作を実行すると、ファイルは同じパスにリストアされます。 ファイルの容量は10MBまでです。

ワークスペースまたはアクション (Ansible) テンプレート・リポジトリーからのファイルの削除または欠落によるジョブの失敗

Git のテンプレートリポジトリからファイルが削除されたり、取りこぼしが発生したりしたために、リポジトリを Schematics にインポートまたはクローンした後、ジョブが失敗します。

いくつかの理由により、実行時にファイルが見つからないことがある: - ファイルは、ファイルシステム symlinks を使って、リポジトリ内の別のファイルやフォルダ、または外部のファイルシステムから参照されます。 - レポジトリの内容は TGZ としてアップロードされ、 Git サブモジュールまたは symlinks によって参照されるファイルは TGZ には含まれませんでした。 - Schematics により、これらのファイルは脆弱性があるか悪意のあるものと判断されました。

Terraform または Ansible テンプレートリポジトリから削除されたファイル

悪意のある行為からユーザーを保護するため、 Schematics は、 Git のリポジトリをクローンしたユーザーから、サービスのセキュリティや整合性に影響を与える可能性のあるファイルを削除します。 その意図は、承認されていないモジュールの実行や、サービスに影響を与える可能性のある実行からユーザーを保護することです。 ziptar ファイルなどの圧縮ファイルとしてパッケージ化されたファイルは、自動的にユーザーリポジトリから除外されます。 tar ファイルの内容は検査されません。 同様に、 500KB より大きいファイルの使用は、テンプレートリポジトリではサポート(許可)されていません。一般的な IaC 構成ファイルはKBです。

ファイルで作業を行う場合は、実行時に Schematics にインポートするか、 /tmp にインポートするか、 /tmp/.schematics に保存することができます。 ジョブ実行の間に保持されるのは、10MB未満のファイルのみです。

Schematics のワークスペースやアクションを作成する際、 IBM Cloud Schematics は、 Git リポジトリからTerraformテンプレートまたは Ansible テンプレートのコピーをクローンし、安全な場所に保存します。 テンプレート・ファイルが保存される前に、 Schematics はコンテンツを分析し、悪意のあるファイルまたは脆弱なファイルが削除されます。 許可リストは、認証済みのファイルのみを許可するために使用されます。 ファイルの削除は、以下の基準に基づいて行われます。

  • 許可されるファイル拡張子は .cer, .cfg, .conf, .crt, .der, .gitignore, .html, .j2, .jacl, .js, .json, .key, .md, .netrc, .pem, .properties, .ps1, .pub, .py, .service, .sh, .tf, .tf.json, .tfvars, .tmpl, .tpl, .txt, .yaml, .yml, .zip, _rsa, license です。
  • 許可されるイメージ拡張子は .bmp, .gif, .jpeg, .jpg, .png, .so .tif, .tiff です。
  • 明示的に削除されるファイルは、 .asa, .asax, .exe, .php5, .pht, .phtml, .shtml, .swf, .tfstate, .tfstate.backup, .xap, .zip, .tar です。
  • 500 KB を超えるファイルはすべて削除されます。 このファイル制限は、許可されるイメージ・ファイル・タイプには適用されません。
  • フォルダ名がピリオド(.)で始まる場合、 . 、悪意のあるものとして扱われ、削除されます。

許可される拡張子のリストは継続的にモニターされ、リリースごとに更新されます。 ファイル拡張子をリストに追加してほしいという理由を明記して、 サポートチケット を発行することができます。

Git サブモジュールの使用は、 Git リポジトリまたは TGZ ファイルでサポートされていますか?

Git サブモジュールの使用は、複製された Git リポジトリーでのみサポートされます。 Schematics が Git リポジトリーを複製すると、 Git サブモジュールがインポートされます。 TGZファイルとしてレポジトリがアップロードされる場合、 Schematics はクローン操作を使用せず、 Git サブモジュールによって参照されるファイルやフォルダは含まれません。 TGZファイルを使用する場合、 Git サブモジュールまたは symlinks が要求するすべてのファイルをTGZに含める必要がある。

レート制限はありますか?

IBM Cloud Schematics リージョンごと、ユーザーごとに、1分あたり50件のAPIリクエストに対応しています。 領域は、 us-eastus-southeu-gb、または eu-de です。 再度コマンドを開始するのを待つ。

なぜジョブはランキューで待たされるのか?

IBM Cloud Schematics は、すべてのユーザー・ジョブを単一のキューに入れます。 ユーザーの作業負荷やジョブの実行時間によっては、ユーザーに遅延が生じる場合があります。 詳しくは、 ジョブ・キューの状況 を参照してください。

クライアント ID bx が使用されている場合に IAM アクセス・トークンを生成するにはどうすればいいですか?

IAM アクセス・トークンを作成するには、 export IBMCLOUD_API_KEY=<ibmcloud_api_key> を使用し、コマンドを実行します。

curl -X POST "https://iam.cloud.ibm.com/identity/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=$IBMCLOUD_API_KEY" -u bx:bx.

詳しくは、 IAM アクセス・トークン および API キーの作成 を参照してください。 export ACCESS_TOKEN=<access_token> および export REFRESH_TOKEN=<refresh_token> という環境変数の値を設定できます。

Git リポジトリのクローンに失敗しました。リモート参照やヘッド、マスターが見つからない可能性があり、無効なブランチ名が渡された可能性があります

2020年10月1日以降、 https://github.com/guruprasad0110/tf_cloudless_sleepy_13/ リポジトリのブランチを使用すると、このエラーメッセージが表示される場合があります。

リポジトリが2020年10月1日以降に作成された場合、メインブランチの構文は https://github.com/username/reponame/tree/main とする必要があります。 例: https://github.com/guruprasad0110/tf_cloudless_sleepy_13/tree/main

null-exec および remote-exec リソースのタイムアウト時間を延長することは可能ですか?

いいえ、null-exec(null_resources )およびremote-execリソースのタイムアウトの上限は 60 minutes です。 長いジョブは、短いブロックに分割してインフラストラクチャーを迅速にプロビジョンできるようにする必要があります。 それ以外の場合、 60 minutes の実行は自動的にタイムアウトします。

Terraformモジュールによるユーザー定義ファイルを保存し、複数のTerraformコマンドで使用するにはどうすればよいですか?

IBM Cloud Schematics Schematics のワークスペースには、Terraformエンジンによって生成されたステートファイルがすでに保存され、安全に管理されています。 は、このステートファイルを定期的に安全な場所に保存します。 Schematics さらに、 Schematics ジョブを実行する前や、 planapplydestroyrefreshimport などの Terraform コマンドを実行する前に、ステートファイルが自動的にリストアされる。

同様に、 IBM Cloud Schematics は、Terraformテンプレートやモジュールによって生成されたユーザー定義のファイルを保存する機能をサポートしています。 Schematics では、ユーザー定義のTerraformテンプレートやモジュールがファイルを生成し、あらかじめ定義された場所に配置することが想定されています。 Schematics は、 Schematics ジョブやTerraformコマンドの実行前後に、これらのファイルを自動的に保存および復元します。

ファイルは /tmp/.schematics フォルダに配置する必要があります。また、上限は 10 MB に設定されています。 Schematics は、 /tmp/.schematics フォルダ内のすべてのファイルをバックアップおよび復元します。

削除されたリソースを Terraform 状態と同期する最良の方法はどのように特定すればいいですか?

現在、 IBM Cloud Schematics サービスでは、Cloudリソースの状態を Schematics ワークスペースにインポートまたは同期する機能はサポートされていません。 これは将来のロードマップで計画されています。

どのリージョンにおいても、 アカウントのクラスタリソースクォータ「100」を超えるリクエストが発生した場合、どのように対処すればよいですか?

Error: Request failed with status code: 403, ServerErrorResponse: {"incidentID":"706efb2c-3461-4b9d-a52c-038fda3929ea,706efb2c-3461-4b9d-a52c-038fda3929ea","code":"E60b6","description":"This request exceeds the 'Cluster' resource quota of '100' for the account in this region. Your account already has '100' of the resource in the region, and the request would add '1'. Revise your request, remove any unnecessary resources, or contact IBM support to increase your quota.","type":"General"}

このリージョンのアカウントの Cluster リソース割り当て量 100 を超えると、この割り当て量検証エラーが表示されます。 既存のリソースを削除してから、操作を再度実行してみてください。

Red Hat OpenShift または Kubernetes のリソースを作成する際、90分のタイムアウト時間をより長く設定することはできますか?

はい。 Red Hat OpenShift または Kubernetes リソースのタイムアウトを増やすことができます。 詳細については 、ibm_container_vpc_cluster が以下のt構成オプションを提供していることを参照してください。

グローバルアカウントで場所の検証を行う際に発生する403エラーを、どのように修正すればよいでしょうか?

アカウントのカタログ設定で、リソースの作成や表示を行うための場所やアクセス権限を確認できます。 詳細については、 グローバルカタログの「場所の設定の管理」 を参照してください。

タグに基づいて、またスケジューラーまたはクーロン・ジョブを使用して、Virtual Servers for VPC を開始または停止できますか?

はい、 Cloud Functions を使用すれば、タグに基づいてクエリの開始や停止といった管理操作を設定できるほか、スケジューラやcronジョブを通じて Schematics アクションをトリガーすることも可能です。 詳細については、 VSIの運用およびスケジュールソリューション GitHub リポジトリをご覧ください。

既存のワーカーノードプール内に、新たなワーカーノードを作成することは可能でしょうか?

Kubernetes Schematics クラスタの コンテナワーカープールリソースを使用して、既存のワーカーノードプールにワーカーノードを作成または追加できます。 IBM または、 IBM コンテナー・ワーカー・プール・ゾーン添付リソースを使用する Terraform。 細については、 ibm_container_worker_pool_zone_attachmentを参照してください。

us-southus-easteu-gb、および eu-de リージョンの、許可されたパブリック IP アドレスおよびプライベート IP アドレスのリストはどこで表示できますか?

「Schematics の許可された IP アドレス」us-southus-easteu-gb、および eu-de の各リージョンの、許可されたパブリック IP アドレスとプライベート IP アドレスのリストを表示できます。

サービス・ダッシュボードからリソースを手動で追加または削除できますか?

IBM Cloud Schematics でリソースをプロビジョンすると、そのリソースの状態がローカルの IBM Cloud Schematics 状態ファイルに保管されます。 この状態ファイルは、IBM Cloud Schematics が、IBM Cloud アカウントにプロビジョンされているリソースを判別するために使用する単一の正しい情報源 (Single source of truth) です。 IBM Cloud Schematics を使用せずに手動でリソースを追加した場合、そのリソースは IBM Cloud Schematics 状態ファイルに保管されないので、結果として IBM Cloud Schematics で管理することができません。

IBM Cloud Schematics を使用してプロビジョンしたリソースを手動で削除した場合は、状態ファイルが自動更新されず、同期していない状態になります。 次にTerraformの実行プランを作成したり、新しいテンプレートバージョンを適用したりする際、 Schematics は、ステートファイル内のCloudリソースが、 IBM Cloud アカウント内に存在し、かつステートファイルに記録されている状態と一致しているかどうかを確認します。 リソースが見つからない場合、状態ファイルが更新され、Terraformの実行プランが変更されます。

IBM Cloud Schematics のステートファイルとアカウント内のクラウドリソースを同期させるには、 IBM Cloud Schematics を使用してリソースをプロビジョニングまたは削除してください。

リソースにどのような変更を加えることができますか?

GitHub, を通じて、Terraform テンプレート内のインフラストラクチャコードを追加、変更、削除したり、 Schematics のワークスペースダッシュボードから変数の値を更新したりすることができます。

クラウド・リソースの必要な状態をリソースの実際の状態と比較するにはどうすればよいですか?

逸脱レポートを作成し、Terraform 構成ファイルで指定したインフラストラクチャーとプラットフォーム・サービスの間の変更を表示します。 Terraform 実行プランを使用できます。 Terraform 実行プランには、Terraform 構成ファイルに記述されているクラウド環境をプロビジョンするために Schematics が実行する必要があるアクションがまとめられています。 こうした操作には、クラウドリソースの追加、変更、削除などが含まれます。

検出できない偏差は何ですか?

  • Terraform 実行プランは、最初の Schematics 適用アクションの実行時に作成される Terraform 状態ファイル に基づいています。
  • AnsibleChef などの自動化ツールを使用して、他の Schematics ワークスペースにプロビジョニングしたリソースのうち、 Schematics なしで追加されたものは、Terraform の実行プランには含まれません。

IBM Cloud Schematics を使用してリソースを削除するにはどうすればよいですか?

IBM Cloud Schematics コンソールまたはCLIを使用して、 Schematics でプロビジョニングしたすべてのリソースを削除できます。 Terraform テンプレートとの同期を保つには、関連付けられているインフラストラクチャー・コードを Terraform テンプレートから必ず削除してください。 Terraformテンプレートの新しいバージョンを適用した際に、リソースが再度追加されないようにします。

リソース・ダッシュボードからリソースを直接削除するとどうなりますか?

IBM Cloud Schematics を使用してプロビジョンしたリソースを手動で削除した場合は、状態ファイルが自動更新されず、同期していない状態になります。 次の Terraform 実行プランを作成するとき、または新しいテンプレート・バージョンを適用するとき。 Schematics は、ステートファイルに記載されているクラウドリソースが、取得したステートとともに、お客様の IBM Cloud アカウントに存在することを確認します。 リソースが見つからない場合、状態ファイルが更新され、Terraformの実行プランが変更されます。

クラウドリソースへの新しい変更が適用される前にステートファイルは更新されますが、予期しない結果が生じるのを防ぐため、リソースダッシュボードから手動でリソースを削除しないでください。 代わりに、IBM Cloud Schematics のコンソールまたは CLI を使用してリソースを削除するか、または、対応するインフラストラクチャー・コードを Terraform テンプレートから削除してください。

Schematics は ibmcloud terraform コマンドをサポートしていますか?

CLI リリース v1.8.0 から ibmcloud terraform コマンドを使用すると、 Alias Terraform are deprecated. Use schematics or sch in your commands という警告メッセージが表示されます。 詳しくは、 CLI のバージョン履歴 を参照してください。

Schematics を通じてプライベートネットワークにアクセスすることはできますか?

はい、CLI リリース v1.8.0 Schematics からプライベート・ネットワークにアクセスするために、プライベート Schematics エンドポイントをサポートします。 詳細については 、 Schematics のプライベートエンドポイント を参照してください。

IBM Cloud Schematics 経由でバスティオンホストの IP アドレスに接続する際に表示されるエラーメッセージを、どのように解決すればよいでしょうか?

エラー

timeout - last error: Error connecting to bastion: dial tcp
 2022/03/02 03:59:37 Terraform apply | 52.118.101.204:22: connect: connection timed out
 2022/03/02 03:59:37 Terraform apply |
 2022/03/02 03:59:37 Terraform apply | Error: file provisioner error

Schematics のワークスペースにアクセスし、プライベートまたはパブリックのエンドポイントアドレスを使用して、地域またはゾーンごとに Bastion host IPs に接続できます。 詳細については、 ファイアウォールで IBM Cloud Schematics のIPアドレスを開くを 参照してください。

IBM Cloud 環境で Terraform を使用してクラスターを作成する方法

シングルゾーンとマルチゾーン Red Hat OpenShift on IBM Cloud および Kubernetes Service クラスターチュートリアルを 参照。

Terraform を、常に最新バージョンまたはデフォルトのバージョンを使用するように設定することはできますか?

はい、ペイロードまたはJSONファイルにおいて、 type および template_type パラメータの値が実行時に宣言されていない場合、デフォルトのTerraformバージョンが適用されます。 詳しくは、 Terraform のバージョン制約の指定 を参照してください。 type パラメーターまたは template_type パラメーターを使用して、ペイロードに Terraform のバージョンを指定できます。 ただし、typetemplate_type のバージョン値に同じバージョンが含まれているかどうかを確認してください。

コードブロックのようにJSONファイルに type: = terraform_v1.4 を設定した場合、 Terraform version 2.0 以降がリリースされても、 Terraform version 1.4 を使い続けるのでしょうか?

    //Sample JSON file
    {
    "name": "<workspace_name>",
    "type": "terraform_v1.4",
    "resource_group": "<resource_group>",
    "location": "",
    "description": "<workspace_description>",
    "template_repo": {
    "url": "http://xxxxx.git",
    "branch": "main"
    },
    "template_data": [{
    "folder": "",
    "type": "terraform_v1.4"
    }]
    }

いいえ、ペイロードやテンプレートにTerraformのバージョンが指定されている場合でも、プロビジョニング時には versions.tf に指定されているバージョンのみが考慮されます。 現在の Terraform のバージョンを考慮するために、 required_version パラメーターを required_version = ">=1.4 <2.0" として構成できます。 詳しくは、 Terraform のバージョン制約 を参照してください。

version パラメータには、プロバイダーのバージョンのみを指定することはできますか? それとも、 versions.tf ファイルにrequired_versionパラメータを指定することが必須なのでしょうか?

はい、IBM Cloud プロバイダーのバージョンを示すため、version = "x.x.x" を指定する必要があります。 一方、 required_version = ">1.4, <2.0" は、プロビジョンする Terraform のバージョンを示します。 詳しくは、 Terraform のバージョン制約 を参照してください。 versions.tf ファイルでversionパラメータが宣言されていない場合、 Schematics ではプロバイダプラグインの最新バージョンが自動的に使用されます。 詳しくは、 Terraform プロバイダーのバージョン制約 を参照してください。

Schematics におけるdeleteとdestroyの違いは何ですか?

Destroy ワークスペースから関連付けられたクラウド・リソースを削除します。 ワークスペースの削除は、ワークスペースを削除するために使用します。 推奨されるのは、まずワークスペースからリソースを削除し、その後でワークスペースを削除するように設定することです。 詳しくは、 ワークスペースの削除 を参照してください。

1 つのステップとして操作を削除および破棄できますか?

いいえ。1 つのステップで delete 操作と destroy 操作を実行することはできません。 最初に プロセス に従って破棄してから削除する必要があります。

リソースグループとは何ですか?また、チームの管理にどのように役立つのでしょうか?

特定の IBM Cloud サービスへのアクセス権限を割り当てることは、ユーザーにアカウント内の特定のサービスでの作業を許可するのに役立ちます。 ただし、クラウド上に実動ワークロードを構築する際は、ほとんどの場合、他のチームが使用する複数の IBM Cloud サービスとリソースがあります。 リソース・グループを使用すると、アカウント内に複数のサービスを編成し、それらを 1 つの共通のビューと請求処理にまとめることができます。 チームがこれらのリソースを扱えるようにするために、IAM アクセス・ポリシーをリソース・グループに割り当てて、リソース・グループ内のリソースを表示および管理できるようにすることができます。

例えば、IBM Cloud Kubernetes Service クラスターの管理を担当するチーム A と、IBM Cloud® Functions を使用してサーバーレス・アプリを開発する別のチーム B があるとします。 両チームとも、 IBM Cloud Schematics のワークスペースを使用してクラウドリソースを管理しています。 ワークスペースとリソースの分離を確実にするために、チームごとにリソースグループを作成します。 次に、必要な権限を各リソース・グループに割り当てます。 たとえば、リソースグループ A のすべてのワークスペースに対しては「 Manager 」サービスアクセス権限を持ちますが、リソースグループ B のワークスペースに対しては 「Reader」 アクセス権限のみを持っています。

IAM アクセスグループを使用するメリットは何ですか?

個々のユーザーに割り当てるIAMアクセス・ポリシーの数を減らすには、チームごとに IAMアクセス・グループを 作成し、リソース・グループ内のリソースを操作するために必要なすべての権限をそのグループに付与する。

次の図は、IAM アクセスグループとリソースグループを使用して、 IBM Cloud アカウント権限を整理する方法を示しています。

<img src="../images/schematics-user-flow-rg.png" alt="Using resource groups and IAM access groups to organize access to IBM Cloud Schematics" width="900" style="width: 900px; border-style: none"/>
  1. アカウント所有者または許可されたアカウント管理者がチームを定義し、各チームの IAM アクセス・グループを作成します。
  2. IAM アクセス・グループに特定のリソース・グループ内のリソースへのアクセス権限を割り当てます。 例えば、アクセス・グループ A にはリソース・グループ A 内のすべてのリソースに対するエディター権限を割り当て、リソース・グループ B のリソースについてはビューアー権限のみ割り当てます。
  3. アカウント所有者または許可されたアカウント管理者が IAM アクセス・グループにユーザーを追加します。 すべてのユーザーは、IAM アクセス・グループの権限を自動的に継承します。

きめ細かでクラシックなパーソナル・アクセストークン(PAT)を作成し、制限する手順は?

GitHub APIを起動し、HTTP経由で Git 接続を確立し、クイックスクリプトを作成し、PATを使用して統合をテストする。 詳しくは、 PAT についてを参照してください。

GitHub 現在、2種類の個人用アクセストークンをサポートしており、組織のオーナーは、個人用アクセストークンによるアクセスを組織内に制限するポリシーを設定することができます

  • 微細化された個人用アクセス・トークン
  • 個人用アクセス・トークン (クラシック)。 GitHub では、可能な限り、個人用アクセス・トークン (クラシック) の代わりに微細化された個人用アクセス・トークンを使用することを推奨しています。

PAT トークンを作成および制限する手順を以下に示します。

CLI で terraform init -backend-config="KEY=VALUE" オプションを実行できますか?

Schematics Terraformバックエンド構成 の編集機能はサポートしていません。 は、独自の バケットで、 Schematics IBM Cloud Object Storage 封筒暗号化 を使用して暗号化された 状態ファイル を内部的に管理しています。

GitHub マスター・ブランチまたはサブディレクトリー・ブランチをいつ指定しますか?

ワークスペースの作成

ワークスペース作成ページで、 Repository URL に対して。 master・ブランチ、他のブランチ、またはサブディレクトリーを指すリンクを入力できます。 ワークスペースの 「設定」 ページで、編集アイコンをタップして「 Repository URL 」を編集してください。 ワークスペースの作成について詳しくは、 ワークスペースの作成 を参照してください。 master・ブランチ、他のブランチ、またはサブディレクトリーを指すリンクを入力できます。 - 「 master 」ブランチの例: https://github.com/myorg/myrepo - その他の支店の例: https://github.com/myorg/myrepo/tree/mybranch - サブディレクトリの例: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory

/ (バックスラッシュ)を含むブランチ名はサポートされていません。

アクションの作成

アクションの作成ページでは、 URLはマスターブランチ、その他のブランチ、またはサブディレクトリを指すことができます。 リポジトリに複数のプレイブックが保存されている場合は、実行したいプレイブックを選択してください。 Schematics アクションでは、参照先として一度に 1 つの Playbook を指すように指定できます。 アクションの詳細については、複数のプレイブックを実行する アクションを作成するを 参照してください。 - masterブランチの例 - https://github.com/myorg/myrepo - 他の支店の例 - https://github.com/myorg/myrepo/tree/mybranch - サブディレクトリの例 - https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory

使用できる Playbook がありませんか? サンプル・プレイブックのいずれかを試してください。

ワークスペースの 「設定 」ページで、編集アイコンをクリックして、 Repository URL を編集してください。 master・ブランチ、他のブランチ、またはサブディレクトリーを指すリンクを入力できます。 - 「 master 」ブランチの例: https://github.com/myorg/myrepo - その他の支店の例: https://github.com/myorg/myrepo/tree/mybranch - サブディレクトリの例: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory

Schematics API 呼び出しのアクティブ性を構成できますか?

Schematics プラグインでは、 Schematics API 呼び出しのタイムアウトを 30 seconds に設定することができます。 ibmcloud config --http-timeout フラグで設定できる。 例えば、ibmcloud config --http-timeout=30などです。 HTTP リクエストのデフォルト値は 60 seconds です。

Schematics は地域ベースのアクセスをサポートしていますか?

はい、 Schematicsはリージョンベースのアクセスをサポートしています。 詳細については、 地域ベースのアクセス、および ユーザーを招待するための地域ベースのアクセスを設定する 手順を参照してください。

WorkspaceとActionは Secrets Manager をサポートしていますか?

はい、ワークスペースとアクションは 、ワークスペースを作成し入力変数ワークスペースを更新する ときに Secrets Manager をサポートします。 また、 プレイブックの作成中アクション設定の編集中 に、 Secrets Manager を設定することもできます。

個人用アクセストークンを入力するか、 Open reference picker を使用して Secrets Manager にアクセスし、 Secrets Manager キー参照を選択することができます。 詳細は、 Secrets Manager インスタンスの作成 を参照してください。 Secrets Manager のキー値は、 Git リポジトリからテンプレートを複製する際に実行時に使用されます。

なぜ evaluname のコマンドが制限されているのか?

eval コマンドは、コード・インジェクションの危険性など、セキュリティー上の脆弱性をもたらす可能性がある。一方、 uname コマンドは、攻撃者が悪用するシステム情報を暴露する可能性がある。

制限は、 Schematics 内の安全な実行環境を維持するのに役立つ。

evaluname コマンドの制限は、既存のスクリプトやオートメーションにどのような影響を与えるのか?

スクリプトや自動化ワークフローが uname コマンドに依存している場合、2025年4月16日以降は失敗する。 eval 、 Schematics。 スクリプトまたはオートメーションフロー内の eval コマンドによる OS レベルコマンドの実行は制限されています。 スクリプトを修正して、これらのコマンドを削除するか、別の方法で置き換える必要がある。

evaluname コマンドを置き換える代替ソリューションは?

その代わりに、 eval 、条件文、パラメータ置換、組み込みコマンド実行メソッドなど、より安全な代替手段を使用してコマンドを考慮する。 代わりに、 uname 、必要なシステム情報を取得するために、 IBM Cloud が提供する定義済みの環境変数やシステム・メタデータ・サービスを使用する。 ご質問、ご意見、ご不明な点などございましたら、 IBM Cloud® サポートまで ご連絡ください。

eval コマンドを使用した例

command="ls -l /home/user"
eval $command

eval コマンドなしの例

command="ls -l /home/user"
$command

evaluname コマンドの変更は、 Schematics 内の Terraform 実行に影響しますか?

スクリプトやモジュールが evaluname のようなコマンドを明示的に使用しない限り、Terraformの実行が直接影響を与えることはない。 明示的に使用する場合は、 修正が 必要である。

Schematics がサポートするエンドポイントとは?

現在、 Schematics は、 public および private タイプとして利用可能なクラシック・サービス・エンドポイント(CSE)のみをサポートしています。 updatemodifymanage 、 IBM Cloud Kubernetes Service、 Red Hat OpenShift のクラスターを使用する場合は、 publicprivate のいずれかのCSEを使用する必要があります。

cluster_config_endpoint_type コンフィギュレーションで private。 詳細は エンドポイント引数を参照。

data "ibm_container_cluster_config" "cluster_foo" {
cluster_name_id = "FOO"
config_dir = "/home/foo_config"
admint = "true"
endpoint_type = "private"
}

現在、 Schematics はVPE(Virtual Private Endpoint)をサポートしていない。 endpoint_type 変数を vpe として選択した場合、 Schematics ジョブは失敗する。 あるいは、 IBM Cloud Kubernetes Service または Red Hat OpenShift クラスターに Schematics エージェントをデプロイし、VPE を使用して Schematics ジョブまたはタスクを実行する必要があります。 詳しくは、 Schematics エージェントを 参照。