安装
选择区域
Tokyo, Zone A (ap-northeast-1a)
选择系统
Platform: Linux
blueprint: OS Only => Debian 11.4
选择配置/费用
配置:1vCPU/512MB
流量:1TB流量
注意流量的规则较为复杂:流量=输入+输出 所以在代理方式使用场景下,相当于实际512GB流量 折算为7x24小时不间断使用带宽=512*1000/30/86400*8~=1.58Mbps,个人使用基本够用 超出流量后: 输入的免费(相当于lightsail从外部下载的内容) 输出的额外收费(相当于代理从lightsail下载的内容) 所以超出的流量实际相当于半价
费用:3.5$/月
配置防火墙
开放端口: 22/80/443
默认已经开放22和80端口,只需要新增443端口即可
SSH登陆
系统的SSH默认配置不允许密码登陆,需要先下载私钥
默认账号admin
,ssh admin@xxx
其他
根据实际需要安装代理等
EveryAsCode自动化脚本
前置依赖
用户
从安全考虑,为自动化创建lightsail实例新建专用账号
权限
创建专用policy,只赋予必要权限。这样即使不小心泄漏了用户的AK,也不会造成太大的危害
创建实例和配置防火墙权限:
lightsail:CreateInstances lightsail:OpenInstancePublicPorts
查询系统(blueprint)和配置(bundle)权限:
lightsail:GetBlueprints lightsail:GetBundles
SSH Key
如果不使用默认SSH Key,可以创建一个
Toolchain
执行
aws configure
配置Access Key ID
,Secret Access Key
和Default region name
(ap-northeast-1)
脚本
create-lightsail.sh
#!/bin/bash
INSTANCE_NAME='debian-11-v2ray'
ret=$(aws lightsail get-instance --no-cli-pager \
--instance-name $INSTANCE_NAME | grep 'NotFoundException')
if [ ! -z $ret ]; then
aws lightsail create-instances --no-cli-pager \
--instance-names $INSTANCE_NAME \
--availability-zone ap-northeast-1a \
--blueprint-id debian_11 \
--bundle-id nano_2_0 \
--ip-address-type ipv4 \
--key-pair-name macbook-pro
if [ $? -ne 0 ]; then
echo -e "\033[31mcreate instance error\033[0m"
exit 1
fi
else
echo -e "\033[32m$INSTANCE_NAME is exist\033[0m"
fi
aws lightsail open-instance-public-ports --no-cli-pager \
--instance-name $INSTANCE_NAME \
--port-info fromPort=443,protocol=TCP,toPort=443
if [ $? -ne 0 ]; then
echo -e "\033[31mopen public port 443 error\033[0m"
exit 1
fi
echo -n -e "\033[32mpublic ip:\033[0m"
aws lightsail get-instance --no-cli-pager \
--instance-name $INSTANCE_NAME \
| grep publicIpAddress | awk '{print $2}' | awk -F ',' '{print $1}'