registerInstance
Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance
request, the following occurs:
For each DNS record that you define in the service that's specified by
ServiceId
, a record is created or updated in the hosted zone that's associated with the corresponding namespace.If the service includes
HealthCheckConfig
, a health check is created based on the settings in the health check configuration.The health check, if any, is associated with each of the new or updated records.
One RegisterInstance
request must complete before you can submit another request and specify the same service ID and instance ID.
For more information, see CreateService.
When Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:
If the health check is healthy: returns all the records
If the health check is unhealthy: returns the applicable value for the last healthy instance
If you didn't specify a health check configuration: returns all the records
For the current quota on the number of instances that you can register using the same namespace and using the same service, see Cloud Map quotas in the Cloud Map Developer Guide.
Samples
fun main() {
//sampleStart
// Example Register Instance
val resp = serviceDiscoveryClient.registerInstance {
serviceId = "srv-p5zdwlg5uvvzjita"
instanceId = "myservice-53"
attributes = mapOf<String, String>(
"AWS_INSTANCE_IPV4" to "172.2.1.3",
"AWS_INSTANCE_PORT" to "808"
)
creatorRequestId = "7a48a98a-72e6-4849-bfa7-1a458e030d7b"
}
//sampleEnd
}
fun main() {
//sampleStart
// Registers an instance using a service ARN instead of service ID, useful when working with shared
// namespaces. Shows registering an instance to a service created by a sharee in a namespace owned by another
// account.
val resp = serviceDiscoveryClient.registerInstance {
instanceId = "i-abcd1234xmpl5678"
serviceId = "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-abcd1234xmpl5678"
attributes = mapOf<String, String>(
"AWS_INSTANCE_IPV4" to "192.0.2.44",
"AWS_INSTANCE_PORT" to "80"
)
}
//sampleEnd
}