--- title: VMware Tanzu Operations Manager 3.0とBOSH DirectorをAWSにインストールするメモ tags: ["AWS", "Cloud Foundry", "Pivotal Cloud Foundry", "Ops Manager", "TAS", "Terraform"] categories: ["Dev", "PaaS", "CloudFoundry", "PCF"] date: 2024-06-25T16:46:57Z updated: 2024-06-26T04:22:25Z --- この記事ではVMware Tanzu Operations Manager (Ops Manager) をAWSにインストールをします [次の記事](/entries/802)では、ここで構築した環境上にTanzu Application Service 6.0 (TAS) をインストールします。 この記事では初めてインストールする人向けにできるだけGUIベースで設定を行います。 **目次** ### AWS環境の準備 まずはOps Manager及びTASをインストールする下地となるAWSリソースを作成します。 作成するネットワーク構成は次の図のようになります。 image 必要なリソースは[ドキュメント](https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-required-objects.html)に記載されていますが、これをマニュアルで作成するのは大変なので、Terraformを使用します。 Terraform CLIのインストールは[こちら](https://www.hashicorp.com/official-packaging-guide?product_intent=terraform)を参照してください。 本記事の内容はUbuntu Jammy上で次のバージョンのCLIを使って動作確認しています。 ``` $ terraform --version Terraform v1.8.5 on linux_amd64 ``` また前提条件としてRoute 53のHosted Zoneが1つ必要です。ここでは`aws.maki.lol`というHosted Zoneを例に説明します。 image Terraformの[テンプレート](https://github.com/making/tas-paving-aws)を取得します。 ``` git clone https://github.com/making/tas-paving-aws cd tas-paving-aws ``` このテンプレートで * VPC * Subnet * Security Group * EIP * NLB * Internet Gateway * NAT Gateway * IAM Role * IAM Policy * IAM Instance Profile * Route53 Record * S3 Bucket などを作成します。 以下の環境変数を設定します。 ```bash export AWS_ACCESS_KEY_ID=... export AWS_SECRET_ACCESS_KEY=... export AWS_SESSION_TOKEN=... (Optional) export AWS_REGION=ap-northeast-1 export TF_VAR_availability_zones='["ap-northeast-1a","ap-northeast-1c","ap-northeast-1d"]' export TF_VAR_environment_name=sandbox export TF_VAR_hosted_zone=aws.maki.lol ``` > [!NOTE] `AWS_ACCESS_KEY_ID`と`AWS_SECRET_ACCESS_KEY`はTerraformの実行及び、後述のOps Manager VMの作成にのみ利用します。以降はTerraformで作成されたInstance Profileを使用してAWS APIにアクセスします。TAS自体に`AWS_ACCESS_KEY_ID`と`AWS_SECRET_ACCESS_KEY`を設定することはありません。 > [!TIP] VMWare社員は[Cloud Gate](https://console.cloudgate.vmware.com/)で発行できるPower Userの一時的なCredentialsで作業できます。 Terraformを実行します。 ``` cd aws terraform init terraform plan -out plan terraform apply plan cd .. ```` AWSのConsoleで前述の図の通りのNetworkが作成されたことがわかるでしょう。 image ### Ops Managerのインストール TASをインストールするために必要なOps Managerをインストールします。 次の図のようにOps Managerは`public`ネットワーク上に作成し、EIPを経由してアクセスします。 image Ops ManagerのインストールをAWS Consoleから行うのは手間がかかるので、[`om`](https://github.com/pivotal-cf/om) CLIを使って、Ops Manage VMを作成します。 ``` curl https://github.com/pivotal-cf/om/releases/download/7.12.0/om-linux-amd64-7.12.0 -sL -o om chmod +x om sudo mv om /usr/local/bin/om ``` Ops Manager VMを作成するための設定ファイルを次のように作成します。 ```yaml cat < 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 ``` Ops ManagerのAMIイメージのIDは[Broadcom Support Portal](https://support.broadcom.com/) (BSP)から取得する必要があります。 BSPにログインして、次の図のように"Tanzu"を選択してください。 image "My Downloads"から"VMware Tanzu Operation Manager"を選択してください。 image "VMware Tanzu Operation Manager"をクリックしてください。 image 最新バージョンを選択してください。下の図では`3.0.30+LTS-T`です。 image **"I agree to the Terms and Conditions"にチェックを入れて**、"Tanzu Ops Manager YAML for AWS ..."をダウンロードしてください。 image 次のようなYAMLが取得できます。 ```yaml $ cat ops-manager-aws-3.0.30+LTS-T.yml --- ap-south-2: ami-079351fec0d47937b # ... ap-northeast-1: ami-00d6d7bbd9d6a202f # ... ``` 先ほど作成した`opsman.yml`とBSPからダウンロードしたYAMLを使って、次のように`om`コマンドでOps Manager VMを作成します。 ``` om vm-lifecycle create-vm --config=opsman.yml --image-file=ops-manager-aws-3.0.30+LTS-T.yml ``` 次のようなログが出力され、Ops Manager VMが作成されます。 ``` Using aws... Executing: "aws ec2 run-instances --tag-specifications ResourceType=instance,Tags=[{Key=Name,Value=ops-manager-vm}] --image-id ami-00d6d7bbd9d6a202f --subnet-id subnet-014057c9d1c4a7bd6 --security-group-ids sg-01e92981c8c881bec sg-0ffd0662a685d574f --count 1 --instance-type m5.large --key-name sandbox-ops-manager-key --no-associate-public-ip-address --iam-instance-profile Name=sandbox-ops-manager --query Instances[0].InstanceId --private-ip-address 10.0.0.10" This could take a few moments... aws[stdout]: "i-0ddbef586f5731165" Executing: "aws ec2 describe-volumes --filters Name=attachment.instance-id,Values=i-0ddbef586f5731165 Name=attachment.status,Values=attached Name=status,Values=in-use --query Volumes[0].VolumeId" This could take a few moments... aws[stdout]: "vol-0a4005fe1de960ff7" Executing: "aws ec2 modify-volume --volume-id vol-0a4005fe1de960ff7 --size 200" This could take a few moments... aws[stdout]: { aws[stdout]: "VolumeModification": { aws[stdout]: "VolumeId": "vol-0a4005fe1de960ff7", aws[stdout]: "ModificationState": "modifying", aws[stdout]: "TargetSize": 200, aws[stdout]: "TargetIops": 600, aws[stdout]: "TargetVolumeType": "gp2", aws[stdout]: "TargetMultiAttachEnabled": false, aws[stdout]: "OriginalSize": 10, aws[stdout]: "OriginalIops": 100, aws[stdout]: "OriginalVolumeType": "gp2", aws[stdout]: "OriginalMultiAttachEnabled": false, aws[stdout]: "Progress": 0, aws[stdout]: "StartTime": "2024-06-25T03:08:34+00:00" aws[stdout]: } aws[stdout]: } Executing: "aws ec2 describe-addresses --filters Name=public-ip,Values=54.65.94.27 --query Addresses[0].AllocationId" This could take a few moments... aws[stdout]: "eipalloc-0b56ffe4ab20a23d2" Executing: "aws ec2 associate-address --allocation-id eipalloc-0b56ffe4ab20a23d2 --instance-id i-0ddbef586f5731165" This could take a few moments... aws[stdout]: { aws[stdout]: "AssociationId": "eipassoc-0b5a6e1c26ee8d6ec" aws[stdout]: } Executing: "aws ec2 stop-instances --instance-ids i-0ddbef586f5731165" This could take a few moments... aws[stdout]: { aws[stdout]: "StoppingInstances": [ aws[stdout]: { aws[stdout]: "CurrentState": { aws[stdout]: "Code": 64, aws[stdout]: "Name": "stopping" aws[stdout]: }, aws[stdout]: "InstanceId": "i-0ddbef586f5731165", aws[stdout]: "PreviousState": { aws[stdout]: "Code": 16, aws[stdout]: "Name": "running" aws[stdout]: } aws[stdout]: } aws[stdout]: ] aws[stdout]: } Executing: "aws ec2 describe-instances --instance-ids i-0ddbef586f5731165 --query Reservations[*].Instances[*].State.Name" This could take a few moments... aws[stdout]: [ aws[stdout]: [ aws[stdout]: "stopping" aws[stdout]: ] aws[stdout]: ] Executing: "aws ec2 describe-instances --instance-ids i-0ddbef586f5731165 --query Reservations[*].Instances[*].State.Name" This could take a few moments... aws[stdout]: [ aws[stdout]: [ aws[stdout]: "stopping" aws[stdout]: ] aws[stdout]: ] Executing: "aws ec2 describe-instances --instance-ids i-0ddbef586f5731165 --query Reservations[*].Instances[*].State.Name" This could take a few moments... aws[stdout]: [ aws[stdout]: [ aws[stdout]: "stopping" aws[stdout]: ] aws[stdout]: ] ... Executing: "aws ec2 describe-instances --instance-ids i-0ddbef586f5731165 --query Reservations[*].Instances[*].State.Name" This could take a few moments... aws[stdout]: [ aws[stdout]: [ aws[stdout]: "stopped" aws[stdout]: ] aws[stdout]: ] Executing: "aws ec2 start-instances --instance-ids i-0ddbef586f5731165" This could take a few moments... aws[stdout]: { aws[stdout]: "StartingInstances": [ aws[stdout]: { aws[stdout]: "CurrentState": { aws[stdout]: "Code": 0, aws[stdout]: "Name": "pending" aws[stdout]: }, aws[stdout]: "InstanceId": "i-0ddbef586f5731165", aws[stdout]: "PreviousState": { aws[stdout]: "Code": 80, aws[stdout]: "Name": "stopped" aws[stdout]: } aws[stdout]: } aws[stdout]: ] aws[stdout]: } OpsMan VM created successfully ``` ECSのダッシュボードで`opa-manage-vm`という名前のインスタンスを確認できるでしょう。 image このOps ManagerのDNS名は次のコマンドで確認できます。`opsmanager.${TF_VAR_environment_name}.${TF_VAR_hosted_zone}`であるはずです。 ``` cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_dns ``` 自己署名証明書が使用されているため、ブラウザでアクセスすると、次のような警告が表示されるでしょう。ブラウザの画面にカーソルを合わせて、`this is unsafe`と入力してください。 image Ops Managerの初回セットアップ画面が表示されます。"Internal Authentication"ボタンをクリックしてください。 image 管理ユーザーのユーザー名とパスワード、復号パスフレーズを設定し、"Setup Authentication"ボタンをクリックしてください。 image しばらく待ってください。 image ログイン画面が表示されます。 image 設定した管理ユーザーのユーザー名とパスワードを入力して、"SIGN IN"ボタンをクリックしてください。次のようなダッシュボード画面が表示されます。 image > [!TIP] > Ops Managerにsshでサクセスしたい場合は、次のコマンドでSSH秘密鍵を取得してください。 > ``` > cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_ssh_private_key > opsman.pem > chmod 600 opsman.pem > ``` > > 取得したSSH秘密鍵を使って次のコマンドでSSHアクセスできます。 > > ``` > ssh ubuntu@$(cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_dns) -i opsman.pem > ``` ### Let's Encryptで証明書を作成 自己署名証明書のままでもインストールは進められますが、ここではLet's Encryptで発行した証明書を使用してインストールを進めます。ここで作成した証明書は次のTASのインストールでも使用されます。 `lego` CLIをインストールします。 ``` sudo apt-get install lego -y ``` 次の環境変数を設定します。 ``` export AWS_REGION=... export AWS_ACCESS_KEY_ID=... export AWS_SECRET_ACCESS_KEY=... export AWS_SESSION_TOKEN=... (Optional) export AWS_HOSTED_ZONE_ID=$(aws route53 list-hosted-zones | jq -r --arg NAME "${TF_VAR_hosted_zone}." '.HostedZones[] | select(.Name == $NAME) | .Id' | sed 's|/hostedzone/||') export SUBDOMAIN=${TF_VAR_environment_name}.${TF_VAR_hosted_zone} export EMAIL= ``` 次のコマンドで証明書を作成します。 ``` lego --accept-tos \ --key-type=rsa4096 \ --domains="*.${SUBDOMAIN}" \ --domains="*.apps.${SUBDOMAIN}" \ --domains="*.sys.${SUBDOMAIN}" \ --email=${EMAIL} \ --dns=route53 \ run ``` 次のディレクトリに証明書が生成されます。 ``` $ ls -la .lego/certificates/ total 16 drwx------ 6 tmaki tmaki 192 Jun 25 08:00 . drwx------ 4 tmaki tmaki 128 Jun 25 07:56 .. -rw------- 1 tmaki tmaki 4014 Jun 25 08:00 _.sandbox.aws.maki.lol.crt -rw------- 1 tmaki tmaki 1802 Jun 25 08:00 _.sandbox.aws.maki.lol.issuer.crt -rw------- 1 tmaki tmaki 243 Jun 25 08:00 _.sandbox.aws.maki.lol.json -rw------- 1 tmaki tmaki 3243 Jun 25 08:00 _.sandbox.aws.maki.lol.key ``` 証明書のSubject Alternative Namesを次のコマンドで確認できます。 ``` $ cat .lego/certificates/_.sandbox.aws.maki.lol.crt | openssl x509 -noout -text | grep DNS: DNS:*.apps.sandbox.aws.maki.lol, DNS:*.sandbox.aws.maki.lol, DNS:*.sys.sandbox.aws.maki.lol ``` この証明書をOps Managerに設定するために、`om` CLIを使用します。 `Ops Manager`にアクセするための情報を次のように`env.yml`に記述します。 ``` export OM_USERNAME= export OM_PASSWORD= export OM_DECRYPTION_PASSPHRASE= cat < env.yml target: https://opsmanager.${SUBDOMAIN} connect-timeout: 30 request-timeout: 1800 skip-ssl-validation: true username: ${OM_USERNAME} password: ${OM_PASSWORD} decryption-passphrase: ${OM_DECRYPTION_PASSPHRASE} EOF ``` Ops Managerに設定する証明書を`ssl-certificate.yml`に定義します。 ``` cat < ssl-certificate.yml ssl-certificate: certificate: | $(cat .lego/certificates/_.${SUBDOMAIN}.crt | sed 's/^/ /g') private_key: | $(cat .lego/certificates/_.${SUBDOMAIN}.key | sed 's/^/ /g') EOF ``` 次のコマンドで、Ops Managerに証明書を設定します。 ``` om --env env.yml configure-opsman --config ssl-certificate.yml ``` しばらくして、ブラウザにアクセスすると証明書の警告はなくなるでしょう。新しいウインドウでアクセスしたほうが反映が早いです。 image > [!TIP] Ops ManagerのGUIから設定したい場合は、右上のユーザー名をクリックして、"Settings"→"SSL Certificate"を選択し、CertificateとPrivate Keyを設定し、保存してください。 > > image ### BOSH Directorのインストール 次にOps Managerを使ってBOSH Directorのインストールを行います。 BOSH DirectorはTASのインストールやアップデート、死活監視を担当する重要なコンポーネントです。VMに対するKubernetesのようなものに相当します。 BOSH Directorは次の図のように`management`ネットワーク上にインストールされます。 image #### AWS Config BOSH DirectorがAWSにアクセスするための情報を設定します。AWSのアクセスキーは使わず、Instance Profileを使用します。 https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-config-manual.html#step-2-configure-aws-1 image 1. `Use AWS Instance Profile`を選択し、`AWS IAM Instance Profile`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_iam_instance_profile_name`の結果を設定 1. `Security Group ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .platform_vms_security_group_id`の結果を設定 1. `Key Pair Name`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_key_pair_name`の結果を設定 1. `SSH Private Key`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .ops_manager_ssh_private_key`の結果を設定 1. `Region`に`echo $AWS_REGION`の結果を設定 "Save"ボタンをクリックして設定を保存。 #### Director Config BOSH Director自体の設定を行います。BlobstoreとしてTerraformで作成したS3のバケットを使用します。 https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-config-manual.html#step-3-complete-the-director-config-page-2 image 1. `NTP Servers (comma delimited)`にNTPサーバーのアドレスを設定(e.g. `time.google.com`) 1. `Enable VM Resurrector Plugin`をチェック 1. `Blobstore Location`に`S3 Compatible Blobstore`を選択し、 1. `S3 Endpoint`に対象のリージョンの[S3 Endpoint URL](https://docs.aws.amazon.com/general/latest/gr/s3.html)を設定。通常は`echo https://s3.${AWS_REGION}.amazonaws.com`の値 1. `Credentials Source`に`IAM Instance Profile`を選択 1. `S3 Signature Version`に`V4 Signature`を選択し、`Region`に`echo $AWS_REGION`の結果を設定 1. `S3 Backup Strategy`に`Use a versioned bucket`を選択 1. `Certificate Duration Overrides`で`On`を選択 (証明書の期限を10年に延長。期限切れによる事故防止のため) 1. `CA Certificate Duration (days)`に`3650`を設定 1. `Leaf Certificate Duration (days)`に`3650`を設定 "Save"ボタンをクリックして設定を保存。 #### Create Availability Zones BOSH DirectorがVMをデプロイする先のAvailability Zonesの選択肢を設定します。 https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-config-manual.html#step-4-create-availability-zones-3 image 1. `cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .availability_zones`で出力されるAvailability Zonesの数の分だけ"Add"ボタンをクリックし、それぞれの値を設定。 "Save"ボタンをクリックして設定を保存。 #### Create Networks BOSH DirectorがVMをデプロイする先のNetworkの選択肢を設定します。TASを含めて、今回のインストール作業で一番設定が大変なのはここです。 https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-config-manual.html#step-5-create-networks-4 image 1. "Add Network"ボタンをクリックし、`Name`に`management`を設定 (BOSH Directorをインストールするネットワーク) 1. `Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_ids[0]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_cidrs[0]`の結果を設定 (デフォルト: `10.0.16.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_reserved_ip_ranges[0]`の結果を設定 (デフォルト: `10.0.16.1-10.0.16.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_gateways[0]`の結果を設定 (デフォルト: `10.0.16.1`) 1. `Availability Zones`は1番目のものを選択 1. "Add Subnet"ボタンをクリックし、`Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_ids[1]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_cidrs[1]`の結果を設定 (デフォルト: `10.0.17.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_reserved_ip_ranges[1]`の結果を設定 (デフォルト: `10.0.17.1-10.0.17.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_gateways[1]`の結果を設定 (デフォルト: `10.0.17.1`) 1. `Availability Zones`は2番目のものを選択 1. "Add Subnet"ボタンをクリックし、`Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_ids[2]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_cidrs[2]`の結果を設定 (デフォルト: `10.0.18.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_reserved_ip_ranges[2]`の結果を設定 (デフォルト: `10.0.18.1-10.0.18.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .management_subnet_gateways[2]`の結果を設定 (デフォルト: `10.0.18.1`) 1. `Availability Zones`は3番目のものを選択 1. `Name`に`tas`を設定 (TAS含む主なProductをインストールするネットワーク) 1. `Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_ids[0]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_cidrs[0]`の結果を設定 (デフォルト: `10.0.4.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_reserved_ip_ranges[0]`の結果を設定 (デフォルト: `10.0.4.1-10.0.4.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_gateways[0]`の結果を設定 (デフォルト: `10.0.4.1`) 1. `Availability Zones`は1番目のものを選択 1. "Add Subnet"ボタンをクリックし、`Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_ids[1]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_cidrs[1]`の結果を設定 (デフォルト: `10.0.5.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_reserved_ip_ranges[1]`の結果を設定 (デフォルト: `10.0.5.1-10.0.5.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_gateways[1]`の結果を設定 (デフォルト: `10.0.5.1`) 1. `Availability Zones`は2番目のものを選択 1. "Add Subnet"ボタンをクリックし、`Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_ids[2]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_cidrs[2]`の結果を設定 (デフォルト: `10.0.6.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_reserved_ip_ranges[2]`の結果を設定 (デフォルト: `10.0.6.1-10.0.6.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_tas.value -r | jq -r .tas_subnet_gateways[2]`の結果を設定 (デフォルト: `10.0.6.1`) 1. `Availability Zones`は3番目のものを選択 1. `Name`に`services`を設定 (オンデマンドサービスのMySQL, PostgreSQL, RabbitMQなどをインストールするネットワーク) 1. `Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_ids[0]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_cidrs[0]`の結果を設定 (デフォルト: `10.0.8.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_reserved_ip_ranges[0]`の結果を設定 (デフォルト: `10.0.8.1-10.0.8.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_gateways[0]`の結果を設定 (デフォルト: `10.0.8.1`) 1. `Availability Zones`は1番目のものを選択 1. "Add Subnet"ボタンをクリックし、`Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_ids[1]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_cidrs[1]`の結果を設定 (デフォルト: `10.0.9.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_reserved_ip_ranges[1]`の結果を設定 (デフォルト: `10.0.9.1-10.0.9.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_gateways[1]`の結果を設定 (デフォルト: `10.0.9.1`) 1. `Availability Zones`は2番目のものを選択 1. "Add Subnet"ボタンをクリックし、`Subnets`の 1. `VPC Subnet ID`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_ids[2]`の結果を設定 1. `CIDR`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_cidrs[2]`の結果を設定 (デフォルト: `10.0.10.0/24`) 1. `Reserved IP Ranges`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_reserved_ip_ranges[2]`の結果を設定 (デフォルト: `10.0.10.1-10.0.10.9`) 1. `DNS`に`10.0.0.2`を設定 1. `Gateway`に`cat tas-paving-aws/terraform.tfstate | jq .outputs.stable_config_opsmanager.value -r | jq -r .services_subnet_gateways[2]`の結果を設定 (デフォルト: `10.0.10.1`) 1. `Availability Zones`は3番目のものを選択 "Save"ボタンをクリックして設定を保存。 #### Assign AZs and Networks BOSH Director自体をデプロイする先のAZとNetworkを設定します。 https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-config-manual.html#step-6-assign-azs-and-networks-5 image 1. `Singleton Availability Zone`に任意のAvailability Zoneを選択 (このAZにBOSH Directorがインストールされる) 1. `Network`に`management`を選択 "Save"ボタンをクリックして設定を保存。 #### Security BOSH Directorが作成するVMに信頼させるTLS証明書の設定を行います。 https://docs.vmware.com/en/VMware-Tanzu-Operations-Manager/3.0/vmware-tanzu-ops-manager/aws-config-manual.html#step-7-configure-security-6 image 1. `Include Tanzu Ops Manager Root CA in Trusted Certs`をチェック "Save"ボタンをクリックして設定を保存。 ダッシュボードに戻ります。 image "REVIEW PENDING CHANGES"ボタンをクリック image "APPLY CHANGES"ボタンをクリック。 image "Changes Applied"と表示されれば、インストールは成功です。 [次の記事](/entries/802)でこの環境上にTanzu Application Serviceをインストールします。