Use FC to open up the tunnel between the local and Alibaba Cloud vpc network
Project description
简介
一个快速打通本地开发环境和阿里云云上 vpc 具体实例 tcp 网络的简洁工具
快速开始
前提条件
安装
$ pip install fc-tunnel
编写配置文件 config.json, 例如:
{
"akId": "your aliyun ak id",
"akSecret": "your aliyun ak secret",
"accountId": "your aliyun main account id",
"region": "cn-beijing",
"vpcId": "vpc-2zes9muk32e82wwt7kfef",
"vSwitchIds": "vsw-2zek7r3kcvmu3div13bh4",
"securityGroupId": "sg-2zed3dvbh98kzoi3cch5",
"remoteIP": "10.20.108.195",
"remotePorts": "8080,9000"
}
其中:
- 如果 ak 不是对应主账号或者具有 admin 权限的子账号, 请先给 ak 对应的子账号添加 FCFullAccess 和 自定义 RAM Policy:
{
"Statement": [
{
"Effect": "Allow",
"Action": "tns:*",
"Resource": "*"
}
],
"Version": "1"
}
-
remoteIP 表示云上阿里云 vpc 的内网地址, 具体可以是 SAE 应用的实例内部 IP, ECI 实例的内部 IP, ECS 内网 IP 等
-
remotePorts 对应 remoteIP 实例映射到本地的端口
如上面的 config.json 所示, 如果您有一个 vpc 内置地址为 10.20.108.195 的 SAE 实例, 这个 SAE 实例上跑的是一个 java SpringBoot 的应用, 8080 是 web 服务端口, 9000 是远程调试的端口
建立通道, 远程访问及调试
$ fct -c config.json
耐心等待, 直到输出 Session is OK! now you can remote debug
, 注意不要关闭这个终端。
以上面那个 config.json 为例, 这个时候:
-
可以直接使用
http://127.0.0.1:8080
访问 SpringBoot 网站 -
直接使用本地 IDE IDEA 上的源码对实例上的 jar 包进行远程调试
- 在菜单栏选择 Run… > Edit Configurations 。
- 新建一个 Remote Debugging 。
- 自定义调试器名称,并将端口配置为 9000 。
- 上述配置完成后,在 IDEA 编辑器侧边栏为函数代码增加断点,点击"开始调试"按钮。
当然您也可以借助本地的代理容器实例,作为跳板机, 实现对云上具体实例的管理操作
$ docker ps -a | grep VPN-Local
d46a86c27abd registry.cn-beijing.aliyuncs.com/aliyunfc/vpn-local-proxy:v0.0.1 "/usr/app/start.sh" 5 minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:9000->9000/tcp VPN-Local-S-5ecc9bda-6d83-4f5d-884c-6739d8a3925e
$ docker exec -it d46a86c27abd bash
root@d46a86c27abd:/usr/app# telnet 10.20.108.195 8080
Trying 10.20.108.195...
Connected to 10.20.108.195.
Escape character is '^]'.
关闭通道
调试完毕后, 直接 CTRL+C
结束建立通道命令执行的那个终端, 会自动执行清理 FC 资源操作, 尤其是会自动取消有付费的预留
其他
通道建立借助了 Serverless 的 FC 128M 实例, FC的计费粒度精确到毫秒计费
-
函数实例资源使用量:每月前400,000 GB-秒函数实例资源使用量免费
-
即使不考虑每个月的免费额度,我们这里折算成小时, 也就是您调试 1h, 费用大约为 0.000110592元/GB-秒128/10243600 =0.0497 元
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file fc_tunnel-0.0.8.tar.gz
.
File metadata
- Download URL: fc_tunnel-0.0.8.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.63.0 importlib-metadata/4.6.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8976debc7946c24f6431a840e57e510f713abe7b3ca6d5de1af7cdaf8ac93bc |
|
MD5 | a15f5c420577baaab1e75e3d304ef16f |
|
BLAKE2b-256 | 9410e2345cae2565ad4f36c60853e62c936375f36f7b9a6d74c46d3069c00301 |