У меня есть скрипт для развертывания проекта без сервера. В настоящее время я использую serverless-vpc-plugin
для настройки AZ, но при использовании флага useNatGateway
- создается EIP для каждой зоны.
Мне нужно заставить весь исходящий трафик использовать один EIP (я обращаюсь к стороннему провайдеру, у которого есть ограничение IP, и мне нужно зарегистрировать свой IP там).
Не уверен, как изменить настройки для использования одного EIP ...
service: test
plugins:
- serverless-vpc-plugin
custom:
vpcConfig:
cidrBlock: 10.0.0.0/16
useNatGateway: true
provider:
name: aws
runtime: nodejs8.10
stage: prod
timeout: 30
vpc:
securityGroupIds:
- Ref: LambdaExecutionSecurityGroup
iamRoleStatements:
- Effect: Allow
Action:
- ec2:*
Resource: '*'
environment:
DATABASE_USERNAME: ${self:service}
DATABASE_PASSWORD: ${self:service}
DATABASE_NAME: ${self:service}
DATABASE_HOST:
'Fn::GetAtt': [RDSCluster, Endpoint.Address]
DATABASE_PORT:
'Fn::GetAtt': [RDSCluster, Endpoint.Port]
functions:
app:
handler: handler.app
events:
- http:
path: /
method: ANY
- http:
path: /{proxy+}
method: ANY
resources:
Resources:
RDSSecurityGroup:
DependsOn: VPC
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: SecurityGroup for RDS
VpcId:
Ref: VPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 3306
ToPort: 3306
SourceSecurityGroupId:
Ref: LambdaExecutionSecurityGroup
RDSCluster:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora
EngineMode: serverless
MasterUsername: ${self:service}
MasterUserPassword: ${self:service}
DatabaseName: ${self:service}
ScalingConfiguration:
AutoPause: false
BackupRetentionPeriod: 30
PreferredBackupWindow: 01:00-02:00
PreferredMaintenanceWindow: mon:03:00-mon:04:00
DBSubnetGroupName:
Ref: RDSSubnetGroup
VpcSecurityGroupIds:
- 'Fn::GetAtt': RDSSecurityGroup.GroupId