How to deploy the Upstash Rate Limit template through Azion
Preview
The Upstash Rate Limit template helps you to implement rate limiting in a serverless environment, without requiring extensive manual setup. This template includes configurations for limiting requests and window limit.
It works in conjunction with Azion Edge Functions, being possible to adjust the initial setup based on the args. Additionally, this template creates a new GitHub repository that allows a continuous deployment workflow. This way, you’re able to further configure and customize the setup to attend to your needs, obtaining easy management and delivery of your personalized content.
Requirements
To start using this template, you need to:
- Create an Upstash account.
- Create a Global Database for the best available edge latency in the Upstash Console.
- Have a GitHub account to connect with Azion and create your new repository.
- Every push will be deployed automatically to this repository to keep your project updated.
- Enable Edge Functions in your Azion account.
- To do so:
- Access Azion Console > Account menu
- Select the Billing & Subscriptions option.
- Select the Subscriptions tab.
- Activate the switch for the module.
Deploying the template
You can obtain and configure your template through the Azion Console. To easily deploy it at the edge, click the button below.
DeploySetting up the template
In the configuration form, you must provide the information to configure your edge application. Fill in the presented fields.
- Connect Azion with your GitHub account.
- A pop-up window will open to confirm the installation of the Azion GitHub App, a tool that connects your GitHub account with Azion’s platform.
- Define your permissions and repository access as desired.
- Select the Git Scope to work with.
- Define a name for your edge application.
- The bucket for storage and the edge function will use the same name.
- Use a unique and easy-to-remember name. If the name has already been used, the platform returns an error message.
- Enter the following information:
- Upstash Redis Rest URL *: the URL to access your Upstash database using REST.
- Go to your Upstash Console and copy the
UPSTASH_REDIS_REST_URL
in your database page.
- Go to your Upstash Console and copy the
- Upstash Redis Rest Token *: the token to authorize access to your Upstash database using REST.
- Go to your Upstash Console and copy the
UPSTASH_REDIS_REST_TOKEN
in your database page.
- Go to your Upstash Console and copy the
- Request Limit: the maximum number of requests. Example:
6
. - Window Limit: the time window for new requests. Example:
10 s
(can be used: “ms” | “s” | “m” | “h” | “d”).
- Click the Deploy button to start the deployment process.
During the deployment, you’ll be able to follow the process through a window showing off the logs. When it’s complete, the page shows information about the application and some options to continue your journey.
Key configurations
The Upstash Rate Limit template creates a new Azion edge application and its domain. It also creates an edge function, to provide the arguments for the rate limiting, and a new repository in your GitHub account based on a public template, including a GitHub Action to enable continuous depployment.
In this function, the upstash/redis
and upstash/ratelimit
libraries are integrated, connecting to your Upstash Global Database and checking in the /login
route if it’s within the configured Window and Limit. The key for limits is metadata ["remote_addr"]
.
Managing your project
Considering the initial setup may not be optimal for your specific web application, all settings can be customized any time you need using Azion Console. Once the template is deployed, you also have full control over customizing your Upstash account and database.
To manage and edit your edge application’s settings on Azion, follow these steps:
- Access Console.
- On the upper-left corner, select Products menu > Edge Application.
- You’ll be redirected to the Edge Application page. It lists all the edge applications you’ve created.
- Find the edge application by the name you defined during the template execution and select it.
- The list is organized alphabetically. You can also use the search bar located in the upper-left corner of the list; currently, it filters only by Application Name.
After selecting the edge application you’ll work on, you’ll be directed to a page containing all the settings you can configure.
Adding a custom domain
The edge application created during the deployment has an assigned Azion domain to make it accessible through the browser. The domain has the following format: xxxxxxxxxx.map.azionedge.net/
. However, you can add a custom domain for users to access your edge application through it.
Learn how to deploy the Upstash Rate Limit template through Azion: