Schematics ユースケースを理解する
Schematics が IBM Cloud 内のインフラストラクチャー、サービス、およびアプリケーション・スタックを自動化する方法については、以下のユース・ケースから選択してください。
- Schematics ワークスペースを使用したインフラストラクチャーのデプロイメント
- Schematics アクションを使用した構成管理
- IBM 提供のテンプレートを使用したソフトウェアのデプロイメント
Schematics ワークスペースを使用したインフラストラクチャーのデプロイメント
Schematics ワークスペースは、Terraform-as-a-Serviceの機能を提供し、クラウドリソースのプロビジョニングと管理を自動化し、複雑な多層クラウド環境を迅速に構築、複製、スケールできるようにします。
Schematicsでインフラストラクチャーのデプロイメントを開始するには、 入門チュートリアル を参照してください。
Terraformはオープンソースのプロジェクトで、高水準のスクリプト言語を使ってクラウドインフラのリソースやサービスを指定できる。 指定内容は Terraform 構成ファイルに保管されます。 APIs
の使用、プロビジョニング、クラウドリソースの管理の複雑さは、ユーザーから取り除かれる。
クラウド・プロバイダーは、クラウド・プロバイダーへの接続方法に関する情報を含む Terraform 用のプラグインを作成します。 そして、あるクラウドリソースで呼び出す APIs
IBMのプラグインは、 IBM Cloud Provider Plug-in for Terraform と呼ばれます。
IBM Cloud Provider Plug-in for Terraform の機能を使用するには、プロビジョニングしたい Terraform 設定ファイルを指すワークスペースを作成する。 プラグインは、指定されたリソースを分析し、プロビジョンする必要がある依存関係を含むこれらのリソースの順序を決定します。 Schematics ワークスペースを使用して Terraform 構成ファイルを実行する方法について詳しくは、以下の画像を参照してください。

- クラウドリソースを成文化する。 Terraform HashiCorp Configuration Language (HCL) または JSON フォーマットを使って、 IBM Cloud 環境でプロビジョニングしたいクラウドリソースを指定します。 Terraformに慣れていない場合は、 Schematics が提供するデフォルトのTerraformテンプレートのいずれかを選択して、必要なクラウドリソースをプロビジョニングできる。 ソース管理を行って、組織でコラボレーション、レビュー、監査を行えるように、Terraform
テンプレートを GitHub リポジトリー、GitLab リポジトリー、または
Bitbucket
リポジトリーに保管することができます。 使用法の情報をreadme
ファイルに保存すれば、複数のチーム間でテンプレートを共有して利用することができます。 あるいは、ローカル・マシンからテープ・アーカイブ・ファイル (.tar
) をアップロードして Schematics にテンプレートを提供することもできます。 - ワークスペースを作成します。 Schematics ワークスペースを GitHub, GitLab, または
Bitbucket
リポジトリに指定して、Terraform テンプレートを保存したり、.tar
ファイルをアップロードしてテンプレートを提供したりできます。ワークスペースは1つのIBM Cloud環境に属するリソースを整理するのに役立ちます。 例えば、ワークスペースを使用してテスト環境、ステージング環境、実稼働環境を分離できます。 IBM Cloud® Identity and Access Management を使えば、ワークスペースにアクセスできるユーザーや、クラウド・リソースに対してアクションを実行できるユーザーをコントロールすることができます - 実行プランを作成します。 Terraform は、実際の構成に基づいて実行プランを作成し、Terraform 構成ファイルに記述されている状態に到達するために実行する必要があるアクションを記述します。 Schematics は、このアクションを決定するために、IBM Cloud アカウントで既にプロビジョンされているリソースを分析して、リソースの追加、変更、または削除を行う必要があるかどうかを示すプレビューを出力します。 実行プランの検討、その変更、または単にプランの実行を行うことができます。
- リソースをプロビジョンします。 クラウド環境を変更する準備ができたら、Terraform 構成ファイルを適用することができます。 構成ファイルに指定されているアクションを実行するために、Schematics は IBM Cloud Provider Plug-in for Terraform を使用します。
Schematics アクションを使用した構成管理
Schematics アクションは、Ansible-as-a-Service 機能を提供します。これにより、IBM Cloud 環境の構成と管理を自動化し、複雑な複数階層アプリケーションをクラウド・インフラストラクチャーにデプロイすることができます。
Schematicsで構成管理を開始するには、 入門チュートリアル を参照してください。
Ansible は、 Chefや Puppetに 似た構成管理・プロビジョニングツールで、クラウド環境の構成・運用・管理を自動化し、クラウド上に多階層のアプリワークロードを展開するために設計されている。 Ansible は、YAML 構文を使用して単一のホストまたはホストのグループに対して実行する必要のあるタスクを記述し、それらのタスクを Ansible Playbook に保管します。
Ansible は、適切に機能するためにターゲット・マシンに存在する必要があるエージェントもカスタム・セキュリティー・インフラストラクチャーも使用しません。 代わりに、Ansible は SSH 鍵を使用してパブリック・ネットワークを介してコンピュート・ホストにセキュアに接続します。 リソースを必要な状態にするために、Ansible は、Ansible Playbook に記述されているタスクを実行するモジュールを管理対象ホストにプッシュします。 タスクが実行されると、結果が Ansible サーバーに返され、モジュールが管理対象ホストから削除されます。 Ansible モジュールはべき等であり、必要な場合にのみリソースが変更されるため、同じ Playbook または操作を複数回実行した場合に同じ結果が返されます。 Ansibleについて詳しくは、この ビデオをご覧ください。
Schematics で Ansible の機能を使うには、実行したい Ansible プレイブックを指す Schematics アクションを作成する。 Schematics アクションを使用して Ansible プレイブックを実行する方法について詳しくは、以下の画像を参照してください。

- Playbook にタスクを追加します: Ansible YAML 構文を使用して、クラウド・インフラストラクチャーで実行する構成タスク (ソフトウェアのインストール、仮想サーバーの開始、停止、リブートなど) を記述します。 ソース管理を行い、組織でコラボレーション、レビュー、監査を行えるように、これらのタスクを Ansible Playbook に追加し、その Playbook を GitHub リポジトリー、GitLab リポジトリー、または
Bitbucket
リポジトリーに保管します。 Ansible に慣れていない場合は、 IBM 提供されているプレイブックのいずれかを使用するか、 Ansible Galaxy ライブラリを参照することができます。 - Schematics アクションを作成します: Schematics アクションを作成するとき、アクションの参照先として Ansible Playbook を保管するリポジトリーを指すように指定します。 その後、Ansible Playbook で定義されたタスクを実行するクラウド・リソースを選択します。 クラウド・リソースを保護するための追加作業として、ターゲット・ホストへのすべての Ansible SSH 接続を中継するプロキシーとなる要塞ホストを、ターゲット・ホストの前にセットアップすることができます。
- アクションを実行する :クラウドリソースを設定する準備ができたら、アクションを実行できます。 Schematics は、組み込みの Ansible 機能を使用して、SSH 経由でターゲットホストに接続し、 Ansible プレイブックで定義されたタスクを実行します。 ログを確認することにより、進行状況をモニターすることができます。
IBM 提供のテンプレートを使用したソフトウェアのデプロイメント
IBM ソフトウェア・ソリューション・カタログを閲覧し、クラウド・リソースのセットアップや、 IBM Cloud Kubernetes Service クラスタ、 Red Hat OpenShift on IBM Cloud クラスタ、クラシックまたは Virtual Servers for VPC クラスタに IBM およびサードパーティ製ソフトウェアをインストールするために使用できる、幅広いソフトウェアおよびインフラストラクチャ・テンプレートの中から選択できます。
ソフトウェア・テンプレートは、組み込みの Terraform、Ansible、Helm、Red Hat OpenShift on IBM Cloud Operator、および Schematics のCloud Pak の各機能を使用してインストールされます。 提供されているテンプレートの 1 つをインストールする場合は、Schematics ワークスペースを作成し、インストールを実行するターゲット・サービスまたはターゲット・ホストを選択します。 テンプレートのインストールに、Schematics 内のどの統合テクノロジーが使用されるかを確認できます。
独自のソフトウェア・テンプレートとインフラストラクチャー・テンプレートを作成し、それらを IBM Cloud 内の独自のプライベート・カタログにインポートすることもできます。 詳しくは、プライベート・カタログへの製品の追加を参照してください。
Schematics でソフトウェアのデプロイメントを開始するには、入門チュートリアルを参照してください。

- テンプレートを選ぶ IBM ソフトウェア・ソリューション・カタログには、さまざまなインフラストラクチャとソフトウェアのテンプレートが用意されています。 これらのテンプレートは、IBM Cloud Pak、IBM® WebSphere Application Server for IBM Cloud®、Kibana、Grafana などのソフトウェアを任意のターゲット・サービスに素早くインストールしやすくします。
- ワークスペースとターゲットを構成します: 提供されているテンプレートの 1 つを選択する場合は、テンプレートのインストール先となるターゲットを選択する必要があります。 選択するテンプレートに応じて、ターゲットは、IBM Cloud Kubernetes Service クラスター、Red Hat OpenShift on IBM Cloud クラスター、クラシックまたは Virtual Servers for VPC のいずれかになります。 Schematics はソフトウェアのインストールに使用されるため、自動的に作成されるワークスペースを構成する必要があります。
- テンプレートを実行します: テンプレートを実行すると、Schematics は、標準装備の Terraform、Ansible、Helm、OpenShift Operator、または Cloud Pak の機能を使用して、ソフトウェアのインストールやインフラストラクチャー・リソースのスピンアップを行います。 ワークスペースを使用して、テンプレートの実行の進行状況をモニターすることができます。