---
title: VMware Tanzu Application Service for VMs 6.0 (Small Footprint版) をAWSにインストールするメモ
tags: ["AWS", "Cloud Foundry", "Pivotal Cloud Foundry", "Ops Manager", "TAS"]
categories: ["Dev", "PaaS", "CloudFoundry", "PCF"]
date: 2024-06-25T16:47:02Z
updated: 2024-06-26T07:45:07Z
---

[前の記事](/entries/801)で、VMware Tanzu Operations Manager (Ops Manager) をAWSにインストールをしました。
この記事では、構築した環境上にTanzu Application Service 6.0 (TAS) をインストールします。

**目次**
<!-- toc -->

### Tanzu Application Serviceのインストール

構築する環境は次の図のようになります。Small Footprint版を使用するので、作成されるVMは

* Compute (アプリが動作する場所、コンテナのビルドもここで行われる)
* Control (APIサーバーや認証・認可サーバーなど)
* Database (TASの情報を保存するMySQL)
* Router (アプリやAPIサーバーへのアクセスの入り口)

の4つです。これらが`tas`ネットワーク上に作成されます。

<img width="1024" alt="image" src="https://www.plantuml.com/plantuml/svg/ZLHDRzim3BthLn3kfJqugvsksteOsYt0jaCNO1-d80VPLjDWicH8Se9io7yV5IkXdTXja8l3z_ZuI9g-juuRLvUILJp_mnS2eghEv3AFu1y3E0JvtmGka-lHxlSclRbgS02b2uIdbOL7hf1gebtOYDnnjP28hKKMoonEJW1hdrj0fcjLSBE1wFl3B_Z2dLZpZOUsNHzfy96GZ_w2wL31j4Tr75JJrrJ7GwhZHdNB68sot8sa5CeDZZEvxPldf-dFhp1P-YhQl3I4TvGzs5FodaZ1Oi4TpxX5MgRHVYPrPh6IY5hc7RU3hc_wJ4-2QDIAVTRA6IsxeRAgdTZd0bn63rNh_RawX1ytW4W8R5iIFpGAl3INjsUCvNPuAhxt_g5OOLRBN0nFXcOzxEx3EKkxFhP71_9DOVTAEBeInlsB0h_H7bmOKOJ_4x4IKbS-cCbQXEWK0zm_N2oC48gnNLeyyudpEFu8i_t9pXaf8EurZWXm1r7-15LjdwCkkSI6bECDlxaHubjF3puykt7IS5lVaZbZpTS8uhhos77dSqOd1fv0tmx4S8iXiHiFI-m7MSS0Z13lN2Esu6-67KT7XLuhPFkYTxaHg1Uloa5QyD3Xdf1ZJqQ79rSw2tU552cU759ENbdQqNwro6eEfuNHMWcaPT4QFNueobX39U7siHAs5wR4yD0MxYRV2rNKfVmF">

TAS本体は"Tile"という形式でパッケージングされており、拡張子は`.pivotal`です。TASのTileを[Broadcom Support Portal](https://support.broadcom.com) (BSP) からダウンロードします。

BSPにログインして、次の図のように"Tanzu"を選択してください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/01a7b492-4ef0-4c25-9088-10c73d1e6d19">


"My downloads"から"VMware Tanzu Application Service for VMs"を選択してください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/bf6b887e-5391-41e1-93ab-bfcb681ce36e">

"VMware Tanzu Application Service for VMs"をクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/ca07687e-2fee-4132-9684-7cc8ee5afabf">

6.0系の最新バージョン、下の図では`6.0.4+LTS-T`をクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/0a286ea6-c182-4ef8-b1f8-d15c27f87d03">

**"I agree to the Terms and Conditions"にチェックを入れて**、"Small Footprint TAS"をダウンロードしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/8ab20019-4750-4720-b2a9-22a8e33a951d">

`srt-6.0.4-build.3.pivotal`がダウンロードされます。ファイルサイズが18GB以上あるので、ディスク容量に気をつけてください。

Ops Managerのダッシュボードの左の"IMPORT A PRODUCT"ボタンをクリックして、ダウンロードしたファイルをアップロードしてください。ファイルサイズが大きいので時間がかかります。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/7df30840-40be-41c4-bb70-bc2b17aeda20">

Tileのアップロードが完了すると、ダッシュボード左にアップロードしたプロダクト名とバージョンが表示されます。バージョン横の"+"ボタンをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/44e7881f-398b-4be3-b628-f97b58eda986">

"Small Footprint VMware Tanzu Application Service"のTileをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/83fd9aec-a904-4c3f-9d43-74e17d0a0e26">

TASの設定を行います。

#### Assign AZs and Networks

TASをデプロイする先のAZとNetworkを設定します。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/811bac37-fe2b-4e2d-9872-3a4bfd907374">

1. `Place singleton jobs in AZ` に任意のAZを選択 (スケールアウトできないVMはこのAZにインストールされます。Compute, Control, Database, Routerは全てスケールアウトできます。)
2. `Balance other jobs in AZs` で全てのAZをチェック
3. `Network`で`tas`を選択

"Save"ボタンをクリックして設定を保存。

#### Domains

TASで使用するドメイン名を設定します。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-domains.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/76f1200a-fbf9-4f3b-87a9-c79b662adf16">

1. `System domain`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .sys_dns_domain`の結果を設定
1. `Apps domain`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .apps_dns_domain`の結果を設定

"Save"ボタンをクリックして設定を保存。

#### Networking

TASのNetwork関連の設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-networking.html

1. `Certificates and private keys for the Gorouter`で"Add"ボタンをクリック
    1. Let's Encryptの場合、
        1. `Name`に`lets-encrypt`を設定
        1. `Certificate and private key `の`Certificate PEM`に`cat .lego/certificates/_.${SUBDOMAIN}.crt`の結果を設定。
        1. `Certificate and private key `の`Private Key PEM`に`cat .lego/certificates/_.${SUBDOMAIN}.key`の結果を設定。 
    1. Self-Signed Certificatesの場合
        1. `Name`に`self-signed`を設定
        1. `Certificate and private key`で`Generate RSA Certificate`をクリックし、`Domain names (comma separated)`に`echo "*.$(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .sys_dns_domain),*.$(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .apps_dns_domain)"`の結果を設定し、"Generate"ボタンをクリック
1. `TLS termination point`で`Gorouter`を選択
1. `Add Zipkin tracing headers`のチェックを外す (W3Cのtracing headersがあれば十分)
1. `Add W3C tracing headers`をチェック

"Save"ボタンをクリックして設定を保存。

#### App Developer Controls

TASの開発者対する機能制限に関連する設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-app-dev-controls.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/cbfd1b0a-0432-4fd4-a2a5-a1d1538312d9">

1. `Allow space developers to manage network policies`をチェック

#### App Security Groups

TASのApp Security Groupに関する設定を行います。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/5a8d3076-aa51-47b8-8283-802c92a965e8">

1. `You are responsible for setting the appropriate ASGs after TAS for VMs finishes deploying.`に`X`を入力。

#### UAA

UAA(認証・認可サーバー)対する機能制限に関連する設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-uaa.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/f55a5cf9-3402-4cba-ae66-558a94a2547b">


1. `SAML service provider certificate and private key`で
    1. `Name`に`self-signed`を設定
    1. `Certificate and private key`で`Generate RSA Certificate`をクリックし、`Domain names (comma separated)`に`echo "*.login.$(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .sys_dns_domain)"`の結果を設定し、"Generate"ボタンをクリック

> [!NOTE] SAML service provideの機能は使用しません

"Save"ボタンをクリックして設定を保存。

#### CredHub

CredHub(機密情報管理サーバー)対する設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-credhub.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/4013126f-d633-41c6-ac37-5c29890ac276">

1. `Internal encryption provider keys`で
    1. "Add"ボタンをクリック
        1. `Name`に`key1`を設定
        1. `Key`に`echo ${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}`の結果を設定
        1. `Primary`をチェック
1. `Secure service instance credentials`をチェック

"Save"ボタンをクリックして設定を保存。

#### Internal MySQL

内部のMySQL対する設定を行います。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/5a8f5f19-06c4-4b61-acc7-224ae73e4435">

1. `Email address`にアラート通知先メールアドレスを設定

"Save"ボタンをクリックして設定を保存。

#### File Storage

ファイルストレージに対する設定を行います。今回はTerraformで作成したS3バケットを使用します。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-file-storage.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/0c593781-acd6-4c09-b38e-2d46929a0151">

1. `Cloud Controller filesystem`
    1. `External S3-compatible filestore`を選択
    1. `URL endpoint`に対象のリージョンの[S3 Endpoint URL](https://docs.aws.amazon.com/general/latest/gr/s3.html)を設定。通常は`echo https://s3.${AWS_REGION}.amazonaws.com`の値
    1. `S3 AWS with instance profile`をチェック
    1. `Region`に`echo $AWS_REGION`の結果を設定
    1. `Use path-style S3 URLs (deprecated)`のチェックを外す
    1. `Buildpacks bucket name`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .buildpacks_bucket_name`の結果を設定
    1. `Droplets bucket name`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .droplets_bucket_name`の結果を設定
    1. `Packages bucket name`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .packages_bucket_name`の結果を設定
    1. `Resources bucket name`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .resources_bucket_name`の結果を設定
    1. `Use versioning for backup and restore`をチェック

#### Cloud Controller

Cloud Controller(APIサーバー)対する設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-cloud-controller.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/a44e7ab3-d8d1-4a59-9ec5-5d0651b3b4d6">

1. `Available Stacks`で`cflinuxfs4 and tanzu-jammy`を選択
1. `Enable legacy MD5 buildpack paths. If disabled, xxhash64 is used for calculating paths in buildpack image layers.`のチェックを外す

#### Errands

Errands(インストールの後タスク)対する設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-errands.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/1226c872-018b-4c47-9440-16c550383899">

* `App Autoscaler Errand`で`OFF`を選択
* `App Autoscaler Smoke Test Errand`で`OFF`を選択
* `NFS Broker Errand`で`OFF`を選択
* `SMB Broker Errand`で`OFF`を選択


#### Resource Config

作成するVMのリソースに対する設定を行います。

https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/config-resources.html

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/a61043ad-f573-4fbd-a1f5-f5687714edfb">

* `Database`の`VM TYPE`で`t3a.medium`を選択
* `Database`の`PERSISTENT DISK TYPE`で`10GB`を選択
* `Control`の`LOAD BALANCERS`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r '.ssh_target_group_name | "alb:" + .'`の結果を設定
* `Router`の`VM TYPE`で`t3a.micro`を選択
* `Router`の`LOAD BALANCERS`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r '.web_target_group_names|map("alb:" + .)|join(",")'`の結果を設定
* `Backup Restore Node`の`INSTANCES`を`0`に設定
* `MySQL Monitor`の`INSTANCES`を`0`に設定

右上の"Save"ボタンをクリックして設定を保存。

#### VM Extensionの作成

今回Terraformで作成したAWSリソースをTASで使用する場合、次の項目がGUIからは設定できません

1. NLBからのHTTP(S)リクエストを許可するSecurity GroupをRouter VMに設定
1. NLBからのSSHリクエストを許可するSecurity GroupをControl VMに設定
1. S3に対するアクセスを許可するInstance ProfileをControl VMに設定

これらはGUIで設定する代わりに`om` CLIでVM Extensionを作成・設定することで利用可能になります。

次のドキュメントが参考になります。

* https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/configure-lb.html
* https://docs.vmware.com/en/VMware-Tanzu-Application-Service/6.0/tas-for-vms/pas-file-storage.html#fog-with-aws-iam-instance-profiles-3

> [!TIP]
> [VM Extension](https://bosh.io/docs/aws-cpi/#resource-pools)はVMに対して様々な機能を適用することのできる拡張ポイントです。VM Extensionを利用することで、TASでは公式に提供されていない機能を使用することができる可能性があります。

次のように3つのVM Extensionを定義するファイルを作成します。

```yaml
cat <<EOF > vm-extension-web-lb-security-groups.yml
---
vm-extension-config:
  name: web-lb-security-groups
  cloud_properties:
    security_groups:
    - $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .web_lb_security_group_id)
    - $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .platform_vms_security_group_id)
---
EOF

cat <<EOF > vm-extension-ssh-lb-security-groups.yml
---
vm-extension-config:
   name: ssh-lb-security-groups
   cloud_properties:
      security_groups:
      - $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .ssh_lb_security_group_id)
      - $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .platform_vms_security_group_id)
---
EOF

cat <<EOF > vm-extension-cloud-controller-iam.yml
---
vm-extension-config:
   name: cloud-controller-iam
   cloud_properties:
      iam_instance_profile: $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_blobstore_iam_instance_profile_name)
---
EOF
```

次のコマンドでVM Extensionを作成します。

```
om --env env.yml create-vm-extension -c vm-extension-web-lb-security-groups.yml
om --env env.yml create-vm-extension -c vm-extension-ssh-lb-security-groups.yml
om --env env.yml create-vm-extension -c vm-extension-cloud-controller-iam.yml
```

次のように、Control及び、Router VMに適用したいVM Extensionを定義します。

```yaml
cat <<EOF > additional-vm-extensions-cf.yml
---
product-name: cf
resource-config:
   control:
      additional_vm_extensions:
      - ssh-lb-security-groups
      - cloud-controller-iam
   router:
      additional_vm_extensions:
      - web-lb-security-groups
---
EOF
```

次のコマンドでVM ExtensionをVMに設定します。

```
om --env env.yml configure-product -c additional-vm-extensions-cf.yml
```

ダッシュボードに戻り、"REVIEW CHANGES"ボタンをクリックします。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/bcac3c35-7cc2-4e68-8560-1613f59e1c0a">

BOSH Directorの"SEE CHANGES"をクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/8fe9fbcc-b89d-4d65-99db-f6328813c6b1">

`Cloud Config`の項目で、設定したVM Extensionが表示されるでしょう。(下の図では`cloud-controller-iam`が抜けていますが、上記の説明の通り設定すれば、それも表示されるはずです。)

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/6bb6b76d-a58a-4fae-921f-35f18a95063e">

前の画面に戻って"APPLY CHANGES"ボタンをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/0eeea64f-fef1-4278-9cbd-cffffa6c3815">

インストールが進みます。環境に依ますが、30分から1時間くらいかかるかもしれません。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/61ab4ab8-bf09-4220-a874-6269663cc722">

"Changes Applied"と表示されれば、インストールは成功です。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/3e00c650-7e69-4964-9557-9b7f658d8697">

### サンプルアプリのデプロイ

インストールしたTASにアプリにデプロイしてみましょう。

TASの`admin`ユーザーのパスワードを取得します。TASのTileの"Credentials"タブをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/95a93af0-01c6-4c07-88cf-fa63c9a74c46">

"UAA"の項目までスクロールし、"Admin Credentials"の"Link to Credential"をクリックします。`admin`ユーザーのpasswordが表示されます。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/37970b56-e2e2-47c8-9a54-a69b76dcb101">

なお、`om` CLIを使用して、admin passwordを次のように取得することもできます。

```
ADMIN_PASSWORD=$(om --env env.yml credentials -p cf -c .uaa.admin_credentials -f password)
```

次のドキュメントを参考に`cf` CLIをインストールします。

* https://docs.cloudfoundry.org/cf-cli/install-go-cli.html

```
wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
sudo apt-get update
sudo apt-get install cf8-cli -y
```

次のバージョンで動作確認しました。

```
$ cf --version
cf version 8.7.10+5b7ce3c.2024-04-04
```

次のコマンドでログインします。

```
SYSTEM_DOMAIN=$(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .sys_dns_domain)

cf login -a api.${SYSTEM_DOMAIN} -u admin -p ${ADMIN_PASSWORD} -o system -s system
```

次のような出力が表示されます。

```
API endpoint: api.sys.sandbox.aws.maki.lol


Authenticating...
OK

Targeted org system.

Targeted space system.

API endpoint:   https://api.sys.sandbox.aws.maki.lol
API version:    3.166.0
user:           admin
org:            system
space:          system
```

`demo` orgと`demo` spaceを次のコマンドで作成します。

```
cf create-org demo
cf create-space demo -o demo
cf target -o demo -s demo
```

サンプルJavaアプリのビルド済みJarファイルをダウンロードします。

```
wget https://gist.github.com/making/fca49149aea3a7307b293685ba20c7b7/raw/6daab9a0a88fe0f36072ca4d1ee622d2354f3505/pcf-ers-demo1-0.0.1-SNAPSHOT.jar
```

`cf push`コマンドでアプリをデプロイします。

```
cf push attendees -p pcf-ers-demo1-0.0.1-SNAPSHOT.jar -m 768m -b java_buildpack_offline
```

デプロイが完了すると`cf apps`コマンドで次のように状態を確認できます。

```
$ cf apps
Getting apps in org demo / space demo as admin...

name        requested state   processes           routes
attendees   started           web:1/1, task:0/0   attendees.apps.sandbox.aws.maki.lol
```

表示されたURLにアクセスしてください。次のような画面が表示されるでしょう。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/8d5e1551-6593-4c5c-b7ea-709f4da67050">

### Apps Managerへのアクセス

Apps ManagerはTASの開発者向け管理コンソールです。

URLは`https://apps.${SYSTEM_DOMAIN}`です。このURLのアクセスすると、ログイン画面にリダイレクトされます。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/53579ec8-7cbb-4e4f-a7c3-f30e270501d1">

`cf login`で使用したユーザー名とパスワードを入力して、"SIGN IN"ボタンをクリックしてください。(Ops Managerのアカウトと別です)

次のような画面にリダイレクトされます。

`demo` orgをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/f9fd8a61-0890-488a-be72-4d03d287aee3">

`demo` spaceをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/49c0b10b-fa11-4383-8d8a-f0efa41ef2aa">

`attendees` をクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/cfdd2d5d-9ee5-45a3-9432-aed4b6415fd4">

デプロイした`attendees`アプリに関する管理画面が表示されます。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/24961a34-b60d-4224-b125-e3b2472a8899">


### アンインストール

Ops Managerのダッシュボードの右上のユーザー名をクリックし、"Advanced Options"をクリックしてください。

"DELETE THIS INSTALLATION"ボタンをクリックし、"Confirm"ボタンをクリックしてください。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/9ae7049b-a495-495d-ad1b-e6802abae509">

この状態で"Apply Changes"を実行すると、TASとBOSH Directorがアンインストールされます。

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/2f0d4cdc-09d5-4d39-a7a1-e0d2c8a6d7fa">


> [!TIP] AWSのリソースは残しておく場合は、アンインストール前に、次のコマンドでTileの設定をExportしておくと良いです。
> 
> ```
> om --env env.yml staged-director-config --no-redact | grep -v guid: > director.yml
> om --env env.yml staged-config -p cf > cf.yml
> ```
> 
> 次回、同じAWSリソース上にインストールする場合は、
> 
> ```
> om --env env.yml configure-director -c director.yml
> om --env env.yml configure-product -c cf.yml 
> ```
> でTileの設定ができます。


Ops Managerの削除は次のコマンドで行います。

```
om vm-lifecycle delete-vm --config=opsman.yml -state-file=state.yml 
```

> [!TIP]
> 
> `AWS_ACCESS_KEY_ID`と`AWS_SECRET_ACCESS_KEY`が更新されている場合は、再度次のコマンドで`opsman.yml`を生成してください。
> 
> ```yaml
> cat <<EOF > opsman.yml
> ---
> opsman-configuration:
>   aws:
>     region: ${AWS_REGION}
>     vpc_subnet_id: $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_subnet_id)
>     security_group_ids:
>     - $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_security_group_id)
>     - $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .platform_vms_security_group_id)
>     key_pair_name: $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_key_pair_name)
>     iam_instance_profile_name: $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_iam_instance_profile_name)
>     access_key_id: ${AWS_ACCESS_KEY_ID}
>     secret_access_key: ${AWS_SECRET_ACCESS_KEY}
>     public_ip: $(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_public_ip)
>     private_ip: 10.0.0.10
> ---
> EOF
> ```


AWSリソースの削除は次のコマンドで行います。

```
terraform destroy
```
