タグは強力なメタデータであり、リソースに関連付け、テンプレートに含めることができます。タグは、ワークロード配置やリソースへのラベル付けなど、管理の多様なシナリオで使用できます。
タグの簡単な概要
このセクションでは、タグが各種の手順に適用される状況に沿って、タグの簡単な概要を示します。タグの詳細については、Cloud Assembly のリソースと展開を管理するためにタグを使用する方法を参照してください。
- 機能タグと制約タグ
タグを使用すると、リソースの機能に基づいて展開を制御できます。たとえば、クラウド管理者は、繰り返し開発されるクラウド テンプレートを開発固有のリソース プールに展開し、本番向けテンプレートを別のリソース プールに展開することが必要になります。
- 機能タグはリソースに追加されて、その機能を定義します。
- 制約タグはクラウド テンプレートで使用されて、展開されたリソースが使用するリソースを定義します。
- ラベル タグ
リソースを管理するためには、タグをオブジェクト ラベルまたは説明として追加します。管理のための用途としては、リソースの検索結果の向上、類似オブジェクトどうしの区別、カスタム情報によるオブジェクトへのコメントの追加、サードパーティ システムへの情報の提供、セキュリティ グループ メンバーシップ基準の作成、リンクされた Software-Defined Data Center (SDDC) ドメイン間での一貫性の確保などがあります。
開始する前に
- チュートリアル:Cloud Assembly での vSphere インフラストラクチャおよび展開のセットアップとテスト で定義されているリソースとクラウド テンプレートを確認します。このチュートリアルで使用されるサンプル値は、ここで使用されます。
タグを使用したワークロード配置の管理
この単純な例では、開発環境と本番環境のタグを使用して、機能タグと制約タグの使用方法を示します。まず、vCenter Server リソース プールのコンピューティング リソースに機能タグを追加し、その後、クラウド テンプレートにそのタグを含めます。クラウド テンプレートの例では、入力を使用して、テンプレートを開発リソース プールと本番リソース プールのどちらに展開するかを、展開を実行するユーザーが選択できるようにする方法を示します。
同じタグを使用してマルチクラウド環境での配置を定義する方法の例については、チュートリアル:Cloud Assembly でのマルチクラウド インフラストラクチャおよび展開のセットアップとテストを参照してください。
- 機能タグをリソース プールに追加します。
- の順に選択します。
- クラウド ゾーンを開き、[コンピューティング] をクリックします。
- 開発ワークロードの展開先とするリソース プールをクリックします。
このチュートリアルでは、次のサンプル値を使用します。これらの値は単なる例であることに注意してください。値は環境によって異なります。
サンプルのリソース プール サンプル タグ wid01-clu01 / Development env:dev
wid01-clu01 / Production env:prod
- タグ env.dev を追加し、[保存] をクリックします。
- 本番ワークロードを展開するリソース プールに対してプロセスを繰り返して、env:prod タグを追加します。
- 機能タグがクラウド ゾーンのリソース プールに追加されたことを確認します。
- を選択します。
- プロジェクトに関連付けられているクラウド ゾーンを開き、[コンピューティング] をクリックします。
この例では、クラウド ゾーンは vCenter Server アカウントのクラウド ゾーンであり、タグは wid01-clu01/ Development と wid01-clu01 / Production の 2 つのリソース プールに追加されています。
- クラウド テンプレートに制約タグを追加します。
制約タグは、テンプレートが展開される場所を制限するために使用されます。
このチュートリアルでは、テンプレート名は Development Template です。
の順に選択し、テンプレートを開きます。 - [コード] ペインで、テンプレートの YAML を確認します。
この YAML が、このチュートリアルの開始点です。
formatVersion: 1 inputs: {} resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: medium networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing
${input.placement}
を変数として使用して、制約タグを Cloud_vSphere_Machine_1 リソースに追加します。resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: medium constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}'
- [入力] セクションで配置変数を定義します。
inputs: placement: type: string enum: - env:dev - env:prod default: env:dev title: Select Placement for Deployment description: Target Environment
- 最終的に、YAML が次の例のようになっていることを確認します。
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing
- 使用可能なリソースに対してタグ変数を試す場合は、[テスト] をクリックしてから env:dev を選択します。
env:prod を使用してテストを繰り返します。テストが両方とも成功したら、テンプレートを展開して機能することを確認します。
- テンプレートを展開して、ワークロード配置をテストします。
- クラウド テンプレート デザイナで、[展開] をクリックします。
- [展開名] として Deployment Tag Dev と入力し、[次へ] をクリックします。
- [展開の配置の選択] ドロップダウン メニューで env:dev を選択し、[展開] をクリックします。
- 選択されたリソース プールに、テンプレートによってリソースが展開されたことを確認します。
- の順に選択し、Deployment Tag Dev 展開を見つけます。
- 展開の詳細を開き、[トポロジ] をクリックします。
- vSphere マシンをクリックし、右側のペインでマシン情報を展開します。
- [一般] セクションの [コンピューティング ホスト] の値が、env:dev タグと一致するリソース プールを示していることを確認します。
この例の値
wid01-clu01 / Development
は、選択された制約タグに基づいてワークロードが正しいリソース プールに展開されたことを示しています。 - 展開プロセスを繰り返します。今回は env:prod を選択します。
vCenter Server および NSX-T で使用できるラベルとしてのタグの追加
タグを展開に追加して、リソースの管理に使用できます。
この例では、MySQL マシンとネットワークを識別するためのタグを追加します。また、Web ネットワークを識別するタグも追加します。既存のネットワークでのタグの動作はオンデマンド ネットワークでの動作と異なるため、2 つの選択肢があります。
- 前のセクションで使用した既存のネットワーク プロファイルを使用する場合、NGINX:web タグは NSX-T 内の既存のオブジェクトに追加されません。したがって、NSX-T ではこのタグに関する検証手順は無視できます。
- オンデマンド ネットワーク プロファイルを作成する場合は、ルーティング/オンデマンド ネットワークを使用するように YAML でネットワークを更新できます。この例では、NSX-T 内の新しいオブジェクトに対する NGINX:web タグを示すために、オンデマンド ネットワークが使用されます。
次の YAML は、ルーティング/オンデマンドの networkType を使用する点を除いて、前の例の YAML と同じです。ここには制約タグが含まれます。
このチュートリアルでは、次のサンプル値を使用します。これらの値は単なる例であることに注意してください。値は環境によって異なります。
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: routed constraints: - tag: 'net:od'
- の順に選択し、テンプレートを開きます。
- Cloud_vSphere_Machine_ プロパティで、次のタグを追加します。
tags: - key: db value: mysql
- 仮想マシン NIC タグを追加します。
tags: - key: db value: mysql
- NSX 論理スイッチ/セグメント タグを追加します。
tags: - key: NGINX value: web
- YAML が次の例のようになっていることを確認します。
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: routed constraints: - tag: 'net:od' tags: - key: NGINX value: web
- テンプレートを展開します。
この例では、Development template w tags という名前を使用します。
- 展開内のタグを確認するには、展開を開き、[トポロジ] タブをクリックします。
- トポロジ内のマシンをクリックします。
- マシンの [一般] セクションを展開し、[タグ] ラベルを確認します。
タグ値は
db:mysql
です。 - [ネットワーク] セクションを展開し、ネットワークの [タグ] 列を確認します。
タグ値は
db:mysql
です。 - トポロジ内のネットワークをクリックし、[一般] セクションを展開して [タグ] ラベルを確認します。
タグ値は
NGINX:web
です。
- vCenter Server 内のタグを確認するには、このワークロードが展開された vCenter Server インスタンスにログインします。
- 仮想マシンを見つけ、[タグ] ペインを確認します。
- 仮想マシンを見つけ、[タグ] ペインを確認します。
- NSX-T 内のタグを確認するには、このネットワークが構成されている NSX-T インスタンスにログインします。
ネットワーク タグとマシン タグが NSX-T に追加されます。
- 右上隅の [ポリシー] をクリックします。
- NIC に関連付けられている
db:mysql
タグを確認するには、mysql を検索します。 - [論理ポート] をクリックし、展開された vSphere マシンを確認します。
- [タグ] 列で番号をクリックします。
[スコープ] は
db
、[タグ] はmysql
です。 - セグメントに関連付けられている
NGINX:web
タグを確認するには、ネットワークを検索します。この例では、ネットワーク名は Cloud_NSX_Network_1-mcm1292-163799928607 です。
- [セグメント] 行で、[タグ] 列の番号をクリックします。
[スコープ] は
NGINX
、[タグ] はweb
です。