Search

VPC

# VPC apiVersion: ec2.aws.crossplane.io/v1beta1 kind: VPC metadata: name: demo-vpc spec: forProvider: region: ap-northeast-2 cidrBlock: 10.0.0.0/16 enableDnsSupport: true enableDnsHostNames: true instanceTenancy: default tags: - key: Name value: demo-vpc providerConfigRef: name: aws-provider --- # Public Subnets apiVersion: ec2.aws.crossplane.io/v1beta1 kind: Subnet metadata: name: demo-public-subnet-a spec: forProvider: region: ap-northeast-2 availabilityZone: ap-northeast-2a cidrBlock: 10.0.0.0/24 vpcIdRef: name: demo-vpc mapPublicIPOnLaunch: true tags: - key: Name value: demo-public-subnet-a providerConfigRef: name: aws-provider --- apiVersion: ec2.aws.crossplane.io/v1beta1 kind: Subnet metadata: name: demo-public-subnet-b spec: forProvider: region: ap-northeast-2 availabilityZone: ap-northeast-2b cidrBlock: 10.0.1.0/24 vpcIdRef: name: demo-vpc mapPublicIPOnLaunch: true tags: - key: Name value: demo-public-subnet-b providerConfigRef: name: aws-provider --- # Private Subnets apiVersion: ec2.aws.crossplane.io/v1beta1 kind: Subnet metadata: name: demo-private-subnet-a spec: forProvider: region: ap-northeast-2 availabilityZone: ap-northeast-2a cidrBlock: 10.0.2.0/24 vpcIdRef: name: demo-vpc mapPublicIPOnLaunch: false tags: - key: Name value: demo-private-subnet-a providerConfigRef: name: aws-provider --- apiVersion: ec2.aws.crossplane.io/v1beta1 kind: Subnet metadata: name: demo-private-subnet-b spec: forProvider: region: ap-northeast-2 availabilityZone: ap-northeast-2b cidrBlock: 10.0.3.0/24 vpcIdRef: name: demo-vpc mapPublicIPOnLaunch: false tags: - key: Name value: demo-private-subnet-b providerConfigRef: name: aws-provider --- # Internet Gateway apiVersion: ec2.aws.crossplane.io/v1beta1 kind: InternetGateway metadata: name: demo-igw spec: forProvider: region: ap-northeast-2 vpcIdRef: name: demo-vpc tags: - key: Name value: demo-igw providerConfigRef: name: aws-provider --- # EIPs for NAT apiVersion: ec2.aws.crossplane.io/v1beta1 kind: Address metadata: name: demo-eip-a spec: forProvider: region: ap-northeast-2 domain: vpc tags: - key: Name value: demo-eip-a providerConfigRef: name: aws-provider --- apiVersion: ec2.aws.crossplane.io/v1beta1 kind: Address metadata: name: demo-eip-b spec: forProvider: region: ap-northeast-2 domain: vpc tags: - key: Name value: demo-eip-b providerConfigRef: name: aws-provider --- # NAT Gateways apiVersion: ec2.aws.crossplane.io/v1beta1 kind: NATGateway metadata: name: demo-natgw-a spec: forProvider: region: ap-northeast-2 allocationIdRef: name: demo-eip-a subnetIdRef: name: demo-public-subnet-a tags: - key: Name value: demo-natgw-a providerConfigRef: name: aws-provider --- apiVersion: ec2.aws.crossplane.io/v1beta1 kind: NATGateway metadata: name: demo-natgw-b spec: forProvider: region: ap-northeast-2 allocationIdRef: name: demo-eip-b subnetIdRef: name: demo-public-subnet-b tags: - key: Name value: demo-natgw-b providerConfigRef: name: aws-provider --- # Route Tables apiVersion: ec2.aws.crossplane.io/v1beta1 kind: RouteTable metadata: name: demo-public-rt spec: forProvider: region: ap-northeast-2 vpcIdRef: name: demo-vpc routes: - destinationCidrBlock: 0.0.0.0/0 gatewayIdRef: name: demo-igw associations: - subnetIdRef: name: demo-public-subnet-a - subnetIdRef: name: demo-public-subnet-b tags: - key: Name value: demo-public-rt providerConfigRef: name: aws-provider --- apiVersion: ec2.aws.crossplane.io/v1beta1 kind: RouteTable metadata: name: demo-private-rt-a spec: forProvider: region: ap-northeast-2 vpcIdRef: name: demo-vpc routes: - destinationCidrBlock: 0.0.0.0/0 natGatewayIdRef: name: demo-natgw-a associations: - subnetIdRef: name: demo-private-subnet-a tags: - key: Name value: demo-private-rt-a providerConfigRef: name: aws-provider --- apiVersion: ec2.aws.crossplane.io/v1beta1 kind: RouteTable metadata: name: demo-private-rt-b spec: forProvider: region: ap-northeast-2 vpcIdRef: name: demo-vpc routes: - destinationCidrBlock: 0.0.0.0/0 natGatewayIdRef: name: demo-natgw-b associations: - subnetIdRef: name: demo-private-subnet-b tags: - key: Name value: demo-private-rt-b providerConfigRef: name: aws-provider --- # Endpoint apiVersion: ec2.aws.crossplane.io/v1alpha1 kind: VPCEndpoint metadata: name: demo-s3-vpc-endpoint spec: forProvider: region: ap-northeast-2 routeTableIdRefs: - name: demo-private-rt-a - name: demo-private-rt-b serviceName: com.amazonaws.ap-northeast-2.s3 vpcEndpointType: Gateway vpcIdRef: name: demo-vpc tags: Name: demo-s3-vpc-endpoint providerConfigRef: name: aws-provider
YAML
복사
kubectl apply -f vpc.yaml
Shell
복사