mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
117 lines
4.1 KiB
Markdown
117 lines
4.1 KiB
Markdown
<!--
|
||
title: Setting Up Serverless Framework With AWS
|
||
layout: Doc
|
||
-->
|
||
|
||
# Setting Up Serverless Framework With AWS
|
||
|
||
Get started with Serverless Framework’s open-source CLI and AWS in minutes.
|
||
|
||
## Installation
|
||
|
||
Install the `serverless` CLI via NPM:
|
||
|
||
```bash
|
||
npm install -g serverless
|
||
```
|
||
|
||
Note: If you don’t already have Node on your machine, [install it first](https://nodejs.org/). If you don't want to install Node or NPM, you can [install `serverless` as a standalone binary](./install-standalone.md).
|
||
|
||
### Upgrade
|
||
|
||
You can upgrade the CLI later by running the same command: `npm install -g serverless`.
|
||
|
||
To upgrade to a specific major version, specify it like this: `npm install -g serverless@2`. If you installed `serverless` as a standalone binary, [read this documentation instead](./install-standalone.md).
|
||
|
||
## Getting started
|
||
|
||
To create your first project, run the command below and follow the prompts:
|
||
|
||
```bash
|
||
# Create a new serverless project
|
||
serverless
|
||
|
||
# Move into the newly created directory
|
||
cd your-service-name
|
||
```
|
||
|
||
The `serverless` command will guide you to:
|
||
|
||
1. create a new project
|
||
2. configure [AWS credentials](https://serverless.com/framework/docs/providers/aws/guide/credentials/)
|
||
3. optionally set up a free [Serverless Dashboard](https://www.serverless.com/monitoring) account to monitor and troubleshoot your project
|
||
|
||
_Note: users based in China get a setup centered around the chinese [Tencent](https://intl.cloud.tencent.com/) provider. To use AWS instead, set the following environment variable: `SERVERLESS_PLATFORM_VENDOR=aws`._
|
||
|
||
Your new serverless project should contain a `serverless.yml` file. This file defines what will be deployed to AWS: functions, events, resources and more. You can learn more about this in the [Core Concepts documentation](./providers/aws/guide/intro.md).
|
||
|
||
If the templates proposed by `serverless` do not fit your needs, check out the [project examples from Serverless Inc. and our community](https://www.serverless.com/examples/). You can install any example by passing a GitHub URL using the `--template-url` option:
|
||
|
||
```sh
|
||
serverless --template-url=https://github.com/serverless/examples/tree/v3/...
|
||
```
|
||
|
||
### Deploying
|
||
|
||
If you haven't done so already within the `serverless` command, you can deploy the project at any time by running:
|
||
|
||
```bash
|
||
serverless deploy
|
||
```
|
||
|
||
The deployed functions, resources and URLs will be displayed in the command output.
|
||
|
||
[Learn more about deploying](./providers/aws/guide/deploying.md).
|
||
|
||
### Invoking function
|
||
|
||
If you deployed an API, querying its URL will trigger the associated Lambda function. You can find that URL in the `serverless deploy` output, or retrieve it later via `serverless info`.
|
||
|
||
If you deployed a function that isn't exposed via a URL, you can invoke it via:
|
||
|
||
```bash
|
||
serverless invoke -f hello
|
||
|
||
# Invoke and display logs:
|
||
serverless invoke -f hello --log
|
||
```
|
||
|
||
### Fetching function logs
|
||
|
||
All logs generated by a function's invocation are automatically stored in AWS CloudWatch. Retrieve those logs in the CLI via:
|
||
|
||
```bash
|
||
serverless logs -f hello
|
||
|
||
# Tail logs
|
||
serverless logs -f hello --tail
|
||
```
|
||
|
||
### Monitoring
|
||
|
||
You can monitor and debug Lambda functions and APIs via the [Serverless Dashboard](https://www.serverless.com/monitoring).
|
||
|
||
To set it up, run the following command in an existing project and follow the prompts:
|
||
|
||
```bash
|
||
serverless
|
||
```
|
||
|
||
### Remove your service
|
||
|
||
If you want to delete your service, run `serverless remove`. This will delete all the AWS resources created by your project and ensure that you don't incur any unexpected charges. It will also remove the service from Serverless Dashboard.
|
||
|
||
```bash
|
||
serverless remove
|
||
```
|
||
|
||
## What's next
|
||
|
||
Now that Serverless Framework is installed, here is what you can do next:
|
||
|
||
- Follow the [tutorial to create an example HTTP API with Node](./tutorial.md)
|
||
- Learn about the [core concepts in Serverless Framework](./providers/aws/guide/intro.md)
|
||
- [Redeploy a single function](./providers/aws/guide/deploying.md#deploy-function) for iterating faster while developing
|
||
- Discover all the [events that can trigger Lambda functions](https://www.serverless.com/framework/docs/providers/aws/guide/events)
|
||
- Check out the [plugins registry](https://www.serverless.com/plugins)
|