728x90
반응형
가끔 모듈 정보를 바꿔야 할 때가 있다.
module "servers" {
>>>>>
module "be" {
terraform 으로 생성한 인스턴스가 운영중인데 무심코 module 정보를 바꾸고 init 을 했다면 terraform status 가 꼬여 문제가 발생하게 된다.
apply 를 하든, destroy 를 하든, plan 을 하든 이미 status 가 쌓여 있는 시점에서는 새로운 모듈을 삽입해서 사용해서는 안되는 것 같다.
(venv) kimminhyeok@Ivans-Mac staging % terraform state list
data.ncloud_server_products.sm
ncloud_public_ip.be
ncloud_public_ip.db
module.be.data.ncloud_subnet.main
module.be.data.ncloud_vpc.main
module.be.ncloud_access_control_group.main
module.be.ncloud_access_control_group_rule.main
module.be.ncloud_init_script.main
module.be.ncloud_login_key.loginkey
module.be.ncloud_network_interface.main
module.be.ncloud_server.main
module.db.data.ncloud_subnet.main
module.db.data.ncloud_vpc.main
module.db.ncloud_access_control_group.main
module.db.ncloud_access_control_group_rule.main
module.db.ncloud_init_script.main
module.db.ncloud_login_key.loginkey
module.db.ncloud_network_interface.main
module.db.ncloud_server.main
module.loadbalancer.ncloud_lb.be
module.loadbalancer.ncloud_lb_listener.be
module.loadbalancer.ncloud_lb_target_group.be
module.loadbalancer.ncloud_lb_target_group_attachment.be
module.network.ncloud_network_acl.nacl
module.network.ncloud_subnet.be-loadbalancer
module.network.ncloud_subnet.be-server
module.network.ncloud_vpc.main
해결방법
근본적으로 state 를 수정하거나 하는 방법은 아직 잘 모르겠다.
그래서 우회해서 해결하는 방법으로 선택한 것은, 일단 지금 까지 개발한 내용을 commit 해서 git 에 기록을 남기고 이전 commit 으로 돌아가서 destroy 를 진행한다. 이후 다시 checkout 으로 돌아온다. 돌아 온 후 coomit 삭제
git commit -m "TMP"
git checkout ${commit ID}
terraform destroy
git checkout main
soft reset
git reset HEAD^
reset 으로 커밋을 없애주면서 마무리 → TMP 삭제
728x90
반응형
'Dev. > Terraform' 카테고리의 다른 글
Terraform: AWS ssh connection (0) | 2023.09.09 |
---|---|
Terraform: AWS 서버구축 (0) | 2023.09.08 |
Terraform: Separating (0) | 2023.09.06 |
Terraform: Modules (0) | 2023.09.05 |
Terraform: LoadBalancer (0) | 2023.09.05 |
댓글