S3 호환 단순 개체를 사용하여 Minio 저장

4724 단어 minio
개요
Miniohttps://www.minio.io/는 AWS의 S3와 호환되는 API를 가진 대상 저장 장치다.
구글에는 실행 파일 하나만 시작하면 저장 서버가 될 수 있다는 가벼운 판매 방식이 적혀 있다.
분산화는 필수적이지 않기 때문에 대상 저장 장치를 간단하게 구축하여 작은 환경에서 사용하거나 S3 이용 응용 개발 시 로컬 테스트에 사용하면 편리하다.
오랜만에 만져봤는데 의외의 느낌이 좋아서 추천 기사를 쓰기로 했어요.
Minio 서버 시작
설치하다.
공식 사이트에서 wget 등을 통해 다운로드하거나 goo를 통해 구축한다.
go get -u github.com/minio/minio
명령줄에서
특별한 준비 없이 저장된 로컬 스토리지 경로를 지정하여 미니오를 시작합니다.
시작할 때 컨트롤러에 접근 키, 비밀 키, 지역 이름을 표시하기 때문에 미리 적어 두십시오.
minio server /mnt/store
bind를 지정하려면 --address 스위치를 지정합니다.지정된 형식은 IP:PORT이고 생략된 기본값은 :9000입니다.
minio server --address 192.168.0.1:9000 /mnt/store
Docker 컨테이너에서 시작
컨테이너에 시동을 거는 것이 가장 최근의 추천 모드인 것 같다.
docker run -p 9000:9000 -d --name minio minio/minio server /export
매개 변수(minio/minio 부분 이후)는 미니오에게 직접 맡기기 때문에 변경할 수 있지만 보통 이렇게 하면 됩니다.
이 예라면,/export는 용기 내 파일 시스템이기 때문에, 실제로는 영구화를 위해/export는volume의 어딘가에 설정됩니다.
Docker의 콘솔 로그에는 액세스 키, 비밀 키, 영역 이름이 표시되므로 표시하고 기록해야 합니다.
docker logs minio
최근 Intel CPU가 탑재된 중간 수준 이상의 NAS에서는 가상화 환경으로 Docker 컨테이너를 실행할 수 있습니다.(QNAP, Synology 등)
그런 NAS에서 Minio 컨테이너를 시작하면 NAS의 스토리지 섹션을 설치해 사용할 수 있어 매력적인 시스템입니다.
Minio를 사용하는 클라이언트
브라우저 UI

시작 후 브라우저를 통해 API 주소에 액세스하여 파일을 관리할 수 있는 UI를 표시합니다.
여기서는 파일을 업로드, 다운로드, 삭제할 수 있는데, 이것만으로도 충분하다.
방문 시 인증은 방문 키와 기밀 키를 묻기 때문에 입력합니다.
여러 계정에 대응하는 게 아니기 때문에 그런 의미에서 간이 UI로도 접근할 수 있다.
클라이언트
명령줄에서 등 관리 파일을 복사하기 위해 mc(minio-client)라는 명령을 준비했다.
이전에 Linux를 사용했던 사람들은 Midnight Commander (mc) 와 명령어가 겹치는 것을 의식할 수도 있다.
mc도 goo에 쓰여 있기 때문에 실행 파일 하나만 적용됩니다.
실행 시 설정이 필요합니다~/.mc/config.json.여기서 각 서버 이름에 대해 액세스 서버와 액세스 키 등을 미리 설정합니다.
config.json
{
  "version": "8",
  "hosts": {
    "(任意のサーバー名)": {
      "url": "http://(サーバーのアドレスとポート):9000/",
      "accessKey": "(minio 起動時に表示されるアクセスキー)",
      "secretKey": "(minio 起動時に表示されるシークレットキー)",
      "api": "S3v4"
    }
  }
}
config 파일을 직접 편집하지 않아도 mc 명령으로 보충할 수 있습니다.
mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>
S3 서버도 기술할 수 있기 때문에 여러 이용 서버에 로그인해 서버 이름으로 분류해서 사용할 수 있다.
서버 이름과 투형이 패스 이름이 되다.
mc ls (サーバー名)/(バケット名)/(ファイルパス)
지금까지 S3를 방문한 cli는 s3cmd를 즐겨 사용했지만, mc는 그것에 가까운 느낌이어서 갈아타기로 했다.
S3 호환성이기 때문에 AWS cli와 s3cmd를 사용해 취향에 따라 선택할 수도 있다.
Minio SDK
공식 존재Minio SDK는 go/java/node/python입니다.
그럼에도 AWS SDK의 S3도 쓸 수 있기 때문에 다른 프로그래밍 언어(ruby 등)도 곤란해하지 않을 것으로 보인다.
만약 제품 환경이 S3을 가리킨다면 처음부터 AWS SDK를 사용하는 경우가 많을 것이다.
사용처
대상 저장은 파일 시스템과 달리 희소하게 결합되어 있지만 기계와 환경에 의존하지 않고 파일 저장을 할 때 유용하지 않겠는가.
Docker의 영구 저장 문제는 항상 고민스럽지만, 마이크로 서버 구조와 환경 의존성을 고려하면, Volume Driver에 의존하는 것보다 API를 통한 교환이 더 간결하다.
읽기와 쓰기가 빈번한 시스템에는 적용되지 않지만 매일 데이터를 지속적으로 수집하고 축적하는 시스템에서 대상 저장은 간단하게 구성될 수 있다.
따라서 일단 사용법을 찾았지만 그것을 찾으면 편리하고 적합할 수 있으니 가볍게 시도해 보시기 바랍니다.

좋은 웹페이지 즐겨찾기