Проблемы с установкой ведра S3 с s3fs

Я пытаюсь установить ведро S3 на экземпляр AWS EC2 после этого инструкция. Мне удалось установить зависимости через yum, затем клонировать репозиторий git, а затем создать и установить инструмент s3fs.

Кроме того, я убедился, что мои значения AWSACCESSKEYID и AWSSECRETACCESSKEY находятся в нескольких местах (потому что я не мог заставить инструмент работать, и поиск ответа предлагал разместить файл в разных местах).

  • ~ / .passwd-s3fs
  • /etc/.passwd-s3fs
  • ~ / .bash_profile

Для .passwd-s3fs я установил следующие разрешения.

chmod 600 ~/.passwd-s3fs
chmod 640 /etc/.passwd-s3fs

Кроме того, файлы .passwd-s3fs имеют предлагаемое содержимое в следующем формате: AWSACCESSKEYID: AWSSECRETACCESSKEY.

Я также вышел из системы, чтобы убедиться, что изменения вступили в силу. Когда я выполняю эту команду /usr/bin/s3fs bucketname /mnt, я получаю следующий ответ.

s3fs: MOUNTPOINT: /mnt permission denied.

Когда я запускаю ту же команду с sudo, например sudo /usr/bin/s3fs mybucket /mnt, получаю следующее сообщение.

s3fs: could not determine how to establish security credentials.

Я использую s3fs v1.84 на следующем AMI ami-0ff8a91507f77f867 (Amazon Linux AMI 2018.03.0.20180811 x86_64 HVM GP2). В консоли AWS для S3 мое ведро называется НЕ mybucket, а чем-то столь же простым (мне интересно, есть ли что-то особенное, что я должен сделать с именованием).

Кроме того, моя пара ключей доступа к AWS и секретного ключа создается из веб-интерфейса IAM и помещается в группу администратора (имеющую политику AdministratorAccess), определенную ниже.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    }
  ]
}

Есть идеи о том, что происходит? Я пропустил шаг?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
4 069
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Немного повозившись, я нашел следующие подсказки.

/usr/bin/s3fs mybucket /mnt -o passwd_file=.passwd-s3fs -o allow_other

Обратите внимание, что я указываю расположение файла .passwd-s3fs. Также обратите внимание, что я разрешаю другим просматривать крепление. Кроме того, мне пришлось изменить /etc/fuse.conf, чтобы включить user_allow_other.

# mount_max = 1000
user_allow_other

Чтобы проверить, я набрал touch /mnt/README.md, а затем просмотрел файл в моем сегменте S3 (веб-интерфейс).

Я немного разочарован тем, что эта проблема не документирована лучше. Я ожидал, что домашнее местоположение по умолчанию или /etc будет там, где инструмент будет искать файл .passwd-s3fs, но это не так. Кроме того, sudo (как указано в ссылке, которую я не добавил в закладки) заставляет инструмент искать в ~/home/root, которого не существует.

Вы должны добавить подкаталог в /mnt. Что-то вроде /mnt/my-bucket. И используйте это как точку монтирования. Причина /mnt иногда также используется для монтирования других устройств.

Soren 11.08.2021 22:39

Для меня это было несоответствие профиля IAM при монтировании и профиля IAM сервера ec2.

EC2 был запущен с роль2, и я работал с

/usr/local/bin/s3fs -o allow_other mybucket /mnt/s3fs/mybucketfolder -o iam_role='role1'

который не из-за какой-либо ошибки, но не смонтирован.

PS

У меня нет ключей доступа или файла паролей s3 на сервере ec2.

Другие вопросы по теме