forked from yandex-cloud/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
111ffbc
commit 2f8bf06
Showing
1 changed file
with
254 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,254 @@ | ||
--- | ||
title: "Начало работы с помощью AWS CLI" | ||
description: "Следуя данной инструкции, вы сможете создать бакета и загрузить в него объект с помощью AWS CLI." | ||
--- | ||
|
||
# Как начать работать с AWS CLI в {{ objstorage-full-name }} | ||
|
||
[AWS CLI](../tools/aws-cli.md) является одним из самых популярных инструментов для работы с {{ objstorage-name }}. В этом разделе вы научитесь работать с сервисом с помощью этого инструмента. Инструкцию о работе в консоли управления см. в документе [{#T}](../quickstart.md). | ||
|
||
Чтобы начать работу с AWS CLI: | ||
|
||
1. [Подготовьте облако к работе](#before-you-begin). | ||
1. [Настройте сервисный аккаунт](#create-sa). | ||
1. [Установите и настройте AWS CLI](#cli-setup). | ||
1. [Создайте бакет](#the-first-bucket). | ||
1. [Загрузите объект в бакет](#upload-files). | ||
1. [Получите ссылку на скачивание файла](#get-link). | ||
|
||
## Подготовьте облако к работе {#before-you-begin} | ||
|
||
{% list tabs group=instructions %} | ||
|
||
- Консоль управления {#console} | ||
|
||
1. Перейдите в [консоль управления]({{ link-console-main }}), затем войдите в {{ yandex-cloud }} или зарегистрируйтесь, если вы еще не зарегистрированы. | ||
1. На странице [**{{ ui-key.yacloud_billing.billing.label_service }}**]({{ link-console-billing }}) убедитесь, что у вас подключен {% if audience != "internal" %}[платежный аккаунт](../../billing/concepts/billing-account.md){% else %}платежный аккаунт{% endif %} и он находится в статусе `ACTIVE` или `TRIAL_ACTIVE`. Если платежного аккаунта нет, {% if audience != "internal" %}[создайте его](../../billing/quickstart/index.md#create_billing_account){% else %}создайте его{% endif %}. | ||
1. На странице [{{ ui-key.yacloud.common.resource-acl.label_access-bindings }}]({{ link-console-access-management }}) убедитесь, что у вас следующие _минимальные_ роли: | ||
* для создания [сервисного аккаунта](../../iam/concepts/users/service-accounts.md) и получения на него ключей доступа — [iam.serviceAccounts.admin](../../iam/roles-reference.md#iam-serviceAccounts-admin) на [каталог](../../resource-manager/concepts/resources-hierarchy.md#folder). Если вы хотите использовать существующий сервисный аккаунт, достаточно роли `iam.serviceAccounts.admin` на этот сервисный аккаунт. | ||
* для назначения сервисному аккаунту нужной роли — [storage.admin](../../storage/security/index.md#storage-admin) на каталог. | ||
|
||
Если у вас примитивная роль [admin](../../iam/roles-reference.md#admin) на каталог, назначать дополнительно роли не требуется. | ||
|
||
{% endlist %} | ||
|
||
## Настройте сервисный аккаунт {#create-sa} | ||
|
||
{% list tabs group=instructions %} | ||
|
||
- Консоль управления {#console} | ||
|
||
1. Создайте сервисный аккаунт: | ||
|
||
{% include [create-sa-via-console-without-role](../../_includes/iam/create-sa-via-console-without-role.md) %} | ||
|
||
Вы также можете использовать существующий сервисный аккаунт. | ||
|
||
Подробнее см. в документе [{#T}](../../iam/operations/sa/create.md). | ||
|
||
1. Назначьте сервисному аккаунту нужную [роль](../security/index.md#roles-list), например [storage.editor](../security/index.md#storage-editor) на каталог: | ||
|
||
1. В [консоли управления]({{ link-console-main }}) выберите нужное облако или каталог. | ||
1. Перейдите на вкладку **{{ ui-key.yacloud.common.resource-acl.label_access-bindings }}**. | ||
1. Нажмите кнопку **{{ ui-key.yacloud.common.resource-acl.button_configure-access }}**. | ||
1. В открывшемся окне выберите раздел **{{ ui-key.yacloud_components.acl.label.service-accounts}}**. | ||
1. Выберите нужный сервисный аккаунт из списка или воспользуйтесь поиском. | ||
1. Нажмите кнопку ![image](../../_assets/console-icons/plus.svg) **{{ ui-key.yacloud_components.acl.button.add-role }}** и выберите роль из списка или воспользуйтесь поиском. | ||
1. Нажмите кнопку **{{ ui-key.yacloud_components.acl.action.apply }}**. | ||
|
||
Подробнее см. в документе [{#T}](../../iam/operations/sa/assign-role-for-sa.md). | ||
|
||
{% include [access-bucket-sa](../../_includes/storage/access-bucket-sa.md) %} | ||
|
||
1. Создайте статический ключ доступа {#create-keys} | ||
|
||
1. В [консоли управления]({{ link-console-main }}) перейдите в каталог, которому принадлежит сервисный аккаунт. | ||
1. В списке сервисов выберите **{{ ui-key.yacloud.iam.folder.dashboard.label_iam }}**. | ||
1. На панели слева выберите ![FaceRobot](../../_assets/console-icons/face-robot.svg) **{{ ui-key.yacloud.iam.label_service-accounts }}**. | ||
1. В открывшемся списке выберите нужный сервисный аккаунт. | ||
1. Нажмите кнопку **{{ ui-key.yacloud.iam.folder.service-account.overview.button_create-key-popup }}** на верхней панели. | ||
1. Выберите **{{ ui-key.yacloud.iam.folder.service-account.overview.button_create_service-account-key }}**. | ||
1. Задайте описание ключа и нажмите кнопку **{{ ui-key.yacloud.iam.folder.service-account.overview.popup-key_button_create }}**. | ||
1. Сохраните идентификатор и секретный ключ. | ||
|
||
{% note alert %} | ||
|
||
После закрытия диалога значение ключа будет недоступно. | ||
|
||
{% endnote %} | ||
|
||
Подробнее см. в документе [{#T}](../../iam/operations/sa/create-access-key.md). | ||
|
||
{% endlist %} | ||
|
||
## Установите и настройте AWS CLI {#cli-setup} | ||
|
||
1. Установите AWS CLI: | ||
|
||
{% list tabs group=operating_system %} | ||
|
||
- Linux {#linux} | ||
|
||
1. В терминале выполните команду: | ||
|
||
```bash | ||
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" --output "awscliv2.zip" | ||
unzip awscliv2.zip | ||
sudo ./aws/install | ||
``` | ||
|
||
1. После завершения установки перезапустите терминал. | ||
|
||
- macOS {#macos} | ||
|
||
1. В терминале выполните команду: | ||
|
||
```bash | ||
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" --output "AWSCLIV2.pkg" | ||
sudo installer -pkg AWSCLIV2.pkg -target / | ||
``` | ||
|
||
1. После завершения установки перезапустите терминал. | ||
|
||
- Windows {#windows} | ||
|
||
1. Скачайте [установочный файл](https://awscli.amazonaws.com/AWSCLIV2.msi) AWS CLI. | ||
1. Откройте файл и следуйте инструкциям программы установки. | ||
|
||
{% endlist %} | ||
|
||
Подробнее об установке AWS CLI см. в [документации AWS](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html). | ||
|
||
1. Настройте AWS CLI: | ||
|
||
{% list tabs group=instructions %} | ||
|
||
- AWS CLI {#aws-cli} | ||
|
||
1. В терминале введите команду для настройки AWS CLI: | ||
|
||
```bash | ||
aws configure | ||
``` | ||
|
||
1. Введите значения для параметров: | ||
|
||
* `AWS Access Key ID` — идентификатор статического ключа, полученный ранее. | ||
* `AWS Secret Access Key` — секретный ключ, полученный ранее. | ||
* `Default region name` — регион `{{ region-id }}`. | ||
|
||
Для работы с {{ objstorage-name }} всегда указывайте регион — `{{ region-id }}`. Другие значения региона могут привести к ошибке авторизации. | ||
|
||
{% if region == "kz" %} | ||
|
||
{% include [kz-s3-region-note](../../_includes/kz-s3-region-note.md) %} | ||
|
||
{% endif %} | ||
|
||
Значения остальных параметров оставьте без изменений. | ||
|
||
{% if audience != "internal" %} | ||
|
||
{% include [store-aws-key-in-lockbox](../../_includes/storage/store-aws-key-in-lockbox.md) %} | ||
|
||
{% endif %} | ||
|
||
1. Задайте эндпоинт {{ objstorage-name }}: | ||
|
||
```bash | ||
aws configure set endpoint_url https://{{ s3-storage-host }}/ | ||
``` | ||
|
||
{% cut "Пример получившихся конфигурационных файлов" %} | ||
|
||
* `~/.aws/config`: | ||
|
||
{% if region == "ru" %} | ||
|
||
```text | ||
[default] | ||
region = {{ region-id }} | ||
endpoint_url = https://{{ s3-storage-host }}/ | ||
``` | ||
|
||
{% endif %} | ||
|
||
{% if region == "kz" %} | ||
|
||
```text | ||
[default] | ||
region = kz1 | ||
endpoint_url = https://{{ s3-storage-host }}/ | ||
``` | ||
|
||
{% endif %} | ||
|
||
* `~/.aws/credentials`: | ||
|
||
```text | ||
[default] | ||
aws_access_key_id = <идентификатор_статического_ключа> | ||
aws_secret_access_key = <секретный_ключ> | ||
``` | ||
|
||
{% endcut %} | ||
|
||
{% endlist %} | ||
|
||
Подробнее о настройке AWS CLI см. в [документации AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). | ||
|
||
{% note info %} | ||
|
||
Учитывайте [особенности](../tools/aws-cli.md#specifics) работы AWS CLI с {{ objstorage-name }}. | ||
|
||
{% endnote %} | ||
|
||
## Создайте бакет {#the-first-bucket} | ||
|
||
{% list tabs group=instructions %} | ||
|
||
- AWS CLI {#aws-cli} | ||
|
||
В терминале выполните команду, указав имя [бакета](../concepts/bucket.md): | ||
|
||
```bash | ||
aws s3 mb s3://<имя_бакета> | ||
``` | ||
|
||
Подробности см. в документе [{#T}](../operations/buckets/create.md). | ||
|
||
{% endlist %} | ||
|
||
## Загрузите объект в бакет {#upload-files} | ||
|
||
{% list tabs group=instructions %} | ||
|
||
- AWS CLI {#aws-cli} | ||
|
||
Чтобы загрузить [объект](../concepts/object.md), выполните команду, указав путь к локальному файлу, который нужно загрузить, имя вашего бакета и [ключ](../concepts/object.md#key), по которому объект будет храниться в бакете: | ||
|
||
```bash | ||
aws s3 cp <путь_к_локальному_файлу>/ s3://<имя_бакета>/<ключ_объекта> | ||
``` | ||
|
||
Подробности см. в документе [{#T}](../operations/objects/upload.md). | ||
|
||
{% endlist %} | ||
|
||
## Получите ссылку на скачивание объекта {#get-link} | ||
|
||
{% list tabs group=instructions %} | ||
|
||
- AWS CLI {#aws-cli} | ||
|
||
В терминале выполните команду, указав имя бакета, ключ объекта и время жизни ссылки в секундах: | ||
|
||
```bash | ||
aws s3 presign s3://<имя_бакета>/<ключ_объекта> --expires-in <время_жизни> | ||
``` | ||
|
||
Полученной ссылкой вы можете поделиться или использовать ее в своем сервисе для доступа к файлу. | ||
|
||
Подробности см. в документе [{#T}](../operations/objects/link-for-download.md). | ||
|
||
{% endlist %} |