minioでhttpsアクセスimmutable環境をdockerにつくる。

投稿者: | 10月 13, 2020

同じようなエントリを以前記載したが、今回は、dockerで、https(オレオレ証明書)のimmutableの環境を作ってみる。こっちのほうが便利かもしれない。

パーティションの作成
xfsが推奨なのでxfsで作る。本来ならディスクをかっちり分ける必要があるんだが、面倒なので、1つのディスクで8本のErasure Cording環境をつくる。

parted /dev/sdg –script ‘mklabel gpt mkpart primary 0% 100% print quit’
mkfs.xfs -b size=4096 -m reflink=1,crc=1 /dev/sdg1
mkdir /minio
echo “/dev/sdg1 /minio xfs defaults 0 0” >>/etc/fstab
mount -a

 

ディレクトリの作成

mkdir -p /minio/config/certs
mkdir -p /minio/data{1..8}

minioのマウント元のフォルダーを以下のようになっているはず
/minio/config
/minio/data1
/minio/data2
/minio/data3
/minio/data4
/minio/data5
/minio/data6
/minio/data7
/minio/data8

 

自己証明書の作成

apt install golang
wget https://golang.org/src/crypto/tls/generate_cert.go?m=text -O generate_cert.go
IPADDRLOCAL=`ip addr show ens192 | grep -o ‘inet [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+’ | grep -o [0-9].*`
go run generate_cert.go -ca –host “$IPADDRLOCAL”
unset IPADDRLOCAL
mv cert.pem /minio/config/certs/public.crt
mv key.pem /minio/config/certs/private.key
->public.crtはアクセスする環境にコピー

 

Dockerのインストール

apt -y install docker.io
systemctl enable –now docker
docker ps

 

Minioのデプロイ

docker run -d -p 9000:9000 –name minio –restart=always \
-e “MINIO_ACCESS_KEY=minioadmin” \
-e “MINIO_SECRET_KEY=minioadmin” \
-v /minio/data1:/data1 \
-v /minio/data2:/data2 \
-v /minio/data3:/data3 \
-v /minio/data4:/data4 \
-v /minio/data5:/data5 \
-v /minio/data6:/data6 \
-v /minio/data7:/data7 \
-v /minio/data8:/data8 \
-v /minio/config:/root/.minio \
minio/minio server /data{1…8}

もうアクセスができるが、immutableなバケットを作りたければ、まだバケットを作ってはいけない。

 

minio クライアント(IPアドレス例:192.168.11.5)

 

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
mv mc /usr/local/bin/
mkdir ~/.mc
mv ~/.mc/config.json ~/.mc/config.json,orig
cat < ~/.mc/config.json

{
    “version”: “10”,
    “aliases”: {
        “minio”: {
            “url”: “https://192.168.11.5:9000/”,
            “accessKey”: “minioadmin”,
            “secretKey”: “minioadmin”,
            “api”: “S3v4”,
            “path”: “auto”
        }
    }
}

EOF

 

 

AWSCLIの導入

apt -y install unzip
curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install
aws configure –profile minio
ー>以下のパラメータで入れる
AWS Access Key ID [None]: minioadmin
AWS Secret Access Key [None]: minioadmin
Default region name [None]: us-east-1
Default output format [None]:

 

バケットの作成

mc mb –with-lock minio/test1
aws –profile minio –no-verify –endpoint-url https://192.168.11.5:9000 s3api put-object-lock-configuration –bucket test1 –object-lock-configuration ‘ObjectLockEnabled=”Enabled”,Rule={DefaultRetention={Mode=”GOVERNANCE”,Days=1}}’

 

ブラウザでのログイン確認

https://192.168.11.5:9000
AWS Access Key ID [None]: minioadmin
AWS Secret Access Key [None]: minioadmin

 

コメントを残す