VMware Cloud コンソールから AWS アカウントのリンクを削除する方法

## はじめに

VMware Cloud on AWS で Software Defined Data Center (SDDC) を作成する際に、 AWS アカウントとリンクするステップがあります。

一つの Org で色々な AWS アカウントとリンクをさせると以下のように大量に AWS アカウントが表示されるようになります。そのうちのいくつかのアカウントともう連携する必要がなくなった場合、VMware Cloud コンソール（VMC コンソール）で表示させたくない、というケースが出てきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/efccb8ba-d885-153e-5df9-dc1146687a2c.png)


このアカウントのリンクの削除方法についてドキュメントを探しても見つからなかった為、備忘録を兼ねて削除ステップをまとめてみました。

## CloudFormation、IAM ロールを削除しただけでは、コンソールからのリンクは消えない

SDDC の作成ステップで、新規の AWS アカウントと接続をする場合、CloudFormation を該当アカウントで実行しその中で、アカウントと接続の為に必要な IAM ロールが作成されます。

VMware Cloud on AWSとAWSアカウントをリンクする際に何が起きるかの詳細は、以前作成した記事を参照下さい。

https://qiita.com/mtoyoda/items/3240d21e1a7f09e5ab71

VMC コンソールからこのリンクを解除したい場合、CloudFormationの削除、もしくは IAM ロールを削除しただけでは、解除ができません。

今回 1175 で始まる AWS アカウントにて CloudFormation を削除しましたが以下の通り、選択できるままです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/8773ef31-884e-1f0d-8fd0-27f38e0198c1.png)


AWS アカウント側で CloudFormation の削除、もしくは IAM ロールを削除した後に VMC コンソールにて、そのアカウントを仮に指定してデプロイを進めようとすると以下のようなエラーが出ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/4b2dff43-722f-ebe1-bb23-79601424127d.png)


## VMware Cloud コンソールから AWS アカウントのリンクを削除するのに必要な操作

VMC コンソールから AWS アカウントのリンクを削除するのに必要な操作は大きく分けると以下の 2 つになります。どちらから先に実施しても問題ありません。

1. **CloudFormation の削除**
1. **API エクスプローラーによる操作**

それぞれについてステップを解説していきます。

### CloudFormation の削除

厳密にいうと VMC コンソールからのリンクを削除するだけであれば、この操作は不要ですが、不要な IAM ロールは削除した方が良い為こちらのステップも実施しましょう。

該当の AWS アカウントのマネジメントコンソールにログインをし、CloudFormation の管理画面にアクセスをします。

[以前のブログ](https://qiita.com/mtoyoda/items/3240d21e1a7f09e5ab71#cloudformation%E3%81%AE%E5%AE%9F%E8%A1%8C)で記載したように、オレゴンリージョンで CloudFormation のスタックが実行されているはずです。
```vmware-sddc-formation``` で始まるスタックがあるはずなので、その削除を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/29a2380c-b010-b3af-77ac-290f0c72c5b3.png)

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/f3c9e678-dd4f-6e2e-368e-9f6a77606594.png" width="400" />

スタックを削除する事により IAM ロールが削除されます。
AWS アカウント側の作業は以上です。

### API エクスプローラーによる操作

1. VMware Cloud コンソールにログインし、[デベロッパーセンター] -> [API エクスプローラー] タブに移動します。
左側のメニューから[VMware Cloud on AWS] を展開し、その下の [全般] を選択します。
[API カテゴリ] の下の [account-linking] を展開します。
そして ```GET /orgs/{org}/account-link/connected-accounts``` を展開します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/d08baeeb-f180-1956-6c71-6134fb8bc57a.png)

1. [実行] ボタンをクリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/eaf910f2-fe1d-cc37-3cae-4c9001f20f27.png)

1. 各アカウントを展開し、削除したいアカウントの ```account_number:``` を見つけ、```id:``` の値をコピーするか控えておきます。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/6b6e3eb5-3a16-5024-a446-2178d58a123e.png)

1. 続いて ```DELETE /orgs/{org}/account-link/connected-accounts/{linkedAccountPathId}``` を展開します。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/04c6a390-cefd-a5b1-9e34-1cbe67ef18db.png)

1. 手順 3 でコピーした [id] を **linkedAccountPathId** フィールドに貼り付け、[実行]ボタンをクリックします。
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/f58775ae-68f0-c502-71ad-3f6df9f58134.png)

以上の手順でアカウントリンクを削除できます。

削除は以下の通り、1175 から始まるアカウントは表示されなくなりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/501e63c4-ea9d-ff7c-9567-fa248195422b.png)

## まとめ

CloudFormation の削除に加えて、API エクスプローラーでの操作により VMC コンソールから AWS アカウントのリンクを削除できます。

## 関連記事

https://qiita.com/mtoyoda/items/3240d21e1a7f09e5ab71

https://qiita.com/mtoyoda/items/631dcc10774126139efe