Gateway Endpoint Creation in API (Geo Regions and Data Centers) Advanced Information

 

Selection of Geo Regions or Data Centers for Endpoints

As stated in Introduction to Gateway Endpoints, the selection of the location for a Gateway that will be hosting services is important for optimizing the data transport to and from clients utilizing that service.

Geo Region field for Creation of Endpoint

For each Geo Region, there are a set of Transfer Nodes (the NetFoundry transport devices that are utilized to facilitate the secure and optimized connection from the client to the hosted services) created that exist in that geographic area.  

Selection of a Geo Region for a hosting gateway should take the actual geographic location into account for optimal performance.    The Transfer Nodes described above are created when the first service is created for any hosting Gateway that has that GeoRegion selected.  All other services will utilize the same Transfer Nodes in that GeoRegion.

Note: there may be multiple nearby data centers in a Geo Region. In that case, when Transfer Nodes are created for that Geo Region, they are chosen at random from any data center associated with that Geo Region.

 

Data Center Usage for Creation of Endpoint

Data Center location for a Gateway can be selected instead of Geo Region.   When this is done, the Geo Region for the Gateway is assigned based on the Geo Regions that contain that data center.  Some data centers are in several Geo Regions, and the Geo Region that is selected may be selected by the system in a random or first in list manner.   

Thus, it is recommended to select Geo Region instead of Data Center for location if utilizing the Public API.

 

Customer Firewall Implications

Transfer Nodes are hosted on servers that have public IP addresses.  They are located in data centers such as AWS and Microsoft Azure by default.  For endpoints at customer locations to communicate with the Transfer Nodes for data transport, the IP addresses and ports of these Transfer nodes should be accessible from within the customer location.   These IP addresses and ports should be whitelisted in any outbound firewall whitelists you may have deployed in your network perimeter.    The recommended list of ports is TCP 5520-5550 and UDP 5520-5550 to utilize all current and future Transfer Node capability.  

The list of Transfer Node IP Addresses will be displayed in the Network info in the NetFoundry Console as described in the "View Network Details" section of Create and Manage Networks Article.

 

Viewing Geo Regions and Data Centers

As described in the NetFoundry Public API documentation:  https://gateway.production.netfoundry.io/rest/v1/docs/index.html

Geo Regions can be listed as in the following example:

curl 'https://gateway.production.netfoundry.io/rest/v1/geoRegions' -i -H 'Accept: application/json'

An Excerpt of the returned data is show below:

"geoRegions" : [ {
"createdAt" : "2017-10-03T16:12:29.000+0000",
"updatedAt" : "2017-10-03T16:12:29.000+0000",
"name" : "Canada Central",
"_links" : {
"self" : {
"href" : "https://gateway.production.netfoundry.io/rest/v1/geoRegions/15095af7-689e-46c5-95bf-2772116a65c0"
}
}
}, {
"createdAt" : "2017-10-03T16:12:29.000+0000",
"updatedAt" : "2017-10-03T16:12:29.000+0000",
"name" : "US West",
"_links" : {
"self" : {
"href" : "https://gateway.production.netfoundry.io/rest/v1/geoRegions/20d5c5b8-0006-43b9-99aa-503fd3931fea"
}
}

 

A list of data centers may be retrieved via curl 'https://gateway.production.netfoundry.io/rest/v1/dataCenters/' -i -H 'Accept: application/json'

Note: auth header must also be provided.  Please refer to the Public API documentation for example.

The Data Center provider and location code can give an indication of its location and in which provider data center it is located.  The geoRegion Link in the Data Center return data can be used to find all the Geo Regions for which the data center may be utilized. 

Excerpt of Result for data centers.  

 

{
"createdAt": "2017-10-03T16:12:29.000+0000",
"updatedAt": "2017-10-03T16:12:29.000+0000",
"name": null,
"address": null,
"city": "Ashburn",
"stateCode": "VA",
"stateName": null,
"continentName": null,
"continentCode": null,
"countryName": "United States",
"countryCode": "US",
"isp": "Amazon.com",
"lat": 39.0481,
"lng": -77.4728,
"locationCode": "us-east-1",
"locationName": "N. Virginia",
"provider": "AWS",
"nfId": "c3b8c2a3-c38b-e280-9d1e-0111c3a7c5b8",
"_links": {
"self": {
"href": "https://data.production.netfoundry.io/api/dataCenters/c3b8c2a3-c38b-e280-9d1e-0111c3a7c5b8"
},
"dataCenter": {
"href": "https://data.production.netfoundry.io/api/dataCenters/c3b8c2a3-c38b-e280-9d1e-0111c3a7c5b8"
},
"geoRegions": {
"href": "https://data.production.netfoundry.io/api/dataCenters/c3b8c2a3-c38b-e280-9d1e-0111c3a7c5b8/geoRegions"
},

}
}

 

 

Example Gateway Creation

As described in the NetFoundry Public API documentation:  https://gateway.production.netfoundry.io/rest/v1/docs/index.html 

creation of an Endpoint section, A POST request creates an endpoint on a specific network.

When creating an endpoint, either a GeoRegion Id or a DataCenter Id needs to be supplied.

As recommended previously, a geoRegionId should be supplied in most cases.   dataCenterId does not need to be provided.   In this example a VCPE gateway in US-East geo region will be created.

Note: there are other options that can be provided, but the minimal to create a gateway is shown.

Example request

$ curl 'https://gateway.production.netfoundry.io/rest/v1/networks/0802afae-4e41-4b46-ba17-7e3b7d4ac312/endpoints' -i -X POST -H 'Content-Type: application/json' -d '{
  "name" : "Gateway 01",
  "endpointType" : "VCPEGW",
  "geoRegionId" : "9bbca6aa-767c-4c48-b4ab-dac0ead018fc",
}'

 

 

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.