Spec-Zone.ru › MySQL Shell 9.2

4.7.2 Хранилище, совместимое с S3

Поддержка S3 в MySQL Shell была протестирована с использованием следующих сервисов хранения, совместимых с S3:

  • Amazon Web Services S3

    Дополнительную информацию см. в Документации Amazon Simple Storage Service.

  • Oracle Cloud Infrastructure Object Storage

    Дополнительную информацию см.

MySQL Shell поддерживает настройку учетных данных AWS в переменных окружения и конфигурационных файлах.

  • Приоритет параметров конфигурации

  • Переменные среды

  • Файлы конфигурации

  • Стратегия повторных подключений

Приоритет параметров конфигурации

Параметры конфигурации используются в порядке приоритета:

  1. Опция. Например, s3Profile имеет приоритет над переменной среды AWS_PROFILE и профилем по умолчанию в файле конфигурации.

  2. Переменная среды. Например, переменная среды AWS_SHARED_CREDENTIALS_FILE имеет приоритет над расположением файла credentials по умолчанию, ~/.aws/credentials.

  3. Переменная среды DEFAULT, если она существует. Например, переменные среды AWS_REGION и AWS_DEFAULT_REGION.

  4. Параметр, определенный в файле конфигурации.

  5. Значения по умолчанию AWS.

Например, для региона AWS, в порядке приоритета:

  1. Опция s3Region.

  2. Переменная среды AWS_REGION.

  3. Переменная среды AWS_DEFAULT_REGION.

  4. Регион, определенный в файле конфигурации.

  5. Значение по умолчанию для us-east-1.

AWS учетные данные считываются в следующем порядке приоритета:

  1. Переменные среды, если не определена опция s3Profile.

  2. Принятие роли.

  3. Файл учетных данных для указанного профиля.

  4. credential_process, как определено в файле конфигурации. Этот тип конфигурации содержит внешнюю команду, которая извлекает или генерирует AWS учетные данные аутентификации и записывает их в stdout.

  5. Файл конфигурации для указанного профиля.

  6. Учетные данные ECS.

  7. Учетные данные IMDS.

Переменные среды

Для получения информации о переменных среды AWS см.:

  • Переменные среды для настройки AWS CLI

  • Поставщик учетных данных контейнера

  • Поставщик учетных данных IMDS

Вы можете определить следующие переменные среды, специфичные для AWS S3:

  • AWS_PROFILE: Указывает имя профиля для использования. Это может быть имя профиля в файлах credentials или config, или значение default для использования профиля по умолчанию. Эта переменная среды переопределяет профиль [default], указанный в файле конфигурации. Вы можете переопределить эту переменную среды с помощью опции --s3Profile.

  • AWS_SHARED_CREDENTIALS_FILE: Расположение файла, используемого для хранения ключей доступа. Например, ~/.aws/credentials.

  • AWS_CONFIG_FILE: Расположение файла, используемого для хранения профилей конфигурации. Например, ~/.aws/config.

  • AWS_REGION: Указывает регион AWS для отправки запроса. Это значение переопределяет переменную среды AWS_DEFAULT_REGION и значение profile, определённое в файле конфигурации.

  • AWS_DEFAULT_REGION: Указывает регион AWS для отправки запроса. Это значение переопределяется опцией --s3Region и переменной среды AWS_REGION, если они указаны.

  • AWS_ACCESS_KEY_ID: Указывает AWS ключ доступа, связанный с пользователем или ролью IAM.

  • AWS_SECRET_ACCESS_KEY: Указывает секретный ключ, связанный с ключом доступа. Эта переменная переопределяет значение aws_secret_access_key, определённое в профиле.

  • AWS_SESSION_TOKEN: Указывает значение маркера сессии, необходимого, если вы используете временные учетные данные безопасности. Эта переменная переопределяет значение aws_session_token, определённое в профиле.

  • AWS_CONTAINER_CREDENTIALS_RELATIVE_URI: (Amazon ECS) указанное значение добавляется к http://169.254.170.2. Результирующий URI используется для извлечения учетных данных. Если она не задана или пустая, а AWS_CONTAINER_CREDENTIALS_FULL_URI определена, то используется AWS_CONTAINER_CREDENTIALS_FULL_URI вместо этого.

  • AWS_CONTAINER_CREDENTIALS_FULL_URI: (Amazon ECS) определенный хост должен содержать один из следующих значений:

    • 169.254.170.2

    • 169.254.170.23

    • localhost

    • fd00:ec2::23

    • A loopback address

    Если эта переменная установлена на значение, отличное от перечисленных, возвращается ошибка.

  • AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE: (Amazon ECS) определяет абсолютный путь к файлу, содержащему токен авторизации в виде обычного текста.

  • AWS_CONTAINER_AUTHORIZATION_TOKEN: (Amazon ECS) определяет заголовок авторизации HTTP-запроса для извлечения учетных данных.

  • AWS_EC2_METADATA_DISABLED: (Amazon IMDS) если включено, true, учетные данные IMDS не используются.

  • AWS_EC2_METADATA_V1_DISABLED: (Amazon IMDS) если включено, true, IMDSv1 используется, если IMDSv2 недоступен.

  • AWS_EC2_METADATA_SERVICE_ENDPOINT: (Amazon IMDS) указывает адрес конечной точки IMDS.

    Компонент имени хоста конечной точки проверяется по следующим критериям:

    • Максимум 253 символа

    • Максимум 63 символа на метку.

    • Допустимые символы: a-z, A-Z, 0-9 и -.

    • Метка не может начинаться или заканчиваться тире (-).

    • Метки конкатенируются точками.

  • AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE: (Amazon IMDS) одно из следующих значений:

    • IPv4: (по умолчанию) адрес конечной точки IMDS установлен на http://169.254.169.254/.

    • IPv6: адрес конечной точки IMDS установлен на http://[fd00:ec2::254]/.

  • AWS_METADATA_SERVICE_TIMEOUT: (Amazon IMDS) указывает количество секунд ожидания успешного подключения к конечной точке IMDS перед таймаутом. Значение по умолчанию равно 1.

  • AWS_METADATA_SERVICE_NUM_ATTEMPTS: (Amazon IMDS) указывает количество попыток извлечения данных из IMDS перед ошибкой и возвратом ошибки. Значение по умолчанию равно 1.

Файлы конфигурации

MySQL Shell требует указания следующих параметров в одном или нескольких файлах конфигурации:

  • aws_access_key_id: указывает ключ доступа, связанный с пользователем.

  • aws_secret_access_key: указывает секретный ключ, связанный с ключом доступа.

  • aws_session_token: указывает токен сессии, необходимый при использовании временных учетных данных безопасности. Если его нет, для аутентификации пользователя он не используется.

  • region: указывает регион облачного сервиса. Если отсутствует, используется значение по умолчанию us-east-1.

  • credential_process: Этот тип конфигурации содержит внешнюю команду, которая извлекает или генерирует учетные данные аутентификации AWS и записывает их в stdout.

    Примечание

    credential_process может быть определен только в файле config.

    Для получения дополнительной информации см.:

    • Процесс получения учетных данных AWS

    • Параметры конфигурации и учетных данных AWS

    • Получение учетных данных AWS с помощью внешнего процесса

  • role_arn: ARN роли IAM со следующим синтаксисом: arn:aws:iam::account-id:role/role-name.

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

    • credential_source

    • source_profile

    См. Поставщик учетных данных для перехода в роль.

  • role_session_name: Определяет имя, прикрепляемое к сеансу роли.

  • duration_seconds: Определяет максимальную продолжительность сеанса роли в секундах.

  • external_id: Уникальный идентификатор, используемый третьими сторонами для перехода в роль.

  • credential_source: указывает источник учетных данных, используемых для перехода в роль. Используйте один из следующих вариантов:

    • Environment: Переход в роль с использованием учетных данных, определенных в переменных среды AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY и (необязательно) AWS_SESSION_TOKEN.

    • EcsContainer: Переход в роль с использованием учетных данных, определенных в Amazon ECS.

    • Ec2InstanceMetadata: Переход в роль с использованием учетных данных, определенных в Amazon IMDS.

  • source_profile: указывает имя профиля, содержащего учетные данные, необходимые для перехода в роль.

  • ec2_metadata_v1_disabled: (Amazon IMDS) при включении, true, IMDSv1 используется, если IMDSv2 недоступен.

  • ec2_metadata_service_endpoint: (Amazon IMDS) указывает адрес конечной точки IMDS.

    Конечная точка проверяется по следующим критериям:

    • Максимальная длина 253 символа

    • Максимальная длина метки 63 символа.

    • Разрешенные символы: a-z, A-Z, 0-9 и -.

    • Метка не может начинаться или заканчиваться дефисом (-).

    • Метки объединяются точками.

  • ec2_metadata_service_endpoint_mode: (Amazon IMDS) одно из следующих значений:

    • IPv4: (по умолчанию) адрес конечной точки IMDS установлен на http://169.254.169.254/.

    • IPv6: адрес конечной точки IMDS установлен на http://[fd00:ec2::254]/

  • metadata_service_timeout: (Amazon IMDS) указывает количество секунд ожидания успешного подключения к конечной точке IMDS перед истечением времени ожидания. Значение по умолчанию 1.

  • metadata_service_num_attempts: (Amazon IMDS) указывает количество попыток извлечения данных из IMDS перед ошибкой и возвратом ошибки. Значение по умолчанию 1.

Если вы установили и настроили AWS CLI, MySQL Shell автоматически считывает параметры подключения из расположения по умолчанию, .aws/. Чтобы использовать альтернативную конфигурацию, используйте соответствующие параметры переопределения из командной строки.

Если вы используете совместимый с S3 API облака Oracle Cloud Infrastructure, см. соответствующие сведения о создании требуемых учетных данных.

Примечание

По умолчанию AWS CLI создает два файла конфигурации: config, хранящий параметры, такие как регион и формат вывода, и credentials, хранящий ключи доступа и токены сессий. Также возможно разместить все параметры конфигурации в одном файле, config. Для получения дополнительной информации см. Настройки конфигурации и аутентификации AWS. Однако, если вы определили ключи доступа и секретные ключи доступа в обоих файлах, те, что определены в файле credentials, имеют приоритет.

Следующий пример демонстрирует стандартную пару файлов конфигурации AWS CLI:

        /home/.aws/credentials

        [default]
        aws_access_key_id = AKIA6AV......
        aws_secret_access_key = XHRY579I.....

        /home/.aws/config

        [default]
        region = us-west-1
        output = json

      

Стратегия повторных попыток подключения

Все неудачные подключения к AWS S3 повторяются трижды с задержкой в 1 секунду между повторами.

Если ошибка произойдет через 10 минут после создания подключения, задержка изменяется на стратегию экспоненциального возврата:

  • Первая задержка: 3-6 секунд

  • Вторая задержка: 18-36 секунд

  • Третья задержка: 40-80 секунд

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/mysql-shell-cloud-service-configuration-s3api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API