Cisco Prime Service Catalog 11.0 設計者ガイド
Stack Designer を使用したアプリケーション スタックの設計
Stack Designer を使用したアプリケーション スタックの設計

Stack Designer を使用したアプリケーション スタックの設計

この章は次のトピックで構成されています。

サービスとしてのアプリケーション スタックの提供


(注)  


サービス機能としてのアプリケーション スタックは、仮想アプライアンスでのみ使用可能です。

この機能を使用して、Product as a Service(PaaS)テンプレートおよびサービスを設計することができます。 Prime Service Catalog で Stack Designer モジュールを使用して、アプリケーション スタックをテンプレートとして設計し、Service Catalog ネットショップのオーダー可能なサービスとして公開できます。

Stack Designer を使用して、アプリケーション スタック サービスは、インフラストラクチャ コンテナでアプリケーション コンポーネントを追加することで作成されます。 Stack Designer を使用したこれらのアプリケーション スタック テンプレートの作成の詳細については、「Stack Designer でのアプリケーション スタックの作成」を参照してください。 Stack Designer によってこれらのテンプレートのグラフィカル トポロジが作成され、テンプレートの表示と編集が容易になります。

ユーザがアプリケーション スタックまたはアプリケーション テンプレートをオーダーすると、オーケストレーション コンポーネントは UCSD からインフラストラクチャ コンテナをプロビジョニングし、パペットはこれらのインフラストラクチャ コンテナ内のアプリケーションをプロビジョニングします。 アプリケーション テンプレートのオーダーが完了すると、すべてのプロビジョニングされたアプリケーションは、[マイスタッフ(My Stuff)] > [アプリケーションテンプレート(Application Template)] に表示されます。

オーケストレーション サービスは Prime Service Catalog から AMQP メッセージによって新しいアプリケーション テンプレートのオーダーを受け取り、Heat オーケストレーションを使用してアプリケーション スタックをプロビジョニングします。 オーケストレーション コンポーネントは次のもので構成されます。
  • キーストーン
  • RabbitMQ サーバ
  • 組み込み Heat エンジンを搭載したオーケストレーション サービス

(注)  


Prime Service Catalog、組み込み Heat エンジンを搭載したオーケストレーション サービス、およびキーストーンは、AMQP メッセージに対し同一の RabbmitMQ サーバを共有します。
表 1 アプリケーション スタックの設計手順

手順

トピック

ステップ 1

Stack Designer で使用できる、out-of-box アプリケーションを配置するか、追加のアプリケーション コンポーネントをインポートします。

アプリケーション コンポーネントの設計および配置

ステップ 2

このアプリケーション コンポーネントを Stack Designer リソースとして表示するパラメータを定義します。 これには、Service Catalog でのオーダー時にこのコンポーネントをプロビジョニングするためのオーケストレーション タイプの定義も含まれます。

Stack Designer リソースのプロパティの定義

ステップ 3:

Stack Designer にアプリケーション コンポーネントを追加します。

Stack Designer へのリソースの追加

ステップ 4:

使用可能なコンポーネントを使用して Stack Designer でアプリケーション テンプレートを作成します。

Stack Designer でのアプリケーション テンプレートの作成

ステップ 5:

プロビジョニングの進行状況を追跡します。

アプリケーション プロビジョニング プロセスのトラッキングおよびトラブルシューティング

アプリケーション コンポーネントの設計および配置

Prime Service Catalog は、Stack Designer モジュール、組み込みのオーケストレーション サービス、および Puppet 統合を使用して、UCS Director でのアプリケーション スタックの設計とインフラストラクチャ コンポーネントのプロビジョニングをサポートしています。 SharePoint、Java EE サーバなどの out-of-box アプリケーションを使用するか、または他のアプリケーションを使用して、これらのアプリケーション スタックを作成できます。

  • アプリケーション スタックに out-of-box アプリケーションを導入する前に、「Configurations for Out-of-Box Application Content」のトピックで説明されているようにこれらのアプリケーションを設定します。


    (注)  


    一部の商用アプリケーションには購入ライセンスが必要です。


  • 追加のアプリケーション(out-of-box で提供されていないもの)を展開するには、次の手順を実行してこれらのアプリケーションを Prime Service Catalog にインストールできるようにします。

はじめる前に

Prime Service Catalog が Puppet Master に接続されていることを確認します。 この接続情報は、仮想アプライアンスのインストール中に設定されます。 Puppet Master の接続情報の設定については、『Cisco Prime Service Catalog 11.0 Virtual Appliance Quick Start Guide』を参照してください。


    ステップ 1   puppet forge Web サイトにアクセスして、アプリケーションの既存のモジュールがあれば検索するか、または独自のモジュールを使用します。
    ステップ 2   root ユーザとして、SSH を使用して Puppet Master サーバに接続し、アプリケーション用の Puppet モジュールまたは独自のモジュールをインストールします。 次のコマンドを入力して、Puppet Master にアプリケーションをインストールします。
    [root@puma-qe-pupm ~]# puppet module install garethr-docker
    ステップ 3   インストールされたモジュールが Puppet Master で使用できることを確認します。 確認するには、次のコマンドを入力します。 [root@puma-qe-pupm ~]# puppet module list

    次に示すものと同様の出力が Puppet Master に表示されます。

    [root@puma-qe-pupm ~]# puppet module list
    /etc/puppet/modules
    ├── adrien-alternatives (v0.3.0)
    ├── arioch-keepalived (v1.0.3)
    ├── badgerious-windows_env (v2.2.0)
    ├── biemond-oradb (v1.0.23)
    ├── blentz-selinux_types (v0.1.0)
    ├── cisco_enc (???)
    ├── cpo (v0.5.0)
    ├── custommysql (???)
    ├── cyberious-pget (v1.0.0)
    ├── cyberious-windows_java (v0.3.0)
    ├── duritong-sysctl (v0.0.4)
    ├── example42-firewall (v2.1.3)
    ├── example42-iptables (v2.1.3)
    ├── example42-java (v2.0.4)
    ├── example42-jboss (v2.0.10)
    ├── example42-monitor (v2.0.1)
    ├── example42-puppi (v2.1.10)
    ├── example42-tomcat (v2.1.6)
    ├── garethr-docker (v2.0.0)
    ├── garethr-erlang (v0.3.0)
    ├── gini-archive (v0.2.1)
    ├── hajee-backport (v0.0.3)
    ├── hajee-easy_type (v0.15.1)
    ├── hajee-hacks (v0.0.2)
    ├── hajee-ora_rac (v0.6.3)
    ├── hajee-oracle (v1.2.0)
    ├── jriviere-windows_ad (v0.2.0)
    ├── jriviere-windows_isos (v0.0.4)
    ├── jriviere-windows_sharepoint (v0.0.5)
    ├── jriviere-windows_sql (v0.0.8)
    ├── liamjbennett-dotnet (v1.0.0)
    ├── liamjbennett-win_facts (v0.0.2)
    ├── maestrodev-ant (v1.0.5)
    ├── maestrodev-wget (v1.5.6)
    ├── mhuffnagle-curl (v0.0.2)
    ├── msutter-dsc (v0.1.1)
    ├── nanliu-staging (v1.0.2)
    ├── openshift-openshift_origin (v4.1.1)
    ├── opentable-download_file (v1.1.0)  invalid
    ├── opentable-iis (v1.2.0)
    ├── opentable-iis_rewrite (v1.0.0)
    ├── opentable-nsclient (v1.3.0)
    ├── opentable-windowsfeature (v1.0.0)
    ├── orarac (v0.5.0)
    ├── puma-mssp (v0.5.0)
    ├── puma-mssql (v0.5.0)
    ├── puppetlabs-apache (v1.2.0)
    ├── puppetlabs-apt (v1.7.0)
    ├── puppetlabs-concat (v1.1.1)
    ├── puppetlabs-dism (v1.0.0)
    ├── puppetlabs-haproxy (v1.1.0)
    ├── puppetlabs-inifile (v1.2.0)
    ├── puppetlabs-mongodb (v0.8.0)
    ├── puppetlabs-mysql (v2.3.1)
    ├── puppetlabs-ntp (v3.3.0)
    ├── puppetlabs-passenger (v0.3.0)
    ├── puppetlabs-postgresql (v4.1.0)
    ├── puppetlabs-powershell (v1.0.3)
    ├── puppetlabs-puppetdb (v4.1.0)
    ├── puppetlabs-rabbitmq (v4.1.0)
    ├── puppetlabs-ruby (v0.4.0)
    ├── puppetlabs-stdlib (v4.3.2)
    ├── puppetlabs-xinetd (v1.4.0)
    ├── razorsedge-snmp (v3.2.0)
    ├── rharrison-lokkit (v0.5.0)
    ├── ripienaar-module_data (v0.0.3)
    ├── root-profile (v0.1.0)
    ├── root-role (v0.1.0)
    ├── spantree-thrift (v1.0.1)
    ├── stahnma-epel (v1.0.0)
    ├── stephenrjohnson-puppet (v1.3.1)
    ├── willdurand-nodejs (v1.8.3)
    └── yelp-netstdlib (v0.0.1)
    /usr/share/puppet/modules (no modules installed)
    [root@puma-qe-pupm ~]#
    
    ステップ 4   (任意)ロールおよびプロファイルを作成します。
    (注)     

    init.pp によって提供されるものの外側でインストール、インスタンス化および設定が必要な場合は、この手順を実行します。 また、ノードに複数のアプリケーションがインストールされている場合は、ロールとプロファイルが必要です。 クラスを直接呼び出すことによってアプリケーションをインストールおよび設定できる場合は、ロールとプロファイルを作成しないでください。

    1. ディレクトリ /etc/puppet/modules/root-profile/manifests 下でアプリケーション用の profile.pp ファイルを作成します。このディレクトリでは、ユーザ固有のパラメータが Puppet Master 上のモジュールのクラスに渡されます。
      [root@puma-qe-pupm ~]# cd /etc/puppet/modules/root-profile/manifests/
      [root@puma-qe-pupm manifests]#
       [root@puma-qe-pupm manifests]# cat profiledocker.pp
      class root-profile::profiledocker (
              $proxy = undef,
              $no_proxy = undef,
              $username = "root",
              $hostname = "localhost.localdomain",
              $dns1 = "8.8.8.8",
              $dns2 = "8.8.4.4") {
      
      anchor {'root-profile::profiledocker::begin':} ->
      
          class { 'docker':
              proxy => $proxy,
              no_proxy => $no_proxy,
          } ->
      
          docker::image {'centos':} ->
      
          docker::run { 'dockertest':
              image           => 'centos',
              command         => '/bin/sh -c "while true; do echo Docker Test; sleep 1; done"',
              ports           => ['4444', '4555'],
              expose          => ['4666', '4777'],
              use_name        => true,
              volumes         =>  '/var/log',
              memory_limit    => 10m,
              username        => $username,
              hostname        => $hostname,
              dns             => [$dns1,$dns2],
              restart_service => true,
              privileged      => false,
           } ->
      
      anchor {'root-profile::profiledocker::end':}
      
      }
      [root@puma-qe-pupm manifests]#
      
    2. role.pp ファイルを /etc/puppet/modules/root-role/manifests 下に作成し、プロファイルにパラメータを渡します。
      [root@puma-qe-pupm modules]# cd /etc/puppet/modules/root-role/manifests/ 
      [root@puma-qe-pupm manifests]# cat roledocker.pp
      class root-role::roledocker (
              $my_proxy = undef,
              $my_no_proxy = undef,
              $username = "root",
              $hostname = "localhost.localdomain",
              $dns1 = "8.8.8.8",
              $dns2 = "8.8.4.4") {
        if $my_proxy == "null" {
              $proxy = undef
        }
        else {
              $proxy = $my_proxy
        }
      
        if $my_no_proxy == "null" {
              $no_proxy = undef
        }
        else {
              $no_proxy = $my_no_proxy
        }
      
        class {"root-profile::profiledocker":
            proxy => $proxy,
            no_proxy => $no_proxy,
            username => $username,
            hostname => $hostname,
            dns1 => $dns1,
            dns2 => $dns2,
        }
      }
      
    このアプリケーションのインストール ファイルが共有の Samba サーバに配置される場合は、共有ファイル サーバの場所を入力パラメータ($net_iso_path)として提供し、Samba 共有をマウントするディレクトリ /mnt/apps を作成します。 次に、部分的な設定の例を示します。入力パラメータ($net_iso_path)はアプリケーション ロールからアプリケーション プロファイルに渡されます。ここで、ディレクトリ /mnt/apps を作成し、samba 共有をマウントし、モジュールのパラメータ $puppetDownloadMntPoint をマウント済みのディレクトリ /mnt/apps に割り当てます。
    [root@puma-qe-pupm manifests]# cat roleoracledb.pp
    class root-role::roleoracledb (
            $version = "12.1.0.2",
            $file = undef,
            $net_iso_path = undef,
    
    
    [root@puma-qe-pupm manifests]# cat profileoracledb.pp
     anchor {'root-profile::profileoracledb::begin':} ->
    
        file {['/mnt','/mnt/apps']:
          ensure => directory
        } ->
    
        mount {'/mnt/apps':
          device => $net_iso_path,
          fstype => 'cifs',
          options => "username=$username,password=$password",
          remounts => false,
          atboot => false,
          ensure => mounted,
        } ->
    
        oradb::installdb{ 'database':
          version                => $version,
          file                   => $file,
          databaseType           => 'EE',
          eeOptionsSelection     => true,
          eeOptionalComponents   => $ee_op_comp,
          oracleBase             => $oracle_base,
          oracleHome             => $oracle_home,
          createUser             => true,
          bashProfile            => true,
          user                   => $oracle_user,
          group                  => $oracle_group,
          group_install          => $group_install,
          group_oper             => $group_oper,
          downloadDir            => $download_dir,
          zipExtract             => true,
          puppetDownloadMntPoint => "/mnt/apps",
    
    ステップ 5   SSH を使用して Service Catalog のオーケストレーション サーバに接続し、次に示すようにディレクトリ /var/www/html/hot_templates でアプリケーション用の Heat オーケストレーション テンプレートを作成します。 Heat テンプレートでは、入力が Prime Service Catalog サービスのものと同じであることを確認します。 テンプレートの設定セクションで、アプリケーション ロール パラメータを Prime Service Catalog 上のこのアプリケーションに対する入力とマップします。
    [root@puma-qe-ibis03 ~]# cd /var/www/html/hot_templates
    [root@puma-qe-ibis03 hot_templates]# cat docker_linux.template
    {
        "heat_template_version": "2013-05-23",
        "description": "Template to provision Docker for Linux",
        "resources":{
            "server_config" : {
                "type": "OS::Heat::StructuredConfig",
                "properties" : {
                    "inputs":  [
                        { "name": "DockerProxy"  },
                        { "name": "DockerNoProxy"  },
                        { "name": "DockerUsername"  },
                        { "name": "DockerHostname"  },
                        { "name": "DockerDNS1" },
                        { "name": "DockerDNS2"  }
                    ],
                    "config": {
                               "classes": {
                                  "root-role::roledocker":{
                                       "my_proxy":{"get_input":"DockerProxy"},
                                       "my_no_proxy":{"get_input":"DockerNoProxy"},
                                       "username": {"get_input": "DockerUsername"},
                                       "hostname": {"get_input": "DockerHostname"},
                                       "dns1": {"get_input": "DockerDNS1"},
                                       "dns2": {"get_input": "DockerDNS2"}
                                       }
                               }
    
                    }
    
                }
            }
    
        },
    
        "outputs":{
            "config_id":{
                "description": "Config ID will be required by Deployment Resource.",
                "value":{
                    "get_resource": "server_config"
    
                }
            }
    
        }
    }
    [root@puma-qe-ibis03 hot_templates]#
    
    ステップ 6   Prime Service Catalog が展開されているサーバで、img-apps フォルダにソフトウェアのアイコンを追加し、ブラウザで Prime Service Catalog を起動してログインします。
    ステップ 7   Service Item Manager モジュールで、インストールしたアプリケーションのプロパティを定義し、Stack Designer リソースとしてフラグ設定します。 詳細については、「Stack Designer リソースのプロパティの定義」を参照してください。
    ステップ 8   Stack Designer モジュールで、新しいアプリケーションを UCS Director のターゲット タイプに追加します。 UCS Director のターゲット タイプへの追加については、「Stack Designer へのリソースの追加」を参照してください。 アプリケーションがアプリケーション スタックの設計で使用できるようになりました。

    次の作業

    アプリケーション スタックを作成し、サービスとしてこれらのスタックを公開します。「Stack Designer でのアプリケーション スタックの作成」を参照してください。

    Stack Designer リソースのプロパティの定義

    Stack Designer で Product as a Service(PaaS)のテンプレートおよびサービスを設計するために使用できるアプリケーション コンポーネントのパラメータを定義するには、この手順を使用します。 Service Item Manager でコンポーネントが Stack Designer リソースとしてフラグ設定されている場合は、ここで設定するプロパティとともに Stack Designer で使用できます。


      ステップ 1   このサービス項目がオーダーされたときに、さまざまな属性がサービス フォームのエンド ユーザにどのように表示されるかを定義します。
      1. [Service Item Manager] > [サービス項目の設計(Design Service Items)] で、左側のサービス項目グループを展開し、サービス項目タイプを選択します。
      2. [Stack Designerリソースです(Is Stack Designer Resource)] チェック ボックスをオンにして、Stack Designer リソースとしてこのサービス項目をフラグ設定し、[保存(Save)] をクリックします。
      3. [Stack Designerリソース(Stack Designer Resource)] > [リソースプロパティ(Resource Properties)] で、属性を選択し、表示可能、必須、読み取り専用などのマークを設定します。 また、属性に対する追加のプロパティを指定します(たとえば、検証が失敗したときのエラー メッセージなど)。
      4. [保存] をクリックします。
      ステップ 2   このサービス項目またはコンポーネントをプロビジョニングするためのオーケストレーション タイプを定義し、CSS スタイリングなどのコンポーネントの動作を定義します。
      1. [Stack Designerリソース(Stack Designer Resource)] > [リソースプロパティ(Resource Properties)] > [ルール(Rules)] > [全般(General)] タブで、以下を指定します。
        1. [イメージURL(Image URL)]:要件に応じて、次のいずれかを指定します。
          • Prime Service Catalog が展開されているサーバに配置されたコンポーネント アイコンの URL。
          • (スタンドアロン インストール)/ServiceCatalogServer/deployments/RequestCenter.war/modules/stackdesigner/img/stack-canvas/ への相対パス
          • (仮想アプライアンス)/opt/cisco/psc/jboss-as-.1.1.Final/ServiceCatalogServer/deployments/RequestCenter.war/modules/stackdesigner/img/stack-canvas/ への絶対パス
        2. [オーケストレーションのタイプ(Type of Orchestration)]:ユーザがアプリケーション スタックをオーダーすると、ここで選択したオーケストレーション タイプに基づいてスタック サービスがプロビジョニングされます。 次のオーケストレーション タイプから 1 つ選択します。
          • [標準サービス(Standard Service)]:サービス項目を大規模なアプリケーション スタックの一部として再帰的に作成、更新、または削除できるように、Stack Designer のリソース タイプとして Service Catalog 内でサービス項目を使用します。 標準サービスのオーケストレーション タイプを設定する方法の詳細については、「Stack Designer への標準/​再帰サービスの設定」を参照してください。

          • [VIX展開(VIX Deployment)]:UCSD API 経由で VMware VIX スクリプトを実行し、アプリケーションを展開します。

          • [パペット(Puppet)]:UCSD からアプリケーションを VM およびインフラストラクチャ コンテナにプロビジョニングするためにパペットを使用します。

          • [なし(None)]:他のオーケストレーション タイプが指定されていない場合はデフォルトで選択されています。

      2. [ルール(Rules)] タブ下の他のタブを使用して、コンポーネントの CSS スタイリングなどの、コンポーネントの動作を定義します。

      次の作業

      Stack Designer リソースを Stack Designer コンポーネント リストに追加します。 詳細については、「Stack Designer へのリソースの追加」を参照してください。

      Stack Designer への標準/再帰サービスの設定

      再帰サービスには、多くのアプリケーション スタックの一部として再帰的に作成、更新、または削除できるサービス項目が含まれます。 これらのサービス項目は、Stack Designer でリソース タイプと呼ばれます。


        ステップ 1   再帰サービスに対するサービス項目グループを作成します。 作成および設定の手順については、「サービス項目グループの作成」の項を参照してください。
        ステップ 2   再帰サービスへの新しいサービス項目を作成し、新しく作成したグループに関連付けます。 手順については、「サービス項目の作成」の項を参照してください。
        ステップ 3   再帰サービスとしてサービス項目を設定します。 [Service Item Manager] > [サービス項目の設計(Design Service Items)] > [サービス項目定義(Service Item Definition)] タブで、次の手順を実行します。
        1. Stack Designer コンポーネント リストに表示されるように、サービス項目を Stack Designer リソースとしてフラグ設定します。 [Stack Designerリソースです(Is Stack Designer Resource)] チェック ボックスをオンにして、属性と定義を保存します。
        2. [Stack Designerリソース(Stack Designer Resource)] タブで、次の設定を行います。
          • [リソースプロパティ(Resource Properties)] サブ タブで、サービス項目属性を選択し、選択した属性の追加プロパティを選択します。 これらの追加の設定に基づいて、サービス項目属性は [マイスタッフ(My Stuff)] でプロビジョニングされたアプリケーション スタックのこのコンポーネント用に表示されます。 たとえば、属性 Name の場合、入力タイプはテキストが選択されます。

            (注)     

            サービス項目属性値は、[マイスタッフ(My Stuff)] にクリア テキストで表示されます。 属性のいずれかがパスワードまたは機密データの場合は、[MyStuffにアクセス可能(Accessible in MyStuff)] オプションを必ずオフにしてください。

          • [ルール(Rules)] サブ タブで、再帰サービス コンポーネントに対して次の設定を行います。
            • [全般(General)] サブ タブで、[標準サービス(Standard Service)] として [オーケストレーション(Orchestration)] を選択し、Stack Designer コンポーネント リストにこのアプリケーション コンポーネント用に表示されるイメージをアップロードし、[保存(Save)] をクリックします。

            • [設定(Configuration)] サブ タブ > [ターゲット(Target)] 領域で、[+追加(+Add)] をクリックし、ドロップダウンからターゲット コンポーネントを 1 つ選択し、[保存(Save)] をクリックします。 ここで選択されたターゲット コンポーネントに基づいて、再帰サービス項目を Stack Designer でターゲット コンポーネントのみに追加できます。 たとえば、「Performance Monitor」が再帰サービス項目の場合、UCSD テンプレート VM がターゲット コンポーネントとなり、Performance Monitor は Stack Designer で UCSD テンプレート VM コンポーネントのみに追加できます。

              ターゲット コンポーネントを追加した後で、それらのターゲット コンポーネントの抑制にもこれらの再帰サービス項目を追加してください。 上記の例の場合は、UCSD テンプレート VM の [ルール(Rules)] タブに移動し、[抑制(Containment)] サブ タブで再帰サービス「Performance Monitor」を追加します。

        ステップ 4   再帰サービス項目にサービスを追加します。 [Service Item Manager] > [サービス項目の設計(Design Service Items)] > [関連付けられたサービス(Associated Services)] タブで、[サービスの追加(Add Services)] オプションを使用します。 既存のサービスをこの再帰サービスに関連付けたり、新しいサービスを作成できます。 この関連付けられているサービスは、この再帰サービス項目へのユーザ定義の操作にすることができます。 たとえば、再帰サービス項目 Performance Monitor の場合、関連付けられているサービスは「Start Performance Monitor」や「Stop Performance Monitor」にすることができます。 関連付けられたサービスをユーザ定義の操作に設定するには、「再帰サービスに対する関連付けられたサービスの設定」を参照してください。
        (注)     

        [サービス項目定義(Service Item Definition)] タブの他のすべてのフィールドについては、「サービス項目の設定」の項に記載されています。


        次の作業

        Stack Designer モジュールにリソースを追加します

        再帰サービスに対する関連付けられたサービスの設定

        はじめる前に
        • 再帰サービスに対するサービス項目グループを作成します。 サービス項目グループの作成の詳細については、「サービス項目グループの作成」の項を参照してください。

        • 再帰サービスへの新しいサービス項目を追加し、グループに関連付けます。 サービス項目をグループに関連付ける詳細については、「サービス項目の作成」の項を参照してください。


          ステップ 1   Service Designer で、次の手順を実行します。
          1. ディクショナリ グループを作成して、再帰サービスへの新しいサービス項目ベースのディクショナリを作成し、変更内容を保存します。 このタイプのディクショナリの作成の詳細については、「サービス項目ベースのディクショナリ」を参照してください。 サービス項目を選択する際は、作成した再帰サービス項目を選択します。
          2. 新しいアクティブ フォーム コンポーネントを作成し、サービス項目ベースのディクショナリをこのフォームに追加します。 アクティブ フォーム コンポーネントの作成の詳細については、「アクティブ フォームの設定」を参照してください。
          3. 新しいサービス グループ(例:Standard Service)を作成し、新しいサービス(例:Start Performance Monitor)をこのグループに追加します。 この新しいサービスに次の設定を行います。
          • [フォーム(Forms)] タブで、上記で作成したアクティブ フォームを新たに作成したサービスに追加します。
          • [計画(Plan)] タブで、サービス項目タスクを作成します。 省略記号(…)をクリックし、操作をディクショナリの基となるサービス項目に関連付けます。たとえば、「作成」操作を「Create_Performance_Monitor」サービス項目ベースのディクショナリに関連付けます。
          ステップ 2   Service Item Manager で、作成/更新/削除操作をサービス項目タイプの関連付けられたサービスに割り当てます。 次の手順を実行します。
          1. [サービス項目の設計(Design Service Items)] タブで、左側のペインに表示されているサービス項目のリストから再帰サービス項目を選択します。
          2. [関連付けられたサービス(Associated Services)] タブで、ステップ 1 で作成したサービスを追加します。 そのサービスを追加するには、[サービスの追加(Add Services)] をクリックしてこのサービスを検索し、[追加(Add)] をクリックします。
            (注)      ドロップダウンからサービス タイプが [関連付けられました(Associated)] として選択されていることを確認します。
          3. [操作(Operations)] タブをクリックし、[+追加(+ Add)] オプションをクリックして新しい操作を追加します。 この操作を [関連付けられたサービス(Associated Services)] ドロップダウンからサービスにマップし、[保存(Save)] をクリックます。
          同様に、削除または更新サービス項目でタスクを呼び出す他の作成/更新/削除サービスを作成し、それらを削除または更新操作に関連付けます。

          次の作業

          リソースを Stack Designer コンポーネント リストに追加します。 「Stack Designer へのリソースの追加」を参照してください。

          Stack Designer へのリソースの追加

          Stack Designer パレットで使用できるリソース タイプを定義するには、次の手順を使用します。 アプリケーション スタック サービスは、Service Item Manager モジュールで設定されたこれらのリソース タイプのオーケストレーション タイプに基づいてプロビジョニングされます。


            ステップ 1   Stack Designer モジュールで、[ターゲットタイプ(Target Types)] タブをクリックし、ターゲット タイプ(たとえば UCS Director)を選択します。

            [ターゲットタイプ(Target Type)] を使用して、インフラストラクチャ テンプレートまたはアプリケーション テンプレートのスタック コンポーネントを新しい環境にエクスポートできます。 [ターゲットタイプ(Target Type)] は、Catalog Deployer のカスタム パッケージにデフォルトで表示されます。

            ステップ 2   新しいリソース タイプの次の情報を入力するには、[+] アイコンをクリックします。
            • [データ型名(Data Type Name)]:選択したターゲット タイプに対し新しいデータ型を選択します。 対象のサービス項目名の 1 つ以上の文字を入力するか、または「*」を入力して Service Item Manager モジュールで Stack Designer リソースとしてマークされているすべてのサービス項目を検索します。
            • [カテゴリ(Category)]:このリソース タイプに関連付けるカテゴリの名前の 1 つ以上の文字を入力します。
            • [アイコン(Icon)]:使用可能なアイコンのリストから選択します。
            ステップ 3   [保存(Save)] をクリックします。 新しく作成されたリソース タイプが Stack Designer コンポーネント リストに表示されます。

            次の作業

            アプリケーション テンプレートを作成し、ソフトウェアの使用可能なリストからソフトウェアを追加します。 詳細については、「Stack Designer でのアプリケーション スタックの作成」を参照してください。

            Stack Designer でのアプリケーション スタックの作成

            Stack Designer を使用してアプリケーション テンプレートを作成し、Service Catalog のネットショップとしてサービスを公開するには、この手順を使用します。

            はじめる前に
            • UCS Director のデータが Stack Designer で使用できるようにするために、Prime Service Catalog の UCS Director に接続します。 UCS Director に接続する手順については、『Cisco Prime Service Catalog 11.0 Administrator Guide』を参照してください。

            • リモート サーバ上で動作するオーケストレーション コンポーネントと Puppet Master または UCS Director との間の通信に必要な SSH と CA ルート証明書が使用可能であることを確認します。


              ステップ 1   アプリケーション スタック テンプレートを作成します。 次の手順を実行します。
              1. Stack Designer モジュールで、[アプリケーションテンプレート(Application Templates)] タブを選択し、[+] アイコンをクリックして新しいアプリケーション テンプレートを作成します。
              2. [アプリケーションテンプレートの作成(Create an Application Templates)] ページで、この新しいテンプレートに関するアプリケーション テンプレートの情報を指定して、カルーセルからインフラストラクチャ テンプレートを選択します。 空のアプリケーション スタックがキャンバス ページに開くので、ここでパラメータを設定し、さまざまなコンポーネントを追加できます。 たとえば、ソフトウェアをアプリケーション スタックの Web サーバ層に追加し、アプリケーション スタックの DB 層にデータベース コンポーネントを追加します。
                (注)     

                アプリケーション スタックの階層に追加できるコンポーネントは、このサービス項目に許可されるターゲット コンポーネントの抑制のタイプによって決まります。 サービス項目のターゲット コンポーネントは、[Service Item Manager] > [サービス項目の設計(Design Service Items)] > [サービス項目定義(Service Item Definition)] > [Stack Designerリソース(Stack Designer Resource)] > [ルール(Rules)] > [設定(Configuration)] サブ タブで定義されます。

              3. キャンバス ページで、[パラメータの編集(Edit Parameters)] > [パラメータの作成(Create a Parameter)] をクリックし、このアプリケーション テンプレートのローカル、グローバル、および出力パラメータを追加します。 エンド ユーザがアプリケーション テンプレートをオーダーした場合にエンド ユーザにプロンプト表示する必要がある入力は、ここでパラメータとして定義する必要があります。 既存のパラメータを使用することもできます。 既存のパラメータを検索するには、[パラメータの編集(Edit Parameters)] ダイアログボックスで [検索(Search)] をクリックします。

                あるプロビジョニングされたリソース(たとえば、VM やアプリケーションなど)の属性を参照する出力パラメータの値を指定します。 サービスが生成されると、出力パラメータはサービス項目タイプの属性として作成されます。 オーケストレーション コンポーネントがアプリケーション テンプレートのプロビジョニングを完了すると、対応するサービス項目属性が解決された値に更新されます。 Service Catalog モジュール > [マイスタッフ(My Stuff)] で更新された属性を確認できます。 次に例を示します。

                http://+GetAttr(container, UCSDContainer, VirtualMachines, DbServer1, HostName)+:8080

                上記の例では、「http://」と「:8080」はリテラル文字列です。 これらは共に、UCSD コンテナの HostName 属性と連結します。

                GetAttr(container, UCSDContainer, VirtualMachines, DbServer1, HostName) で、コンテナは Heat テンプレートで定義されたリソースです。 UCSDContainer は属性であり、サブキー DbServer1 があるサブキー VirtualMachines などが含まれます。

              4. キャンバス ページで、コンポーネントに移動し、[ソフトウェアの追加(+ Add Software)] をクリックします。

                そのコンポーネントに関連付けられているソフトウェア カテゴリのリストが表示されます。 コンポーネントに対し表示されるこれらのソフトウェアは、Service Item Manager モジュールでこれらのコンポーネントに対し選択されたサービス項目に基づいています。

              5. 新しいアプリケーションに必要なパラメータを入力し、[保存(Save)] をクリックしてそのインフラストラクチャ コンポーネントに新しいアプリケーションを追加します。

                ソフトウェアをコンポーネントに追加したら、そのコンポーネントのプロパティを表示したり、必要に応じてソフトウェアを削除することもできます。

              6. キャンバスで [保存(Save)] アイコンをクリックし、アプリケーション テンプレートの変更を保存します。
              ステップ 2   オーダー用のサービスを生成します。
              1. キャンバスで、[サービスの作成(Build Service)] をクリックします。
              2. [サービスの作成(Build Service)] ダイアログボックスで、アプリケーション スタックでライフサイクル管理アクションから特定のアプリケーション コンポーネント(シャットダウンなど)を除外する選択肢などが与えられます。 続行し、[サービスの作成(Build Service)] をクリックします。

                サービスが作成されますが、Service Catalog のネットショップで公開するには、次の手順を実行します。

              ステップ 3   Service Catalog のネットショップで、サービスを公開します。 次の手順を実行します。
              1. [全般(General)] タブで、このサービスのサービス名、説明、およびカテゴリを提供します。
                (注)      ここで選択したカテゴリに基づいて、この新サービスは、Service Catalog モジュールでそのカテゴリの下に表示されます。
              2. [プレゼンテーション(Presentation)] タブを選択し、このサービスに対するアイコンを貼り付けます。
                (注)      また、イメージを貼り付けるための URL の参照を提供できます。 URL を使用して、イメージを個別に管理したり、より速く WAN 展開用にイメージ配信を行うためにイメージをコンテンツ配信ネットワーク(CDN)でホストできます。
              3. [ファセット(Facets)] タブを選択します。
              4. [権限(Permissions)] タブを選択し、権限を割り当てるか削除するロールを選択します。
              変更を保存すると、新しいサービスがサービスに割り当てられたカテゴリに基づいて Service Catalog モジュールに表示されます。

              アプリケーション テンプレートのソフトウェアを追加または編集する場合は、作成したアプリケーション テンプレート上にカーソルを合わせ、[詳細の表示(View Details)] をクリックします。 キャンバスでテンプレートが開きます。 必要に応じて変更を加え、[サービスの編集(Edit Service)] をクリックします。

              アプリケーション プロビジョニング プロセスのトラッキングおよびトラブルシューティング

              アプリケーション テンプレートをオーダーすると、オーケストレーション コンポーネントによって、[マイスタッフ(My Stuff)] 下の [コメントと履歴(Comments and History)] でテンプレートのプロビジョニングの進行状況を追跡するためのオプションが提供されます。

              Prime Service Catalog の実行時に(組み込みの)クラウド オーケストレーション サービスが再起動すると、Prime Service Catalog に再接続され、AMQP 交換を検出し、AMQP メッセージのモニタリングを再開します。

              一方で、クラウド オーケストレーション サービスの実行時に Prime Service Catalog が再起動すると、クラウド オーケストレーション サービスは実行の再開時に Prime Service Catalog に再接続します。

              (アプリケーション テンプレートの)オーダーが送信されると、クラウド オーケストレーション エンジン(Heat エンジン)のステータスがエンジンがアプリケーション テンプレートのプロビジョニングを開始する前に確認されます。

              クラウド オーケストレーション エンジンまたはクラウド オーケストレーション エンジン API サービスがダウンした場合、クラウド オーケストレーション サービスは Prime Service Catalog の要求をキャンセルし、次のように [コメント(Comments)] にその要求に関する記録を付けます:Heat Engine service is down. Details: <More information on the service status>

              (注)  


              クラウド オーケストレーション エンジンには耐障害性がありません。インフラストラクチャ テンプレートがプロビジョニングされているときにダウンすると、そのプロビジョニングは停止し、エンジンが後で再起動しても復旧できません。


              クラウド オーケストレーション エンジンとオーケストレーション サービスの再起動

              Shelladmin メニューからルートへのアクセスを有効にし、ルートとしてログイン(Shelladmin メニュー オプションを使用)し、次のコマンドを実行してログ ファイルなどを表示します。 (または、[サービスステータスの表示(Display Service Status)] オプションを使用して、次のサービスを含むすべてのサービスのステータスを表示できます。)
              sudo service openstack-keystone restart
              sudo service openstack-heat-api restart
              sudo service openstack-heat-api-cfn restart
              sudo service openstack-heat-engine restart
              sudo service amqp-service restart
              sudo service psc-orchestration restart 
              

              ログ ファイル

              [管理(Administration)] > [ユーティリティ(Utilities)] > [ログとプロパティ(Logs and Properties)] 下で、[Request Center-ログファイル(Request Center - Log Files)] を選択して、オーケストレーション サービスおよび Heat エンジンのログを確認できます。
              • オーケストレーション ログは /var/log/cisco/psc/psc-orchestration.log にあります

              • クラウド オーケストレーション(Heat)エンジンのログは /var/log/heat/engine.log にあります