> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Как получить сведения о подключении к Cloud

> Узнайте, как найти имя хоста, порт и учетные данные для вашего сервиса ClickHouse Cloud, чтобы подключаться к нему из внешних клиентов, CLI и приложений.

export const e_1 = undefined

export const e_0 = undefined

<a href="/get-started/quickstarts/home" onClick={(e_0) => { e_0.preventDefault(); window.location.href = (window.location.pathname.startsWith('/docs') ? '/docs' : '') + '/get-started/quickstarts/home'; }} className="inline-flex items-center gap-1.5 text-sm text-gray-500 dark:text-zinc-500 hover:text-gray-900 dark:hover:text-[#fdff75] transition-colors font-normal no-underline"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="shrink-0"><path d="M19 12H5" /><path d="M12 19l-7-7 7-7" /></svg>All quickstarts</a>

<div className="mt-2 flex flex-wrap gap-2">
  <Badge size="lg" color="blue">Real-time аналитика</Badge>
  <Badge size="lg" color="blue">Хранилище данных</Badge>
  <Badge size="lg" color="blue">Обсервабилити</Badge>
  <Badge size="lg" color="blue">AI/ML</Badge>
  <Badge size="lg" color="orange">Cloud</Badge>
</div>

На этой странице описано, как получить сведения о подключении к существующему сервису ClickHouse Cloud — имя хоста, номера портов, имя пользователя и пароль — из командной строки с помощью [ClickHouse CLI](/ru/products/cloud/features/cli) (`clickhousectl`). Команды выполняются в неинтерактивном режиме; с флагом `--json` `clickhousectl` выводит результат в формате JSON.

<h2 id="prerequisites">
  Предварительные требования
</h2>

Установите ClickHouse CLI:

```bash theme={null}
curl https://clickhouse.com/cli | sh
```

Также потребуется `jq`.

Для описанных ниже шагов записи требуется [аутентификация по API key](/ru/products/cloud/features/admin-features/api/openapi): `cloud service start` (только если ваш сервис находится в состоянии `stopped`) и `reset-password`. Вход через OAuth работает только для чтения и охватывает лишь шаги чтения (`service list`, `service get`):

```bash theme={null}
clickhousectl cloud auth login --api-key <YOUR_KEY> --api-secret <YOUR_SECRET>
```

Также можно задать переменные окружения `CLICKHOUSE_CLOUD_API_KEY` и `CLICKHOUSE_CLOUD_API_SECRET`. Проверьте результат командой `clickhousectl cloud auth status`: должна отобразиться запись со scope `read/write`.

Кроме того, вам понадобится уже созданный сервис ClickHouse Cloud, из которого можно взять сведения о подключении, — например, созданный в рамках быстрого старта [Create your first Cloud service](/ru/get-started/quickstarts/create-your-first-service-on-cloud) или в CLI-сценарии [Cloud quick start](/ru/getting-started/quick-start/cloud).

<h2 id="find-your-service">
  Найдите свой сервис
</h2>

Выведите список сервисов в вашей организации и запомните ID того, к которому хотите подключиться:

```bash theme={null}
clickhousectl cloud service list --json | jq -r '.[] | [.id, .name, .state] | @tsv'
```

```text theme={null}
9c2d4e61-7a35-49c8-8f0e-2b5a1d7c3e90	my-first-service	running
```

Сохраните ID сервиса — все остальные команды в этом руководстве принимают его в качестве аргумента. Чтобы найти его по имени:

```bash theme={null}
CH_ID=$(clickhousectl cloud service list --json | jq -r '.[] | select(.name == "my-first-service") | .id')
```

Сервис должен быть запущен, чтобы на одном из следующих шагов проверить подключение. Если он находится в состоянии `stopped`, запустите его и опрашивайте состояние, пока оно не станет `running` (сервис в состоянии `idle` из-за масштабирования при простое пробуждается автоматически при первом подключении, поэтому здесь никаких действий не требуется):

```bash theme={null}
clickhousectl cloud service start "$CH_ID"
while [ "$(clickhousectl cloud service get "$CH_ID" --json | jq -r .state)" != "running" ]; do
  sleep 15
done
```

<h2 id="get-your-connection-details">
  Получение сведений о подключении
</h2>

`clickhousectl cloud service get` возвращает полные сведения о сервисе, включая по одной конечной точке для каждого открытого протокола. Сохраните ответ и извлеките из него нужные данные:

```bash theme={null}
clickhousectl cloud service get "$CH_ID" --json > service.json
jq '.endpoints' service.json
```

```json theme={null}
[
  {
    "host": "abc123.us-east-1.aws.clickhouse.cloud",
    "port": 9440,
    "protocol": "nativesecure"
  },
  {
    "host": "abc123.us-east-1.aws.clickhouse.cloud",
    "port": 8443,
    "protocol": "https"
  }
]
```

Это два основных сетевых протокола ClickHouse Cloud, каждый на своём порту:

* **Собственный протокол (`nativesecure`, порт 9440)** — бинарный протокол, используемый `clickhouse-client`, `clickhouse-local` и большинством драйверов для конкретных языков. Это самый быстрый вариант, поддерживающий все возможности ClickHouse. В Cloud требуется TLS.
* **Протокол HTTPS (`https`, порт 8443)** — интерфейс на основе HTTP, удобный для REST-клиентов, `curl`, веб-инструментов и драйверов, предпочитающих HTTP. В Cloud также требует TLS.

Оба протокола требуют шифрования TLS при подключении к ClickHouse Cloud — подключиться в открытом виде нельзя. Большинство инструментов делает это автоматически, если указан правильный порт, но в зависимости от клиента может потребоваться передать флаг `--secure` или задать `ssl=true`. В большинстве руководств по быстрому старту и сценариев работы с CLI в этой серии используется **собственный протокол на порту 9440**.

Извлеките имя хоста и порты:

```bash theme={null}
CH_HOST=$(jq -r '.endpoints[] | select(.protocol == "nativesecure") | .host' service.json)
CH_NATIVE_PORT=$(jq -r '.endpoints[] | select(.protocol == "nativesecure") | .port' service.json)
CH_HTTPS_PORT=$(jq -r '.endpoints[] | select(.protocol == "https") | .port' service.json)
```

Имя пользователя — `default`, если вы не создавали дополнительных пользователей базы данных.

<h2 id="get-a-password">
  Получение пароля
</h2>

Пароль пользователя `default` возвращается ровно один раз — командой `clickhousectl cloud service create`; впоследствии его нельзя получить ни через API, ни через CLI. Если вы сохранили пароль при создании сервиса, присвойте его переменной, которая используется в последующих шагах, и пропустите сброс:

```bash theme={null}
CH_PASSWORD='<your saved password>'
```

Если он утерян, сгенерируйте новый:

```bash theme={null}
CH_PASSWORD=$(clickhousectl cloud service reset-password "$CH_ID" --json | jq -r .password)
```

<Warning>
  `reset-password` немедленно делает недействительным прежний пароль пользователя `default` — любой клиент, всё ещё настроенный на старый пароль, не сможет пройти аутентификацию. Если сервис входит в [хранилище](/ru/products/cloud/features/infrastructure/warehouses), пользователи базы данных являются общими для всех сервисов этого хранилища, поэтому сброс меняет пароль и во всех остальных сервисах хранилища. Как и исходный, новый пароль отображается только один раз, поэтому сохраните его в надёжном месте.
</Warning>

<h2 id="save-your-connection-details-for-reuse">
  Сохраните сведения о подключении для повторного использования
</h2>

Эти сведения о подключении вам часто понадобятся в руководствах по быстрому старту. Чтобы не вводить их каждый раз заново, экспортируйте их как переменные окружения в текущем сеансе терминала:

```bash theme={null}
export CLICKHOUSE_HOST=$CH_HOST
export CLICKHOUSE_USER=default
export CLICKHOUSE_PASSWORD=$CH_PASSWORD
```

<Warning>
  Эти переменные окружения действуют только в рамках текущего сеанса терминала. Не храните пароли в файлах профиля shell (`.bashrc`, `.zshrc`) и не коммитьте их в систему контроля версий.
</Warning>

<h2 id="verify-connectivity">
  Проверка подключения
</h2>

Проверьте HTTPS-интерфейс (порт 8443) с помощью `curl`:

```bash theme={null}
curl --user "$CLICKHOUSE_USER:$CLICKHOUSE_PASSWORD" \
  "https://$CLICKHOUSE_HOST:8443/?query=SELECT%201"
```

```text theme={null}
1
```

Проверьте собственный протокол (порт 9440) с помощью [**клиента ClickHouse**](/ru/concepts/features/interfaces/client). ClickHouse CLI сам управляет бинарным файлом `clickhouse`, поэтому, если его у вас ещё нет, команда `clickhousectl local use latest` установит его и создаст символическую ссылку `~/.local/bin/clickhouse`. Затем:

```bash theme={null}
clickhouse client --host "$CLICKHOUSE_HOST" --secure --port 9440 \
  --user "$CLICKHOUSE_USER" --password "$CLICKHOUSE_PASSWORD" \
  --query "SELECT concat('Connected to ClickHouse ', version(), ' as ', currentUser())"
```

```text theme={null}
Connected to ClickHouse 26.2.1.558 as default
```

<h2 id="cleanup">
  Очистка
</h2>

В этом руководстве только считываются метаданные сервиса и (при необходимости) сбрасывается пароль — новые облачные ресурсы не создаются, поэтому удалять нечего.

Единственное исключение: если ваш сервис находился в состоянии `stopped`, а вы запустили его только для проверки подключения, то теперь он продолжает работать, и за вычислительные ресурсы начисляется плата. Остановите его снова, если он вам пока не нужен:

```bash theme={null}
clickhousectl cloud service stop "$CH_ID"
```

<h2 id="next-steps">
  Дальнейшие шаги
</h2>

Теперь у вас есть все сведения о подключении, необходимые для подключения к сервису ClickHouse Cloud из любого внешнего инструмента. Найденные здесь имя хоста, порт, username и password используются далее во всей серии быстрых стартов.

Далее ознакомьтесь со следующими быстрыми стартами:

* [Вставка данных с помощью клиента ClickHouse](/ru/get-started/quickstarts/insert-data-using-clickhouse-client)
* [Создание первой таблицы семейства MergeTree](/ru/get-started/quickstarts/create-your-first-mergetree-table)

Либо углубитесь в справочную документацию:

* [Нативный интерфейс (TCP)](/ru/concepts/features/interfaces/tcp)
* [HTTP-интерфейс](/ru/concepts/features/interfaces/http)
