Skip to content

Show HN: Run a Python Flask HTTP Server in AWS Lambda (w/Poetry)

github.com/scaffoldly
3 pointscnuss4 comments
On HN

Scaffoldly allows you to run any HTTP server inside AWS Lambda. It requires no code changes to your existing server and a simple configuration in the project's pyproject.toml. Deployments can be done locally or in GitHub Actions.

In this example, we're running a Flask server in AWS Lambda, and the scaffoldly toolchain handles packaging, deployment, and routing of AWS Lambda HTTP requests.

Comments

it uses the port 5000, can lambda open any port?

cnussOP

Yup! Change the `handler` and `start` command:

``` handler = "localhost:5000" ... start = "poetry run flask --app flask_poetry run -p 12345" ```

is this port publicly accessible? or the traffic is forwarded by lambda's interface?

cnussOP

It's not publicly accessible, per-se..., there's a reverse proxy I've written

1. There's a Function URL that then creates a Lambda HTTP Event

2. There's a reverse proxy in the container that converts the Lambda HTTP Event back into a HTTP Request

3. Then the HTTP Respose is transformed back into a Lambda HTTP Event Response

@billconan if you'd like, join my Discord and I'd be happy dive into details and/or provide more docs: https://scaffoldly.dev/community

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.