CfnClientVpnEndpointProps Struct
Properties for defining a CfnClientVpnEndpoint.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
const cfnClientVpnEndpointProps: ec2.CfnClientVpnEndpointProps = {
authenticationOptions: [{
type: 'type',
// the properties below are optional
activeDirectory: {
directoryId: 'directoryId',
},
federatedAuthentication: {
samlProviderArn: 'samlProviderArn',
// the properties below are optional
selfServiceSamlProviderArn: 'selfServiceSamlProviderArn',
},
mutualAuthentication: {
clientRootCertificateChainArn: 'clientRootCertificateChainArn',
},
}],
connectionLogOptions: {
enabled: false,
// the properties below are optional
cloudwatchLogGroup: 'cloudwatchLogGroup',
cloudwatchLogStream: 'cloudwatchLogStream',
},
serverCertificateArn: 'serverCertificateArn',
// the properties below are optional
clientCidrBlock: 'clientCidrBlock',
clientConnectOptions: {
enabled: false,
// the properties below are optional
lambdaFunctionArn: 'lambdaFunctionArn',
},
clientLoginBannerOptions: {
enabled: false,
// the properties below are optional
bannerText: 'bannerText',
},
clientRouteEnforcementOptions: {
enforced: false,
},
description: 'description',
disconnectOnSessionTimeout: false,
dnsServers: ['dnsServers'],
endpointIpAddressType: 'endpointIpAddressType',
securityGroupIds: ['securityGroupIds'],
selfServicePortal: 'selfServicePortal',
sessionTimeoutHours: 123,
splitTunnel: false,
tagSpecifications: [{
resourceType: 'resourceType',
tags: [{
key: 'key',
value: 'value',
}],
}],
trafficIpAddressType: 'trafficIpAddressType',
transitGatewayConfiguration: {
transitGatewayId: 'transitGatewayId',
// the properties below are optional
availabilityZoneIds: ['availabilityZoneIds'],
availabilityZones: ['availabilityZones'],
},
transportProtocol: 'transportProtocol',
vpcId: 'vpcId',
vpnPort: 123,
};
Properties
authenticationOptionsIResolvable | IResolvable | CfnClientVpnEndpoint.ClientAuthenticationRequestProperty[]authentication_optionstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ClientAuthenticationRequestProperty]]]authenticationOptionsIResolvableAuthenticationOptionsIResolvableAuthenticationOptionsinterface{}required#clientCidrBlockstringclient_cidr_blockstrclientCidrBlockStringClientCidrBlockstringClientCidrBlock*string#notes
The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.
clientConnectOptionsIResolvable | CfnClientVpnEndpoint.ClientConnectOptionsPropertyclient_connect_optionstyping.Union[IResolvable, ClientConnectOptionsProperty]clientConnectOptionsIResolvableClientConnectOptionsIResolvableClientConnectOptionsinterface{}#clientLoginBannerOptionsIResolvable | CfnClientVpnEndpoint.ClientLoginBannerOptionsPropertyclient_login_banner_optionstyping.Union[IResolvable, ClientLoginBannerOptionsProperty]clientLoginBannerOptionsIResolvableClientLoginBannerOptionsIResolvableClientLoginBannerOptionsinterface{}#clientRouteEnforcementOptionsIResolvable | CfnClientVpnEndpoint.ClientRouteEnforcementOptionsPropertyclient_route_enforcement_optionstyping.Union[IResolvable, ClientRouteEnforcementOptionsProperty]clientRouteEnforcementOptionsIResolvableClientRouteEnforcementOptionsIResolvableClientRouteEnforcementOptionsinterface{}#notes
T his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.
Client route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, reverting it back to the expected route configurations.
connectionLogOptionsIResolvable | CfnClientVpnEndpoint.ConnectionLogOptionsPropertyconnection_log_optionstyping.Union[IResolvable, ConnectionLogOptionsProperty]connectionLogOptionsIResolvableConnectionLogOptionsIResolvableConnectionLogOptionsinterface{}required#notes
If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:
- Client connection requests
- Client connection results (successful and unsuccessful)
- Reasons for unsuccessful client connection requests
- Client connection termination time
disconnectOnSessionTimeoutboolean | IResolvabledisconnect_on_session_timeouttyping.Union[bool, IResolvable]disconnectOnSessionTimeoutBooleanDisconnectOnSessionTimeoutboolDisconnectOnSessionTimeoutinterface{}#If true , users are prompted to reconnect client VPN. If false , client VPN attempts to reconnect automatically. The default value is true .
dnsServersstring[]dns_serverstyping.List[str]dnsServersList<String>DnsServersstring[]DnsServers*[]*string#A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.
endpointIpAddressTypestringendpoint_ip_address_typestrendpointIpAddressTypeStringEndpointIpAddressTypestringEndpointIpAddressType*string#Possible values are ipv4 for IPv4 addressing only, ipv6 for IPv6 addressing only, or dual-stack for both IPv4 and IPv6 addressing.
securityGroupIdsstring[]security_group_idstyping.List[str]securityGroupIdsList<String>SecurityGroupIdsstring[]SecurityGroupIds*[]*string#You must also specify the ID of the VPC that contains the security groups.
selfServicePortalstringself_service_portalstrselfServicePortalStringSelfServicePortalstringSelfServicePortal*string#Default Value: enabled
serverCertificateArnstringserver_certificate_arnstrserverCertificateArnStringServerCertificateArnstringServerCertificateArn*stringrequired#For more information, see the Certificate Manager User Guide .
sessionTimeoutHoursnumbersession_timeout_hoursint | floatsessionTimeoutHoursNumberSessionTimeoutHoursdoubleSessionTimeoutHours*float64#Valid values: 8 | 10 | 12 | 24
Default value: 24
splitTunnelboolean | IResolvablesplit_tunneltyping.Union[bool, IResolvable]splitTunnelBooleanSplitTunnelboolSplitTunnelinterface{}#notes
By default, split-tunnel on a VPN endpoint is disabled.
For information about split-tunnel VPN endpoints, see Split-tunnel AWS Client VPN endpoint in the AWS Client VPN Administrator Guide .
tagSpecificationsIResolvable | IResolvable | CfnClientVpnEndpoint.TagSpecificationProperty[]tag_specificationstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, TagSpecificationProperty]]]tagSpecificationsIResolvableTagSpecificationsIResolvableTagSpecificationsinterface{}#trafficIpAddressTypestringtraffic_ip_address_typestrtrafficIpAddressTypeStringTrafficIpAddressTypestringTrafficIpAddressType*string#Possible values are either ipv4 for IPv4 addressing only, ipv6 for IPv6 addressing only, or dual-stack for both IPv4 and IPv6 addressing.
transitGatewayConfigurationIResolvable | CfnClientVpnEndpoint.TransitGatewayConfigurationPropertytransit_gateway_configurationtyping.Union[IResolvable, TransitGatewayConfigurationProperty]transitGatewayConfigurationIResolvableTransitGatewayConfigurationIResolvableTransitGatewayConfigurationinterface{}#transportProtocolstringtransport_protocolstrtransportProtocolStringTransportProtocolstringTransportProtocol*string#Default value: udp
If no security group IDs are specified in the request, the default security group for the VPC is applied.
Valid Values: 443 | 1194
Default Value: 443