Ubuntu의 폴더를 AWS S3 버킷으로 탑재할 수 없습니다

Ubuntu의 폴더를 AWS S3 버킷으로 탑재할 수 없습니다

Ubuntu 18.04를 실행하는 새로운 AWS EC2 인스턴스의 폴더를 AWS S3에 마운트하려고 합니다.

나는 다음에서 찾은 지침을 따랐습니다.https://cloud.netapp.com/blog/amazon-s3-as-a-file-system그리고https://www.nakivo.com/blog/mount-amazon-s3-as-a-drive-how-to-guide/. 나도 메시지 봤어AWS Ubuntu 인스턴스에 S3 버킷 탑재 문제

폴더를 마운트하는 명령을 실행하면 오류가 발생하지 않지만 현재 마운트된 폴더를 보면 새 폴더가 나열되지 않습니다. 예:

[email protected]:~$ sudo s3fs -o allow_other alextestbackup ~/s3-bucket/ -o passwd_file=~/.passwd-s3fs
[email protected]:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=486512k,nr_inodes=121628,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=100208k,mode=755)
/dev/xvda1 on / type ext4 (rw,relatime,discard)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13950)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/var/lib/snapd/snaps/snapd_14066.snap on /snap/snapd/14066 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/amazon-ssm-agent_4046.snap on /snap/amazon-ssm-agent/4046 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core18_2253.snap on /snap/core18/2253 type squashfs (ro,nodev,relatime,x-gdu.hide)
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=100204k,mode=700,uid=1000,gid=1000)

mount 명령에 대해 다양한 조합을 시도했습니다.

sudo /usr/bin/s3fs -o allow_other alextestbackup /home/ubuntu/s3-bucket/
s3fs -o allow_other alextestbackup ~/s3-bucket/ -o passwd_file=~/.passwd-s3fs
s3fs alextestbackup ~/s3-bucket/ -o passwd_file=~/.passwd-s3fs

또한 .passwd-s3fs에 잘못된 자격 증명이 있는지 테스트했는데 이것이 잘못되었다는 경고가 표시되지 않습니다.

제가 보기엔 어떤 이유로 자격 증명이 선택되지 않는 것 같나요? 아니면 내가 놓친 다른 것이 있습니다.

도움을 주시면 감사하겠습니다. 로그 파일 정보가 필요한 경우 여기에 게시할 내용을 알려주시기 바랍니다.

답변1

AWS E2 인스턴스를 중지/시작한 후 다음을 실행했습니다.

sudo /usr/bin/s3fs -o allow_other alextestbackup /home/ubuntu/s3-bucket/

이제 디렉토리가 마운트된 것을 볼 수 있습니다(mount 명령의 마지막 몇 줄):

lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=100204k,mode=700,uid=1000,gid=1000)
s3fs on /home/ubuntu/s3-bucket type fuse.s3fs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

s3 버킷에 파일을 쓸 때 AWS S3 콘솔에서 파일을 볼 수 있는지 확인할 수 있습니다.

그래서... 이전에 무슨 일이 일어났는지 전혀 모릅니다. 아니면 s3fs를 설치한 후 다시 시작해야 했습니다.

답변2

EC2(Ubuntu18)에 S3을 마운트했는데 명령줄을 사용하여 마운트할 수 없습니다. /etc/fstab 파일에 항목을 추가하고 다시 마운트(source -a)했을 때 제대로 작동했습니다. 또한 EC2 인스턴스에 적절한 S3 읽기/쓰기/삭제 정책이 포함된 역할이 있는지 확인했습니다.

Srini는 아래 링크에 좋은 설명이 있습니다(비록 fstab 항목만 제게는 효과가 있었지만).

https://serverfault.com/a/1063745/981157

관련 정보