Skip to content

Commit ecc4ff5

Browse files
authored
Improve connectivity debugging docs (#1079)
1 parent c365f62 commit ecc4ff5

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

docs/cluster-management/update.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ cortex cluster up
3535

3636
In production environments, you can upgrade your cluster without downtime if you have a service in front of your Cortex cluster (for example, you can [configure API Gateway as a proxy service](../guides/api-gateway.md)): first spin up your new cluster, then update your client-facing service to route traffic to your new cluster, and then spin down your old cluster.
3737

38-
If you've set up HTTPS by specifying an SSL Certificate for a subdomain in your cluster configuration, you can upgrade your cluster with minimal downtime: first spin up a new cluster, then update the A record in your subdomain hosted zone to point to the API loadbalancer of your new cluster. Wait at least 60 seconds before spinning down the old cluster because DNS entries for loadbalancers refresh every 60 seconds (see [here](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#request-routing) for more details).
38+
If you've set up HTTPS by specifying an SSL Certificate for a subdomain in your cluster configuration, you can upgrade your cluster with minimal downtime: first spin up a new cluster, then update the A record in your subdomain hosted zone to point to the API loadbalancer of your new cluster. Wait at least a 24 to 48 hours before spinning down your old cluster to allow old DNS cache to be flushed.

docs/guides/subdomain-https-setup.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ Go to the hosted zone you created in the [Route 53 console](https://console.aws.
130130

131131
### Using your new endpoint
132132

133-
You may now use your subdomain in place of your API load balancer endpoint in your client. For example, this curl request:
133+
Wait a few minutes to allow the DNS changes to propagate. You may now use your subdomain in place of your API load balancer endpoint in your client. For example, this curl request:
134134

135135
```bash
136136
curl http://a5044e34a352d44b0945adcd455c7fa3-32fa161d3e5bcbf9.elb.us-west-2.amazonaws.com/iris-classifier -X POST -H "Content-Type: application/json" -d @sample.json
@@ -139,9 +139,25 @@ curl http://a5044e34a352d44b0945adcd455c7fa3-32fa161d3e5bcbf9.elb.us-west-2.amaz
139139
Would become:
140140

141141
```bash
142+
# replace loadbalancer url with your subdomain
142143
curl https://api.cortexlabs.dev/iris-classifier -X POST -H "Content-Type: application/json" -d @sample.json
143144
```
144145

146+
### Debugging connectivity issues
147+
148+
You may encounter connectivity issues due to cached DNS records that haven't expired yet. It could take anywhere from a few minutes to 48 hours for DNS cache to completely refresh.
149+
150+
You could run into connectivity issues if you make a request to your API without waiting long enough after step 17.
151+
152+
To test connectivity try the following steps:
153+
1. Deploy any api (e.g. iris-classifier).
154+
1. Make an HTTPS GET request to the your api e.g. `curl https://api.cortexlabs.dev/iris-classifier` or enter the url in your browser.
155+
1. If you run into an error such as `curl: (6) Could not resolve host: api.cortexlabs.dev` wait a few minutes and make the HTTPS Get request from another device that hasn't made a request to that url in a while. A successful request looks like this:
156+
```
157+
{"message":"make a prediction by sending a post request to this endpoint with a json payload",...}
158+
```
159+
160+
145161
### Cleanup
146162

147163
Spin down your Cortex cluster.

0 commit comments

Comments
 (0)