[NCP - Object Storage 마운트] use. awscli

Naver Cloud의 오브젝트 스토리지를 블록스토리지처럼 서버에 마운트하여 데이터를 올리는 테스트를 해보았습니다.

 

 

■ golang install
golang URL : https://go.dev/dl/
 

Downloads - The Go Programming Language

Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information about Go releases

go.dev

[root@jh-test ~]# yum -y install fuse-utils


[root@jh-test ~]# wget https://go.dev/dl/go1.18.7.linux-amd64.tar.gz
--2022-11-01 08:29:54--  https://go.dev/dl/go1.18.7.linux-amd64.tar.gz
Resolving go.dev (go.dev)... 216.239.36.21, 216.239.38.21, 216.239.32.21, ...
Connecting to go.dev (go.dev)|216.239.36.21|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://dl.google.com/go/go1.18.7.linux-amd64.tar.gz [following]
--2022-11-01 08:29:55--  https://dl.google.com/go/go1.18.7.linux-amd64.tar.gz
Resolving dl.google.com (dl.google.com)... 142.251.42.142, 2404:6800:4004:825::200e
Connecting to dl.google.com (dl.google.com)|142.251.42.142|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 141906548 (135M) [application/x-gzip]
Saving to: ‘go1.18.7.linux-amd64.tar.gz’

100%[===================================================================================================================================================>] 141,906,548 79.9MB/s   in 1.7s   

2022-11-01 08:29:57 (79.9 MB/s) - ‘go1.18.7.linux-amd64.tar.gz’ saved [141906548/141906548]


[root@jh-test ~]# tar -zxvf go1.18.7.linux-amd64.tar.gz


[root@jh-test ~]# mv go /usr/local/

 

 

 

■ 환경 설정

[root@jh-test ~]# vi ~/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/mysql/bin

export GOROOT=/usr/local/go
export GOPATH=$HOME
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH



[root@jh-test ~]# source ~/.bash_profile

 

 

■ Goofys 다운 및 권한설정
 
※ goofys란?
goofys는 Go로 작성된 고성능 POSIX 방식의 Amazon S3 파일 시스템입니다.
goofys를 사용하면 S3 버킷을 리눅스에서 파일 시스템으로 마운트 할 수 있습니다.
[root@jh-test ~]# wget https://github.com/kahing/goofys/releases/latest/download/goofys -O /usr/local/bin/goofys

[root@jh-test ~]# chmod 755 /usr/local/bin/goofys

[root@jh-test ~]# goofys --version
goofys version 0.24.0-45b8d78375af1b24604439d2e60c567654bcdf88

 

 

■ Awscli 설치 & configure
goofys는 기본 API 인증키 위치를 ~/.aws/credentials로 바라보고 있습니다. 따라서 아래와 같이 파일을 생성 후 네이버 클라우드 플랫폼에서 마이페이지->인증키 관리->API 인증키 관리에서 정보를 확인하여 아래와 같이 기입합니다. aws_access_key_id는 Access Key ID와 대응되며, aws_secret_access_key Secret Key의 값과 대응됩니다.

 

※ Access key, secret key 확인 방법

[root@jh-test ~]# yum -y install awscli


[root@jh-test ~]# aws configure
AWS Access Key ID [None]: <Access Key>
AWS Secret Access Key [None]: <Secret Key>
Default region name [None]:
Default output format [None]:

 

 

 

 

■ 마운트할 오브젝트 스토리지(버킷) 확인 & 마운트

네이버 클라우드 플랫폼의 object storage의 endpoint 위치 : https://kr.object.ncloudstorage.com/
 
※ goofys --endpoint https://kr.object.ncloudstorage.com/ 버킷명 마운트위치
[root@jh-test ~]# mkdir /obj

[root@jh-test ~]# goofys --endpoint https://kr.object.ncloudstorage.com/ sts-test-obj /obj

[root@jh-test ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda3       48G  8.5G   40G  18% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.8G     0  1.8G   0% /dev/shm
tmpfs           1.8G  8.4M  1.8G   1% /run
tmpfs           1.8G     0  1.8G   0% /sys/fs/cgroup
tmpfs           354M     0  354M   0% /run/user/0
sts-test-obj    1.0P     0  1.0P   0% /obj

 

 
■ 연동 테스트
## 마운트한 오브젝트 스토리지에 테스트용 데이터 생성
[root@jh-test ~]# touch /obj/kim.test.txt

 

 

 

참고