Skip to content

Commit

Permalink
docs(cloud): add Public IP API
Browse files Browse the repository at this point in the history
  • Loading branch information
GMartinez-Sisti committed Apr 4, 2023
1 parent fa814d4 commit 4690671
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 58 deletions.
45 changes: 0 additions & 45 deletions docs/en/cloud/security/ip-egress-traffic-list.md

This file was deleted.

49 changes: 49 additions & 0 deletions docs/en/cloud/security/ip-public-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
slug: /en/manage/security/ip-public-api
sidebar_label: Public IP API
title: Public IP API
---

## ClickHouse Cloud public API

The ClickHouse Cloud public API endpoint is available on [`https://api.clickhouse.cloud/static-ips.json`](https://api.clickhouse.cloud/static-ips.json).

This API provides public IPs and endpoints for ClickHouse services, such as ingress/egress IPs and AWS S3 endpoints per region and cloud.

## Integrations could require egress access

If you are using integration like the MySQL or PostgreSQL Engine, it is possible that you need to authorize ClickHouse Cloud to access to your instances.

You could use this API of public IPs in `firewalls` or `Authorized networks` in GCP or in `Security Groups` for Azure, AWS or in any other infrastructure egress management system you are using.

For example, to allow access from a ClickHouse Service hosted on AWS in the region ap-south-1, you can add the `egress_ips` addresses for that region:

```
❯ curl -s https://api.clickhouse.cloud/static-ips.json | jq '.'
{
"aws": [
{
"cell": "cell0",
"egress_ips": [
"3.110.39.68",
"15.206.7.77",
"3.6.83.17"
],
"ingress_ips": [
"15.206.78.111",
"3.6.185.108",
"43.204.6.248"
],
"region": "ap-south-1",
"s3_endpoint": "vpce-0a975c9130d07276d"
},
...
```

For example a ClickHouse cloud service running in `us-east-2` using the integration to connect to an RDS in AWS, should have the following Inbound security group rules:

<img src={require("@site/docs/en/_snippets/images/aws-rds-mysql.png").default} style={{width:'70%', padding:'20px'}} alt="AWS Security group rules"/>

For the same ClickHouse cloud service running in `us-east-2`, but this time connected to an MySQL in GCP, the `Authorized networks` should look like this:

<img src={require("@site/docs/en/_snippets/images/gcp-authorized-network.png").default} style={{width:'40%', padding:'20px'}} alt="GCP Authorized networks"/>
5 changes: 3 additions & 2 deletions docs/en/integrations/data-ingestion/dbms/mysql/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ The `MySQL` table engine allows you to connect ClickHouse to MySQL. **SELECT** a

:::note
If you are using this feaure in ClickHouse Cloud, you may need the to allow the ClickHouse Cloud IP addresses to access your MySQL instance.
View the ClickHouse Cloud public list of [IP address](/docs/en/cloud/security/ip-egress-traffic-list.md) for egress traffic.
View the ClickHouse Cloud public API of [IP addresses](/docs/en/cloud/security/ip-public-api.md) for egress traffic.
:::

### 2. Define a Table in ClickHouse
Expand Down Expand Up @@ -284,7 +284,8 @@ This article demonstrates how to configure MySQL and ClickHouse to implement thi
(5, 'mno', 'pqr');
```
5. Notice the talbe in ClickHouse now has the new column and the new row:
5. Notice the table in ClickHouse now has the new column and the new row:
```sql
SELECT
id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ This article is to illustrate basic methods of integration using one table.

:::note
If you are using this feaure in ClickHouse Cloud, you may need the to allow the ClickHouse Cloud IP addresses to access your PostgreSQL instance.
View the ClickHouse Cloud public list of [IP address](/docs/en/cloud/security/ip-egress-traffic-list.md) for egress traffic.
View the ClickHouse Cloud public API of [IP addresses](/docs/en/cloud/security/ip-public-api.md) for egress traffic.
:::

### 2. Define a Table in ClickHouse
Expand Down
19 changes: 10 additions & 9 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const config = {
title: 'ClickHouse Docs',
tagline: 'Documentation, quick starts, user guides, technical references, FAQs and more...',
url: 'https://clickhouse.com',
// url: process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}` : 'https://bookish-disco-5997zvo.pages.github.io',
// url: process.env.VERCEL_URL ? `https://${process.env.VERCEL_URL}` : 'https://bookish-disco-5997zvo.pages.github.io',
baseUrl: '/docs/',
baseUrlIssueBanner: true,
onBrokenLinks: 'throw',
Expand Down Expand Up @@ -259,7 +259,7 @@ const config = {
function (context, options) {
return {
name: 'docusaurus-plugin',
async postBuild({siteConfig = {}, routesPaths = [], outDir}) {
async postBuild({ siteConfig = {}, routesPaths = [], outDir }) {
// Print out to console all the rendered routes.
routesPaths.map((route) => {
console.log(route);
Expand Down Expand Up @@ -358,7 +358,7 @@ const config = {
{ from: '/en/guides/sre/gcs-multi-region', to: '/en/integrations/gcs' },
{ from: '/en/integrations/s3/gcs-merge-tree', to: '/en/integrations/gcs' },
{ from: '/en/integrations/s3/s3-minio', to: '/en/integrations/minio' },
{ from: '/en/integrations/kafka/cloud/amazon-msk/', to: '/en/integrations/msk'},
{ from: '/en/integrations/kafka/cloud/amazon-msk/', to: '/en/integrations/msk' },
{ from: '/en/integrations/vector-to-clickhouse', to: '/en/integrations/vector' },
{ from: '/en/integrations/airbyte-and-clickhouse', to: '/en/integrations/airbyte' },
{ from: '/en/integrations/postgresql/postgres-with-clickhouse', to: '/en/integrations/postgresql', },
Expand Down Expand Up @@ -804,13 +804,14 @@ const config = {
{ from: '/quick-start', to: '/en/quick-start' },
{ from: '/ru/whats-new/index', to: '/ru/whats-new/' },
{ from: '/en/faq', to: '/knowledgebase' },
// { from: '/en/faq/billing', to: '/knowledgebase' },
// { from: '/en/faq/troubleshooting', to: '/knowledgebase' },
// { from: '/en/faq/operations', to: '/knowledgebase' },
// { from: '/en/faq/integration', to: '/knowledgebase' },
// { from: '/en/faq/general', to: '/knowledgebase' },
// { from: '/en/faq/use-cases', to: '/knowledgebase' },
// { from: '/en/faq/billing', to: '/knowledgebase' },
// { from: '/en/faq/troubleshooting', to: '/knowledgebase' },
// { from: '/en/faq/operations', to: '/knowledgebase' },
// { from: '/en/faq/integration', to: '/knowledgebase' },
// { from: '/en/faq/general', to: '/knowledgebase' },
// { from: '/en/faq/use-cases', to: '/knowledgebase' },
{ from: '/en/manage/security', to: '/en/guides/sre/configuring-ldap' },
{ from: '/en/manage/security/ip-egress-traffic-list', to: '/en/manage/security/ip-public-api' },
],
},
],
Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@ const sidebars = {
'en/cloud/manage/users-and-roles',
'en/cloud/security/security-companion-guide',
'en/cloud/security/ip-access-list',
'en/cloud/security/ip-egress-traffic-list',
'en/cloud/security/ip-public-api',
'en/cloud/security/aws-privatelink',
'en/cloud/security/activity-log',
]
Expand Down

0 comments on commit 4690671

Please sign in to comment.