Naver Cloud의 오브젝트 스토리지를 블록스토리지처럼 서버에 마운트하여 데이터를 올리는 테스트를 해보았습니다.
■ golang install
golang URL : https://go.dev/dl/
[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/
[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
참고
'Cloud > NCP(Naver Cloud Platform)' 카테고리의 다른 글
[NCP - CloudDB for MySQL 데이터 마이그레이션] use. mysqldump (0) | 2022.08.12 |
---|---|
[NCP - CloudDB for MySQL Slave 부하 분산] use. Loadbalancer (0) | 2022.07.09 |
[NCP - mail 전송 방법] use.(sendmail/mutt) (0) | 2022.05.14 |
[NCP - window서버 스토리지 추가] (0) | 2022.04.23 |
[NCP - Tomcat & MySQL 연동 방법] (0) | 2022.01.22 |