typescript - Tillat inngående trafikk fra en sikkerhetsgruppe til en annen ved bruk av AWS CDK
Hvordan kan jeg koble to sikkerhetsgrupper sammen ved hjelp av AWS CDK?
Dette er et eksempel på å tillate IPv4-trafikk inn via port 443
ec2SecurityGroup.addIngressRule(Peer.anyIpv4(), Port.tcp(443), 'Test rule', false)
Dette fra dokumentasjonen:
public addIngressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void
Dette er det beste jeg kunne komme opp med (hvor 'elbSecurityGroup' er en annen sikkerhetsgruppe):
const p = Peer.anyIpv4()
p.connections.allowFrom(elbSecurityGroup.connections, Port.tcp(443))
ec2SecurityGroup.addIngressRule(p, Port.tcp(443), 'Test rule', false)
Men det gir egentlig ingen mening. Det må finnes en bedre måte å initialisere kammeraten på. Typescript sier
Konstruktøren for klassen 'Peer' er beskyttet og kun tilgjengelig innenfor klassens deklarasjon.
Hvis jeg prøver:
const p = new Peer()
Svar #1
Dette kan gjøres ved å få tilgang til 'connections' på SecurityGroups eller andre konstruksjoner direkte
ec2SecurityGroup.connections.allowFrom(elbSecurityGroup, Port.tcp(443), 'Application Load Balancer')
Eller fra et EC2-instansobjekt direkte til en annen EC2-instans:
ec2Instance1.connections.allowFrom(ec2Instance2, Port.tcp(4321), 'Inbound')
ec2Instance2.connections.allowTo(ec2Instance1, Port.tcp(4321), 'Outbound')
Dette vil opprette/endre en SecurityGroup laget av CDK som er knyttet til EC2-instansen.
