3
VPC 내부의 람다 함수에서 VPC 외부의 키네시스 스트림에 액세스하려고합니다. 현재 kinesis 스트림에 쓰는 코드가 실행될 때 멈추고 시간 초과됩니다. VPC에서 람다를 가져 와서 스트림에 쓰는 코드가 제대로 작동합니다. 하지만 VPC 내의 리소스에 액세스 한 다음 스트림에 쓸 필요가 있습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까? 여기 VPC 외부에서 VPC 외부의 AWS 리소스에 액세스 - 서버리스 프레임 워크
가 여기 VPCfunctions:
handleChanges:
handler: functions/handlers.handleChanges
timeout: 10
package:
include:
- functions/utils/**
events:
- http:
method: POST
path: "/"
integration: lambda
vpc:
securityGroupIds:
- ${file(./private.yml):variables.securityGroup}
subnetIds:
- ${file(./private.yml):variables.subnetID}
에 내 기능입니다 것은 드디어 내 정책
iamRoleStatements:
- Effect: "Allow"
Action:
- "kinesis:PutRecord"
- "kinesis:GetRecords"
- "kinesis:GetShardIterator"
- "kinesis:DescribeStream"
- "kinesis:ListStreams"
Resource:
Fn::GetAtt:
- KinesisStream
- Arn
- Effect: "Allow"
Action:
- "cognito-idp:AdminGetUser"
Resource: "*"
- Effect: "Allow"
Action:
- "logs:CreateLogGroup"
- "logs:CreateLogStream"
- "logs:PutLogEvents"
- "ec2:CreateNetworkInterface"
- "ec2:DescribeNetworkInterfaces"
- "ec2:DeleteNetworkInterface"
Resource: "*"
되고하는 유일한 솔루션입니다
KinesisStream:
Type: AWS::Kinesis::Stream
Properties:
Name: ${self:provider.environment.STREAM_NAME}
ShardCount: 1
답변 해 주셔서 감사합니다. 방금 NAT 게이트웨이를 만들었고 지금은 작동하는 것 같습니다. 나는이 요지를 우연히 발견했다 : https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7 –
잠재적 인 보안 위험 요소가 있는지 알고 계십니까? –
@realseanp VPC NAT 게이트웨이는 외부에서 시작된 연결이 아니라 내부에서 시작된 연결 만 허용하므로 내부 리소스가이 설정을 사용하여 노출되지 않습니다. 본질적으로 안전하지 않은 구성으로 NAT 게이트웨이를 설정하는 방법은 본질적으로 없습니다. –