#はじめに
IBM Cloud: VPC Custom Routesを利用したAZまたぎのHA環境の構成例(VPC外部からのアクセス)という記事を書いたが、このprefix変更を障害時に手動で行うわけにはいかないので、自動実行できるように切り替えのスクリプトを書いてみた。
#スクリプトサンプル
ibmcloud_apikey
というファイルにAPI Keyを記載しておく。
vpcprefixswitch.sh
#!/bin/sh
#Usage example: ./vpcrouteswitch.sh jp-tok-1
export LANG=C
VPC_ID=r022-85621b2c-a349-4ae6-87e3-767ddeac7298
PREFIX_CIDR=192.168.10.0/28
PREFIX_NAME=cidr-192-168-10-0-28
ZONE_NAME=$1
#Check
if [ $# -ne 1 ]; then
echo "Sorry, we had a problem there!"
exit 1
fi
#Login
ibmcloud login -a cloud.ibm.com --apikey @ibmcloud_apikey -r jp-tok
#LIST EXISTING ROUTE
PREFIX_IDS=$(ibmcloud is vpc-address-prefixes ${VPC_ID} | grep ${PREFIX_CIDR} | awk '{print $1}')
echo ${PREFIX_IDS}
#DELETE ROUTES
ibmcloud is vpc-address-prefix-delete ${VPC_ID} $(echo ${PREFIX_IDS}) -f
#CREATE NEW ROUTES
ibmcloud is vpc-address-prefix-create ${PREFIX_NAME} ${VPC_ID} ${ZONE_NAME} ${PREFIX_CIDR}
#実行例
# ./vpcprefixswitch.sh jp-tok-2