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.
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
},
})
}