Wdrażanie na AWS Lambda
Jak wdrożyć aplikację Node.js na AWS Lambda krok po kroku
💭 Join the Discussion
0 comments
Be the first to comment!
Share your thoughts and start the conversation
Wdrażanie na AWS Lambda
AWS Lambda pozwala uruchamiać kod bez zarządzania serwerami. Oto jak wdrożyć nasz blog.
Przygotowanie kodu
1. Struktura projektu
`` lambda-blog/ ├── server.js # Główny plik aplikacji ├── package.json # Zależności ├── posts/ # Posty Markdown │ ├── post1.md │ └── post2.md └── README.md
`
2. Handler Lambda
`javascript
const serverless = require('serverless-http');
const app = require('./server');
exports.handler = serverless(app);
`Wdrożenie
Opcja 1: AWS CLI
`bash
Spakuj aplikację
zip -r lambda-blog.zip .
Utwórz funkcję Lambda
aws lambda create-function \
--function-name lambda-blog \
--runtime nodejs18.x \
--role arn:aws:iam::ACCOUNT:role/lambda-role \
--handler index.handler \
--zip-file fileb://lambda-blog.zip
`Opcja 2: AWS Console
1. Otwórz AWS Lambda Console
2. Kliknij "Create function"
3. Wybierz "Author from scratch"
4. Nazwa:
lambda-blog
5. Runtime:
Node.js 18.x
6. Upload kodu jako ZIP
Opcja 3: Serverless Framework
`yaml
serverless.yml
service: lambda-blog
provider:
name: aws
runtime: nodejs18.x
region: us-east-1
functions:
app:
handler: index.handler
events:
- http:
path: /{proxy+}
method: ANY
- http:
path: /
method: ANY
`Wdrożenie:
`bash
npm install -g serverless
serverless deploy
`API Gateway
Lambda automatycznie integruje się z API Gateway:
Endpoint:
https://api-id.execute-api.region.amazonaws.com/stage/
Routing: Wszystkie ścieżki przekierowane do Lambda
CORS: Skonfigurowany automatycznie Optymalizacja
Cold Start
`javascript
// Inicjalizacja poza handlerem
const posts = loadPosts();
exports.handler = async (event, context) => {
// Szybka odpowiedź
return response;
};
`Rozmiar pakietu
Usuń
devDependencies
Minimalizuj
node_modules
Użyj
.lambdaignorePamięć i timeout
`javascript
// AWS Console lub serverless.yml
{
"memorySize": 256,
"timeout": 30
}
`Monitoring
CloudWatch Logs
`javascript
console.log('Info log');
console.error('Error log');
``Metryki
Koszty
Lambda pricing:
Podsumowanie
AWS Lambda to doskonały wybór dla małych i średnich blogów. Oferuje skalowalność, niskie koszty i zero administracji serwerów.