- 首先在AWS控制台中创建一个ECS任务定义。示例代码如下:
{
"containerDefinitions": [
{
"name": "your-container-name",
"image": "your-container-image",
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
],
"essential": true,
"memory": 512,
"cpu": 256
}
],
"networkMode": "bridge",
"family": "your-task-family",
"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
"taskRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
}
- 创建一个ECS服务,并将任务定义绑定到该服务。示例代码如下:
aws ecs create-service --service-name your-service-name --cluster your-cluster-name --task-definition your-task-definition --desired-count 1 --launch-type FARGATE --network-configuration "awsvpcConfiguration={subnets=[your-subnet],securityGroups=[your-security-group],assignPublicIp=DISABLED}"
- 在Route 53中创建一个别名记录来映射ECS服务的负载均衡器DNS名称。示例代码如下:
{
"Comment": "Alias record for your ECS service",
"Changes": [
{
"Action": "CREATE",
"ResourceRecordSet": {
"Name": "your.domain.name",
"Type": "A",
"AliasTarget": {
"DNSName": "your-ecs-service-lb-dns-name",
"EvaluateTargetHealth": false,
"HostedZoneId": "your-load-balancer-hosted-zone-id"
}
}
}
]
}
- 在Angular应用程序中使用HTTP服务调用ECS任务。示例代码如下:
const options = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
};
this.http.get('http://your.domain.name