VpcEndpoint

An interface VPC endpoint that keeps AWS traffic off the public internet, with its own security group open only to the compute you attach.

Networking · anvil:aws:VpcEndpoint

Infrastructure

import { App } from '@anvil-cloud/sdk';
import * as anvil from '@anvil-cloud/sdk';

export default new App({
  run(ctx) {
    const network = new anvil.aws.Vpc('network', { availabilityZones: 2 });

    const endpoint = new anvil.aws.VpcEndpoint('sqs-endpoint', {
      vpcId: network.vpcId,
      privateSubnetIds: network.privateSubnetIds,
      service: 'sqs',
    });

    ctx.export('endpointId', endpoint.endpointId);
  },
});
import anvil_cloud as anvil

def infra(ctx: anvil.Context):
    network = anvil.aws.Vpc("network", availability_zones=2)

    endpoint = anvil.aws.VpcEndpoint("sqs-endpoint",
        vpc_id=network.vpc_id,
        private_subnet_ids=network.private_subnet_ids,
        service="sqs",
    )

    ctx.export("endpoint_id", endpoint.endpoint_id)

anvil.App(run=infra)
package main

import (
    "github.com/anvil-cloud/anvil/sdk/go/anvil"
    anvilaws "github.com/anvil-cloud/anvil/sdk/go/anvil/aws"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
    anvil.Run(anvil.AppConfig{
        Run: func(ctx *anvil.Context) error {
            network, err := anvilaws.NewVpc(ctx.PulumiCtx(), "network", &anvilaws.VpcArgs{
                AvailabilityZones: pulumi.Int(2),
            })
            if err != nil {
                return err
            }

            endpoint, err := anvilaws.NewVpcEndpoint(ctx.PulumiCtx(), "sqs-endpoint", &anvilaws.VpcEndpointArgs{
                VpcId:            network.VpcId,
                PrivateSubnetIds: network.PrivateSubnetIds,
                Service:          pulumi.String("sqs"),
            })
            if err != nil {
                return err
            }

            ctx.Export("endpointId", endpoint.EndpointId)
            return nil
        },
    })
}

← Back to VpcEndpoint docs