ServBay에서 MinIO 오브젝트 스토리지 서비스 설정 및 사용법
MinIO는 고성능의 Amazon S3 API와 호환되는 오픈 소스 오브젝트 스토리지 서버입니다. 이는 사진, 비디오, 로그 파일, 백업, 컨테이너 이미지 등 비정형 데이터를 저장하고 관리하는 데 적합하며, 로컬 개발 환경에서 클라우드 스토리지 서비스를 시뮬레이션할 수 있도록 도와줍니다. ServBay를 통해 macOS에서 쉽고 빠르게 로컬 MinIO 인스턴스를 배포하고 관리할 수 있습니다.
개요
ServBay는 MinIO에 대한 원클릭 설치 및 그래픽 기반 설정 인터페이스를 제공하여, 로컬 환경에서 S3 호환 스토리지를 구축하는 복잡함을 크게 줄여줍니다. 개발자는 복잡한 커맨드라인 설치나 설정 작업 없이도, 개발 및 테스트에 사용할 수 있는 완전한 오브젝트 스토리지 서비스를 빠르게 갖출 수 있습니다.
특히, ServBay는 MinIO 인스턴스에 자동으로 안전하고 쉽게 접근할 수 있는 웹 콘솔을 설정해 주며, 도메인은 https://minio.servbay.host/
입니다.
사전 준비 사항
- macOS에 ServBay가 성공적으로 설치되어 실행 중이어야 합니다.
- 오브젝트 스토리지의 기본 개념(버킷, 오브젝트 등)에 대해 기본적인 이해가 필요합니다.
사용 절차
1. MinIO 패키지 설치
우선, ServBay에서 MinIO를 설치해야 합니다.
- ServBay 애플리케이션을 엽니다.
- 좌측 네비게이션 바에서 **소프트웨어 패키지(Packages)**를 클릭합니다.
- 패키지 목록에서
오브젝트 스토리지
-MinIO
를 찾습니다. MinIO
오른쪽에 있는 설치 버튼을 클릭하고, 설치가 완료될 때까지 기다립니다.- 활성화 버튼을 클릭하여
MinIO
서비스를 활성화합니다.
2. MinIO 서비스 설정
설치가 완료되면 MinIO에 대한 초기 설정이 필요합니다.
ServBay 좌측 네비게이션 바에서 Object Storage를 클릭합니다.
드롭다운 메뉴에서 MinIO를 선택하여 설정 화면으로 이동합니다.
다음과 같은 설정 항목이 표시되며, 필요에 따라 수정하거나 기본값을 그대로 사용할 수 있습니다.
- Bind IP (바인딩 IP): MinIO 서비스가 리스닝할 IP 주소입니다. 기본값
127.0.0.1
은 오직 로컬에서만 접근 가능함을 의미하며, 로컬 개발에 가장 안전하고 권장되는 설정입니다. - API Port (API 포트): S3 API 통신에 사용되는 포트입니다. 애플리케이션이 이 포트를 통해 MinIO와 상호작용하게 됩니다. 기본값은
9000
입니다. - Root user (루트 사용자): MinIO 관리자 계정의 사용자명입니다. 기본값은
minio
입니다. - Root password (루트 비밀번호): 관리자 계정의 비밀번호입니다. 반드시 복잡하고 고유한 비밀번호를 설정하고 안전하게 보관할 것을 강력히 권장합니다. 이 비밀번호는 모든 저장 데이터에 접근 및 관리하는 데 필요합니다.
- Data Path (데이터 경로): MinIO가 오브젝트 및 메타데이터를 저장할 로컬 파일 시스템 경로입니다. 기본 경로는
/Applications/ServBay/data/minio
입니다. 오른쪽 폴더 아이콘을 클릭하면 Finder에서 해당 디렉토리를 바로 열 수 있습니다.
- Bind IP (바인딩 IP): MinIO 서비스가 리스닝할 IP 주소입니다. 기본값
3. 설정 저장 및 서비스 시작
- 모든 설정을 마친 후 우측 하단의 저장(Save) 버튼을 클릭합니다.
- 이상이 없다면 서비스 상태 표시등이 초록색으로 변하며, MinIO가 정상적으로 가동 중임을 의미합니다.
4. MinIO 웹 콘솔 접속
ServBay의 큰 장점은 MinIO 웹 관리 콘솔이 자동으로 구성된다는 점입니다.
첫 번째 방법: MinIO 설정 화면 상단 우측의 브라우저 아이콘(나침반 모양)을 클릭하면, ServBay가 기본 브라우저로 MinIO 콘솔을 자동으로 엽니다.
두 번째 방법: 브라우저 주소창에
https://minio.servbay.host/
를 직접 입력해 접속합니다.2단계에서 지정한
Root user
와Root password
로 로그인합니다.
로그인 후 직관적인 웹 인터페이스를 통해 버킷(Buckets) 생성, 파일(Objects) 업로드 및 관리, 접근 정책 설정 등을 손쉽게 할 수 있습니다.
5. 애플리케이션에서 MinIO 사용하기
여러분의 애플리케이션(예: PHP, Node.js, Python 등)은 ServBay의 MinIO 인스턴스에 S3 호환 SDK를 사용해 연결할 수 있습니다. 연결 시 다음 정보를 참고하세요.
- Endpoint (엔드포인트):
http://127.0.0.1:9000
- Access Key ID (액세스 키 ID): 설정한
Root user
(예:minio
) - Secret Access Key (비밀 액세스 키): 설정한
Root password
- Use path style endpoint (패스 스타일 엔드포인트 사용): 반드시
true
로 설정하는 것을 권장합니다.
PHP 예제 코드 (AWS SDK for PHP 활용)
우선, SDK를 설치합니다.
bash
composer require aws/aws-sdk-php
1
그런 다음, 코드에서 S3 클라이언트를 설정하고 사용하세요.
php
<?php
require 'vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
$s3Client = new S3Client([
'profile' => 'default',
'version' => 'latest',
'region' => 'us-east-1', // MinIO에서는 아무 문자열이나 지정 가능합니다
'endpoint' => 'http://127.0.0.1:9000',
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'minio', // Root user 입력
'secret' => 'your-strong-password', // Root password 입력
],
]);
try {
$buckets = $s3Client->listBuckets();
foreach ($buckets['Buckets'] as $bucket) {
echo $bucket['Name'] . "\n";
}
} catch (AwsException $e) {
// 예외 정보 출력
echo "Error: " . $e->getMessage() . "\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
자주 묻는 질문 (FAQ)
- Q: MinIO의 Root password를 잊어버렸어요. 어떻게 초기화하나요?
- A: ServBay에서 비밀번호 재설정은 매우 간단합니다. MinIO 설정 화면에서 새로운 비밀번호를 입력한 후 **저장(Save)**을 클릭하고, MinIO 서비스를 재시작하면 됩니다. ServBay가 자동으로 설정 파일을 갱신해줍니다.
- Q: MinIO 서비스 실행이 실패하면 어떻게 해야 하나요?
- A: 다음 사항을 점검하세요.
- MinIO 설정 화면 우측 상단의 로그 아이콘을 클릭해 상세 에러 메시지를 확인합니다.
9000
포트가 다른 애플리케이션에서 이미 사용 중인지 확인합니다.- 지정한
Data Path
가 실제로 존재하고, ServBay가 해당 디렉토리에 읽기/쓰기 권한을 가지고 있는지 확인하세요.
- A: 다음 사항을 점검하세요.
- Q: MinIO의 API 포트를 변경할 수 있나요?
- A: 네. ServBay의 MinIO 설정 화면에서
API Port
값을 수정한 뒤, 저장하고 서비스를 재시작하면 됩니다. 이때, 애플리케이션의 접속 포트도 동일하게 변경해야 합니다.
- A: 네. ServBay의 MinIO 설정 화면에서
요약
ServBay를 활용하면 macOS에서 로컬 MinIO 오브젝트 스토리지 인스턴스를 손쉽게 설정하고 운영할 수 있습니다. 이는 S3 호환 스토리지가 필요한 로컬 애플리케이션 개발 및 테스트에 큰 편의성을 제공하며, 개발자가 환경 구성에 불필요한 시간을 들이지 않고 비즈니스 로직에 집중할 수 있도록 도와줍니다.