Skip to content

ResolverEndpoint

Source: src/AWS/Route53Resolver/ResolverEndpoint.ts

A Route 53 Resolver endpoint — the set of elastic network interfaces that connect your VPC’s .2 resolver to DNS resolvers on your own network.

An INBOUND endpoint lets DNS resolvers on your network forward queries to Route 53 Resolver; an OUTBOUND endpoint lets Resolver forward queries from your VPCs to your network (paired with FORWARD ResolverRules).

Endpoint provisioning is asynchronous (typically 1-2 minutes); the provider waits (bounded) for the endpoint to become OPERATIONAL so dependent resolver rules can use it immediately.

Inbound Endpoint

import * as Route53Resolver from "alchemy/AWS/Route53Resolver";
const inbound = yield* Route53Resolver.ResolverEndpoint("Inbound", {
direction: "INBOUND",
securityGroupIds: [sg.securityGroupId],
ipAddresses: [
{ subnetId: subnetA.subnetId },
{ subnetId: subnetB.subnetId },
],
});

Outbound Endpoint with Fixed IPs

const outbound = yield* Route53Resolver.ResolverEndpoint("Outbound", {
direction: "OUTBOUND",
securityGroupIds: [sg.securityGroupId],
ipAddresses: [
{ subnetId: subnetA.subnetId, ip: "10.0.0.10" },
{ subnetId: subnetB.subnetId, ip: "10.0.1.10" },
],
});
const rule = yield* Route53Resolver.ResolverRule("CorpForward", {
domainName: "corp.example.com",
resolverEndpointId: outbound.resolverEndpointId,
targetIps: [{ ip: "192.168.1.10" }],
});