AWSで特定のリソースを起動および停止するBashスクリプトを作成したいと思います。私が経験している問題は、前のコマンドで生成された特定のリソースIDを必要とするリソースを生成したいということです。目的は、編集するのではなく単一のスクリプトを実行してリソースを起動できるようにすることです。
たとえば、NATゲートウェイを作成した後、生成されたNATゲートウェイのIDをルーティングテーブルコマンドに追加します。
$ aws ec2 create-nat-gateway
出力例:
"NatGatewayId": "nat-1111111"
$ aws ec2 replace-route --route-table-id rtb-000000000 \
--destination-cidr-block 0.0.0.0/0 --nat-gateway-id "***nat-id-output***"
ベストアンサー1
O=$(aws ec2 create-nat-gateway | perl -pe 's/.*: //g');
while true ; do
C=$(aws ect describe-nat-gateways --nat-gateway-ids "$O" | grep -c available || true);
if [ $C -gt 0 ] ; then
break;
fi
sleep 3;
done
aws ec2 replace-route --route-table-id rtb-000000000 --destination-cidr-block 0.0.0.0/0 --nat-gateway-id "$O";