Interface CfnService.IServiceConnectConfigurationProperty
The Service Connect configuration of your Amazon ECS service.
Namespace: Amazon.CDK.AWS.ECS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface CfnService.IServiceConnectConfigurationProperty
Syntax (vb)
Public Interface CfnService.IServiceConnectConfigurationProperty
Remarks
The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.
Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide .
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ECS;
var serviceConnectConfigurationProperty = new ServiceConnectConfigurationProperty {
Enabled = false,
// the properties below are optional
AccessLogConfiguration = new ServiceConnectAccessLogConfigurationProperty {
Format = "format",
// the properties below are optional
IncludeQueryParameters = "includeQueryParameters"
},
LogConfiguration = new LogConfigurationProperty {
LogDriver = "logDriver",
Options = new Dictionary<string, string> {
{ "optionsKey", "options" }
},
SecretOptions = new [] { new SecretProperty {
Name = "name",
ValueFrom = "valueFrom"
} }
},
Namespace = "namespace",
Services = new [] { new ServiceConnectServiceProperty {
PortName = "portName",
// the properties below are optional
ClientAliases = new [] { new ServiceConnectClientAliasProperty {
Port = 123,
// the properties below are optional
DnsName = "dnsName",
TestTrafficRules = new ServiceConnectTestTrafficRulesProperty {
Header = new ServiceConnectTestTrafficRulesHeaderProperty {
Name = "name",
// the properties below are optional
Value = new ServiceConnectTestTrafficRulesHeaderValueProperty {
Exact = "exact"
}
}
}
} },
DiscoveryName = "discoveryName",
IngressPortOverride = 123,
Timeout = new TimeoutConfigurationProperty {
IdleTimeoutSeconds = 123,
PerRequestTimeoutSeconds = 123
},
Tls = new ServiceConnectTlsConfigurationProperty {
IssuerCertificateAuthority = new ServiceConnectTlsCertificateAuthorityProperty {
AwsPcaAuthorityArn = "awsPcaAuthorityArn"
},
// the properties below are optional
KmsKey = "kmsKey",
RoleArn = "roleArn"
}
} }
};
Synopsis
Properties
| AccessLogConfiguration | The configuration for Service Connect access logging. |
| Enabled | Specifies whether to use Service Connect with this service. |
| LogConfiguration | The log configuration for the container. |
| Namespace | The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. |
| Services | The list of Service Connect service objects. |
Properties
AccessLogConfiguration
The configuration for Service Connect access logging.
object? AccessLogConfiguration { get; }
Property Value
Remarks
Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes.
To enable access logs, you must also specify a <code>logConfiguration</code> in the <code>serviceConnectConfiguration</code> .
Type union: either IResolvable or CfnService.IServiceConnectAccessLogConfigurationProperty
Enabled
Specifies whether to use Service Connect with this service.
object Enabled { get; }
Property Value
Remarks
LogConfiguration
The log configuration for the container.
object? LogConfiguration { get; }
Property Value
Remarks
This parameter maps to LogConfig in the docker container create command and the --log-driver option to docker run.
By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.
Understand the following when specifying a log configuration for your containers.
For tasks on AWS Fargate , the supported log drivers are awslogs , splunk , and awsfirelens .
For tasks hosted on Amazon EC2 instances, the supported log drivers are awslogs , fluentd , gelf , json-file , journald , syslog , splunk , and awsfirelens .
Type union: either IResolvable or CfnService.ILogConfigurationProperty
Namespace
The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect.
string? Namespace { get; }
Property Value
Remarks
The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see Working with Services in the AWS Cloud Map Developer Guide .
Services
The list of Service Connect service objects.
object? Services { get; }
Property Value
Remarks
These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service.
This field is not required for a "client" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.
An object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.
Type union: either IResolvable or (either IResolvable or CfnService.IServiceConnectServiceProperty)[]