
āļāļāļāļģ
āđāļāļĒāļļāļāļāļĩāđāđāļ§āđāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāđāļāļāļĢāļāļāļĢāļąāļāļāļđāđāđāļāđāļāļģāļāļ§āļāļĄāļēāļ āļĢāļ°āļāļāļāđāļāļāļāļđāļāļāļāļāđāļāļāđāļŦāđāļŠāļēāļĄāļēāļĢāļ âāļāļĒāļēāļĒāļāļąāļ§āđāļāđāļāđāļēāļĒâ (Scalable), âāđāļĄāđāļāđāļāļāļāļđāđāļĨāđāļāļĢāļ·āđāļāļāđāļāļâ (Serverless), āđāļĨāļ° âāļāļąāļāļāļēāđāļāđāļĢāļ§āļāđāļĢāđāļ§â āļ§āļąāļāļāļĩāđāđāļĢāļēāļāļ°āļĄāļēāļāļđāļāļąāļāļ§āđāļē Developer āļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļāļĢāļ°āļāļ Full-stack Web App āļāđāļ§āļĒāđāļāļāđāļāđāļĨāļĒāļĩ React / Angular āļāļāļāļąāđāļāļŦāļāđāļēāđāļ§āđāļ āđāļĨāļ° API Gateway + Lambda + DynamoDB āļāļāļāļąāđāļāļŦāļĨāļąāļāļāđāļēāļāđāļāđāļāļĒāđāļēāļāđāļĢ
1. āļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāļāļāļāļĢāļ°āļāļ
āļĢāļ°āļāļ Full-stack āļāļĩāđāđāļĢāļēāļāļ°āļŠāļĢāđāļēāļāļāļ°āļāļĢāļ°āļāļāļāļāđāļ§āļĒ 4 āļŠāđāļ§āļāļŦāļĨāļąāļāļāļąāļāļāļĩāđ:
- Frontend: React āļŦāļĢāļ·āļ Angular (Static Hosting āļāļ S3 + CloudFront)
- Backend: AWS Lambda + API Gateway
- Database: DynamoDB (NoSQL Database)
- Authentication: AWS Cognito (āļāđāļēāļĄāļĩāļāļđāđāđāļāđāļĨāđāļāļāļāļīāļ)
2. āļŠāļĢāđāļēāļ Frontend āļāđāļ§āļĒ React / Angular
āļŠāļģāļŦāļĢāļąāļāļāļąāļ§āļāļĒāđāļēāļāļāļĩāđāđāļĢāļēāļāļ°āđāļāđ React āđāļāđāđāļāļ§āļāļīāļāđāļāļĩāļĒāļ§āļāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļąāļ Angular āđāļāđāđāļāđāļāļāļąāļ āđāļĢāļīāđāļĄāļāđāļāļāđāļ§āļĒāļāļēāļĢāļŠāļĢāđāļēāļāđāļāļĢāđāļāļ React:
npx create-react-app my-aws-webapp
cd my-aws-webapp
npm start
āļāļēāļāļāļąāđāļāļŠāļĢāđāļēāļāđāļāļĨāđ src/api.js āđāļāļ·āđāļāđāļāļ·āđāļāļĄāļāđāļāļāļąāļ API Gateway:
// src/api.js
const API_URL = "https://your-api-id.execute-api.ap-southeast-1.amazonaws.com/prod";
export async function getItems() {
const res = await fetch(`${API_URL}/items`);
return res.json();
}
export async function addItem(data) {
const res = await fetch(`${API_URL}/items`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(data)
});
return res.json();
}
3. āļŠāļĢāđāļēāļ API āļāđāļ§āļĒ API Gateway + Lambda
API Gateway āļāļ°āļāļģāļŦāļāđāļēāļāļĩāđāđāļāđāļ âāļāļēāļāđāļāđāļēâ āļāļāļāļāļļāļ Request āļāļēāļ Frontend āđāļĨāļ°āļāļ°āđāļāļ·āđāļāļĄāļāđāļāđāļāļĒāļąāļ AWS Lambda āļāļķāđāļāđāļĢāļēāļāļ°āđāļāļĩāļĒāļāđāļāđāļ Backend Logic āļāđāļ§āļĒ Node.js āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļ Lambda āļāļąāļāļāđāļāļąāļ:
// index.js
const AWS = require("aws-sdk");
const dynamo = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event) => {
const method = event.httpMethod;
if (method === "GET") {
const result = await dynamo.scan({ TableName: "ItemsTable" }).promise();
return { statusCode: 200, body: JSON.stringify(result.Items) };
}
if (method === "POST") {
const item = JSON.parse(event.body);
await dynamo.put({ TableName: "ItemsTable", Item: item }).promise();
return { statusCode: 200, body: JSON.stringify(item) };
}
return { statusCode: 400, body: "Unsupported method" };
};
4. āļāļąāđāļāļāđāļē DynamoDB Table
DynamoDB āđāļāđāļ NoSQL Database āļāļĩāđāđāļŦāļĄāļēāļ°āļāļąāļāļĢāļ°āļāļāđāļāļ Serverless āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļ Table āđāļāđāļāđāļēāļĒāļāđāļēāļ AWS Console āļŦāļĢāļ·āļ CLI:
aws dynamodb create-table \
--table-name ItemsTable \
--attribute-definitions AttributeName=id,AttributeType=S \
--key-schema AttributeName=id,KeyType=HASH \
--provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
5. āđāļāļ·āđāļāļĄāđāļĒāļ API Gateway āļāļąāļ Lambda
āļŦāļĨāļąāļāļāļēāļāļŠāļĢāđāļēāļ Lambda āđāļĨāđāļ§ āđāļŦāđāđāļāļ·āđāļāļĄāļāļąāļ API Gateway āđāļāļĒāļāļģāļŦāļāļ Resource āđāļāđāļ:
- GET /items â āđāļĢāļĩāļĒāļāļāļąāļāļāđāļāļąāļ Lambda āđāļāļ·āđāļāļāđāļēāļāļāđāļāļĄāļđāļĨ
- POST /items â āđāļĢāļĩāļĒāļāļāļąāļāļāđāļāļąāļ Lambda āđāļāļ·āđāļāđāļāļīāđāļĄāļāđāļāļĄāļđāļĨ
6. Deploy āđāļĨāļ°āļāļāļŠāļāļ API
āđāļāđ AWS Console āļŦāļĢāļ·āļ CLI āđāļāļāļēāļĢ Deploy API:
aws apigateway create-deployment \
--rest-api-id abcd1234 \
--stage-name prod
āļāļēāļāļāļąāđāļāļĨāļāļāđāļĢāļĩāļĒāļ API āļāđāļēāļ Postman āļŦāļĢāļ·āļ curl:
curl https://your-api-id.execute-api.ap-southeast-1.amazonaws.com/prod/items
7. Deploy Frontend āļāļķāđāļ AWS S3 + CloudFront
āļŦāļĨāļąāļāļāļēāļ build āđāļāļāđāļĨāđāļ§ āđāļŦāđāļāļģāđāļāļĨāđāļāļķāđāļ S3:
npm run build
aws s3 sync build/ s3://my-frontend-bucket
āđāļĨāđāļ§āđāļāļ·āđāļāļĄāļāļąāļ CloudFront āđāļāļ·āđāļāđāļŦāđāļāļđāđāđāļāđāđāļāđāļēāļāļķāļāđāļāđāđāļĢāđāļ§āļāļēāļāļāļąāđāļ§āđāļĨāļ

8. āļāļēāļĢāļāļģ Observability āđāļĨāļ° Logging
āđāļāđ CloudWatch āđāļāļāļēāļĢāđāļāđāļ Logs āļāļāļ Lambda āđāļĨāļ° Metrics āļāļāļ API Gateway āđāļāļ·āđāļāļāļđāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļāđāļāļāļīāļāļāļĨāļēāļ
9. āļŠāļĢāļļāļāļ āļēāļāļĢāļ§āļĄāļĢāļ°āļāļ Full-stack
āđāļĄāļ·āđāļāļāļļāļāļŠāđāļ§āļāđāļāļ·āđāļāļĄāļāđāļāļāļąāļ āđāļĢāļēāļāļ°āđāļāđāļĢāļ°āļāļ Full-stack āļāļĩāđāļŠāļēāļĄāļēāļĢāļāļĢāļāļāļĢāļąāļāļāļđāđāđāļāđāļāļģāļāļ§āļāļĄāļēāļ āļĄāļĩāļāļēāļĢ Scale āļāļąāļāđāļāļĄāļąāļāļī āđāļĨāļ°āđāļĄāđāļāđāļāļāļāļđāđāļĨ Server āđāļāļ āđāļŦāļĄāļēāļ°āļāļąāļāļāļąāđāļ Web Application, Dashboard, āļŦāļĢāļ·āļāļĢāļ°āļāļ Enterprise
ð āļāļāļāļ§āļēāļĄāđāļāļĒ King Pool
āļ āļēāļāļāļĢāļ°āļāļāļ: AWS Lambda, API Gateway, DynamoDB, React/Angular Integration
āļāđāļēāļāļāđāļ: āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļ Serverless Architecture āļāļĩāđāļĢāļāļāļĢāļąāļāļŦāļĨāļąāļāļĨāđāļēāļ Request