Google Compute Engine에서 생성한 인스턴스의 IP 전달 설정 바꾸는 법

Google Compute Engine에서 생성한 인스턴스의 IP 전달 설정 바꾸는 법

Google Compute Engine의 인스턴스를 한번 생성하면 GCP 콘솔 화면에서는 바꿀 수 없는 설정들이 있다. 그 중 하나가 "IP 전달" 설정이다.

이번 글에서는 이미 생성해버린 인스턴스의 IP 전달 설정을 변경 할 수 있는 법에 대해서 간단하게 정리해 본다.


설정 파일 다운로드

우선 gcloud sdk를 사용하여 설정을 바꾸고 싶은 인스턴스의 설정 파일을 다운로드 한다.

gcloud compute instances export <인스턴스명> --project <프로젝트명> --zone <인스턴스zone> --destination=config.txt

이 커맨드를 실행하면 커맨드를 실행한 디렉토리에 config.txt 파일이 다운로드 된다.


설정 변경

다운로드 받은 config.txt 파일을 열고 canIpForward: 값을 원하는 값으로 변경해주면 된다. 나 같은 경우는 IP 전달을 사용하게 바꾸고 싶었기 때문에 canIpFoward: true로 변경해주었다.


설정 파일 업로드

아래 커맨드를 실행하여 설정 파일을 업로드 하여 적용해준다.

gcloud compute instances update-from-file <인스턴스명> --project <프로젝트명> --zone <인스턴스zone> --source=config.txt --most-disruptive-allowed-action=REFRESH

커맨드 실행시에 Fingerprint mismatch 에러가 나는 경우가 있다. 그런 경우에는 우선 아래 커맨드를 실행하여 fingerprint 값을 구하자.

gcloud compute instances describe <인스턴스명> --zone <인스턴스zone> --format='get(fingerprint)'

fingerprint 값을 복사한 후, config.txt 파일을 열고 fingerprint: 값을 변경해주고 저장. 그리고 다시 한번 설정 파일 업로드를 실행하면 된다.


이런 식으로 GCP콘솔에서 변경하지 못하는 인스턴스 설정 값을 변경 할 수 있다. 예전에는 바꾸고 싶으면 인스턴스를 새로 만드는 법 밖에 없었던 모양이지만, 이런 식으로 변경해주면 기존 인스턴스를 그대로 유지하면서 사용할 수 있다. 그냥 GCP콘솔에서도 가능하게 해주면 좋을텐데.