You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将GitLab上需企业VPN的Python脚本部署到AWS Lambda并配置Cron定时任务

AWS Lambda 定时运行需企业VPN的Python脚本全流程指南

1. 前置准备

  • 拥有对应权限的AWS账号(需包含Lambda、VPC、EventBridge、IAM操作权限)
  • 企业VPN的端点信息、认证凭证(预共享密钥、账号密码等)
  • 存放Python脚本的GitLab仓库权限、GitLab CI/CD启用权限

2. 配置AWS端VPN与Lambda网络绑定

  • 先在AWS VPC控制台配置站点到站点VPN连接,对接你的企业VPN端点,完成路由配置、安全组放行,确保VPC内资源可以正常访问企业内网资源
  • 进入Lambda控制台新建Python运行时的函数,在函数配置的「VPC」选项卡,绑定刚才配置好VPN的VPC、私有子网,配置允许访问企业内网的安全组
  • 测试Lambda基础连通性:在Lambda控制台运行测试代码,验证是否能正常访问企业内网的目标服务,示例测试代码如下:
import requests
def lambda_handler(event, context):
    # 替换为你企业内网的可访问测试地址
    resp = requests.get("http://your-intranet-test-address.com/ping")
    return resp.status_code

3. 配置GitLab CI/CD自动部署代码到Lambda

  • 先在AWS IAM控制台创建专门用于GitLab部署的用户,授予AWSLambda_FullAccess权限(最小权限可按需收缩),生成Access Key和Secret Key
  • 进入GitLab对应仓库的「Settings - CI/CD - Variables」,添加3个保密变量:AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_REGION,值对应你刚才生成的AWS凭证和部署区域
  • 在仓库根目录新建.gitlab-ci.yml文件,写入部署配置,示例配置如下:
stages:
  - deploy

deploy_lambda:
  stage: deploy
  image: amazon/aws-cli:latest
  only:
    - main # 仅main分支提交时触发部署,可按需修改
  script:
    - aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
    - aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
    - aws configure set region $AWS_REGION
    # 打包当前目录代码,忽略无用文件
    - zip -r lambda_function.zip . -x ".git/*" ".gitlab-ci.yml"
    # 更新Lambda函数代码
    - aws lambda update-function-code --function-name 你的Lambda函数名称 --zip-file fileb://lambda_function.zip
  • 提交代码到main分支,查看GitLab CI/CD流水线运行状态,确认部署成功后到Lambda控制台验证代码已经同步

4. 配置定时Cron触发规则

  • 进入AWS EventBridge控制台,新建规则,规则类型选择「定时规则」
  • Cron表达式按你需要的执行时间配置,注意AWS EventBridge的Cron为UTC时间,比如要每天北京时间上午9点执行,对应UTC时间凌晨1点,表达式为0 1 * * ? *
  • 目标类型选择「Lambda函数」,选择你之前创建的Lambda函数,保存规则即可
  • 可以手动触发一次EventBridge规则,验证Lambda是否能正常执行、返回预期结果

常见问题排查

  • 若Lambda无法访问企业内网:优先检查VPC路由表是否指向VPN连接、安全组是否放行了对应出站端口、VPN连接状态是否正常
  • 若GitLab部署失败:检查IAM用户权限是否足够、GitLab变量是否配置正确、Lambda函数名称是否填写正确
  • 若定时触发不生效:检查Cron表达式的时区是否正确、EventBridge规则状态是否启用、Lambda函数的执行权限是否允许EventBridge调用

内容的提问来源于stack exchange,提问作者Kristina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 19:24:00