Trong bài tập này, bạn sẽ cập nhật mã nguồn trong Eclipse, ghi đè lên mẫu Hello World! microservice và thay thế nó bằng mã TravelBuddy FlightService. Sau đó, bạn sẽ commit thay đổi mã vào CodeCommit để kích hoạt triển khai vào môi trường AWS Lambda của bạn và cập nhật cấu hình Amazon API Gateway để phù hợp.
cd git\dev-flight-svc
git checkout -b "new-implementation"
Nếu bạn không xóa nội dung hai thư mục /src và /target trước khi copy code mới vào thì quá trình build sẽ bị lỗi vì chúng ta không cấu hình cho HelloWorldController / Handler.
Sau khi hoàn tất, bạn sẽ thấy cấu trúc thư mục như sau:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"iam:GetRole",
"iam:CreateRole",
"iam:DeleteRole",
"iam:PassRole",
"iam:PutRolePolicy",
"iam:DeleteRolePolicy",
"lambda:ListTags",
"lambda:TagResource",
"lambda:UntagResource",
"lambda:AddPermission",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:CreateNetworkInterface",
"ec2:AttachNetworkInterface",
"ec2:DescribeNetworkInterfaces"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
idevelopCodeStarCloudFormationPolicy
và chọn Create policy.Khi thêm vai trò CodeStarWorker-dev-flight-svc-CloudFormation, các quyền trong idevelopCodeStarCloudFormationPolicy policy cho phép CLoudFormation hành động thay mặt bạn khi các triển khai thay đổi trong môi trường, bao gồm quyền cho phép hàm Lambda gắn với VPC nơi RDS instance lưu trữ trang web TravelBuddy được triển khai. Chúng cũng cho phép CloudFormation tạo một IAM Role mới mà hàm Lambda sử dụng để thực thi.
Tập tin CloudFormation template template.yml được cung cấp trong FlightSpecials.zip có một vài giá trị cần cập nhật trước khi tiến hành triển khai. Những giá trị này bao gồm Subnet Ids, Security Group Ids and the RDS Instance Endpoint.
Mở tập tin template.yml và thay thế giá trị sg- bởi Security Group Id của DBSecurityGroup.