이번 포스트에서는 NCP CLI를 활용하여 VIP(Virtual IP)를 간편하게 관리하는 스크립트를 소개하려 합니다.
VIP를 사용하는 서버 환경에서
주석을 통해 사용자 정의 가능한 부분을 명확히 구분해두어 쉽게 적용하고 수정할 수 있습니다.
VIP 란?
VIP는 서버 환경에서 중요한 개념 중 하나로,
네트워크 장애 또는 서버 장애 시 트래픽을 안전하게 전달하기 위해 사용됩니다.
NCP(Naver Cloud Platform)는 이러한 VIP를 관리하기 위한 CLI(Command Line Interface)를 제공합니다.
이번 글에서는 이 CLI를 이용하여 VIP를 활성화하고 비활성화하는 스크립트를 만들어보려 합니다
VIP UP Script
이 스크립트는 VIP를 활성화합니다.
호스트 이름과 VIP 주소를 설정할 수 있으며, 네트워크 인터페이스 번호와 같은 세부 정보도 자동으로 설정됩니다.
#!/bin/bash
HOST1=p-hpkice-db1-l # instance # 1 hostname
HOST2=p-hpkice-db2-l # instance # 2 hostname
VIP_ADDR=192.168.199.100 # secondary IP
VIP_NETMASK=255.255.255.0 # secondary IP netmask
DEVNAME=eth0:1 # secondary IP interface name
case $(hostname -s) in
"${HOST1}")
# networkInterfaceNo #1
NO=123572
;;
"${HOST2}")
# networkInterfaceNo #2
NO=123573
;;
esac
/var/lib/edb/cli_linux/ncloud vserver assignSecondaryIps --regionCode KR --networkInterfaceNo ${NO} --secondaryIpList ${VIP_ADDR} --secondaryIpCount 0
if [[ ${?} -ne 0 ]]; then
echo "Ncloud cli command Error"
exit 1
fi
sudo ip addr add ${VIP_ADDR}/${VIP_NETMASK} dev ${DEVNAME} label ${DEVNAME}
if [[ ${?} -ne 0 ]]; then
echo "ip command Error"
exit 1
fi
exit 0
VIP Down Script
이 스크립트는 VIP를 비활성화합니다.
VIP UP Script와 마찬가지로 사용자 정의가 가능하며, 필요한 경우 VIP를 해제할 때 사용됩니다.
#!/bin/bash
HOST1=p-hpkice-db1-l # instance # 1 hostname
HOST2=p-hpkice-db2-l # instance # 2 hostname
VIP_ADDR=192.168.199.100 # secondary IP
VIP_NETMASK=255.255.255.0 # secondary IP netmask
DEVNAME=eth0:1 # secondary IP interface name
case $(hostname -s) in
"${HOST1}")
# networkInterfaceNo #1
NO=123572
;;
"${HOST2}")
# networkInterfaceNo #2
NO=123573
;;
esac
sudo ifdown eth0:1
/var/lib/edb/cli_linux/ncloud vserver unassignSecondaryIps --regionCode KR --networkInterfaceNo ${NO} --secondaryIpList ${VIP_ADDR}
if [[ ${?} -ne 0 ]]; then
echo "Ncloud cli command Error"
exit 1
fi
사용법 및 주의 사항
- 각 스크립트를 적절한 이름으로 저장한 후 실행 권한을 부여하세요. (chmod +x script_name)
- 호스트 이름과 VIP 주소를 해당 서버에 맞게 설정하세요.
- 스크립트를 실행할 때마다 관련된 네트워크 및 클라우드 환경에 따라 적절한 권한이 필요할 수 있습니다.
728x90
'Study > NCP' 카테고리의 다른 글
[NCP] Terraform : ncloud version 3.2.0 업데이트 (0) | 2024.10.25 |
---|---|
[NCP] NKS 사용을 위한 iam 인증 및 kubectl, k9s 설치 스크립트 (0) | 2024.10.23 |
[NCP] NKS 사용을 위한 bastion 설정 및 ArgoCD 배포 (1) | 2024.09.12 |
[NCP] Sub Account 로 계정 관리하기 (1) | 2024.05.09 |
[NCP] Transit VPC와 SFC 에 대해 알아보자 (9) | 2024.04.16 |
댓글