[AWS] ECSサービスディスカバリで作成したRoute53のホステッドゾーンの削除方法
ECSのサービスディスカバリを利用して、プライベートホステッドゾーンを作成できる。
ECSのクラスタ、サービスなどを削除したあとに、このホステッドゾーンが削除できずに残ってしまうことがある。
Route53のコンソールから削除しようとしても、エラーメッセージが表示されて削除できない。クラスタやサービス、タスクなどをコンソールから削除してもだめ。CloudFormationのスタックを削除してもだめ。
削除方法を探していると、AWS SDKを使ってCLIで削除する方法を見つけたのでメモ。
大まかな流れは、ホステッドゾーンが紐づいているサービスを削除後に、ホステッドゾーンを削除する。
サービスの削除
サービスの確認
$ aws servicediscovery list-services
{
"Services": [
{
"Id": "srv-xxxxxxxxxxxxxxxx",
"Arn": "arn:aws:servicediscovery:ap-northeast-1:999999999999:service/srv-xxxxxxxxxxxxxxxx",
"Name": "testservice"
}
]
}
コンソールから削除したサービスが表示される。なんでだろ。
idを指定してサービスを削除する。
$ aws servicediscovery delete-service --id=srv-xxxxxxxxxxxxxxxx
CLIで削除されていることを確認する。
$ aws servicediscovery list-services
{
"Services": []
}
ホステッドゾーンの削除
ネームスペースを確認
$ aws servicediscovery list-namespaces
{
"Namespaces": [
{
"Type": "DNS_PRIVATE",
"Id": "ns-xxxxxxxxxxxxxxxx",
"Arn": "arn:aws:servicediscovery:ap-northeast-1:999999999999:namespace/ns-xxxxxxxxxxxxxxxx",
"Name": "local"
}
]
}
idを指定してネームスペースを削除。
$ aws servicediscovery delete-namespace --id=ns-xxxxxxxxxxxxxxxx
{
"OperationId": "bzaihft7sjwnooqxfcw6o6hgkmxq3umb-jmjtiufr"
}
削除されていることを確認。
$ aws servicediscovery list-namespaces
{
"Namespaces": []
}
削除完了。
以上です。
この記事が気に入ったらサポートをしてみませんか?