GitLabチャートを使用する際のAzure MinIOゲートウェイ
MinIOは、S3互換APIを公開するオブジェクトストレージサーバーであり、Azure Blob Storageへのリクエストをプロキシできるゲートウェイ機能を備えています。ゲートウェイをセットアップするには、AzureのLinux上のWeb Appを使用します。
まず、Azure CLIがインストールされ、ログインしていることを確認してください(az login)。リソースグループを作成してください(まだ作成していない場合):
az group create --name "gitlab-azure-minio" --location "WestUS"ストレージアカウント
リソースグループにストレージアカウントを作成します。ストレージアカウントの名前はグローバルに一意である必要があります:
az storage account create \
--name "gitlab-azure-minio-storage" \
--kind BlobStorage \
--sku Standard_LRS \
--access-tier Cool \
--resource-group "gitlab-azure-minio" \
--location "WestUS"ストレージアカウントのアカウントキーを取得する:
az storage account show-connection-string \
--name "gitlab-azure-minio-storage" \
--resource-group "gitlab-azure-minio"出力は次の形式である必要があります:
{
"connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=gitlab-azure-minio-storage;AccountKey=h0tSyeTebs+..."
}Linux上のWeb AppにMinIOをデプロイする
まず、同じリソースグループにApp Service Planを作成する必要があります。
az appservice plan create \
--name "gitlab-azure-minio-app-plan" \
--is-linux \
--sku B1 \
--resource-group "gitlab-azure-minio" \
--location "WestUS"minio/minio Dockerコンテナで構成されたWebアプリを作成します。指定した名前は、WebアプリのURLで使用されます:
az webapp create \
--name "gitlab-minio-app" \
--deployment-container-image-name "minio/minio" \
--plan "gitlab-azure-minio-app-plan" \
--resource-group "gitlab-azure-minio"Webアプリは、https://gitlab-minio-app.azurewebsites.netでアクセスできるはずです。
最後に、起動コマンドを設定し、Webアプリで使用するストレージアカウント名とキーを格納する環境変数、MINIO_ACCESS_KEYとMINIO_SECRET_KEYを作成する必要があります。
az webapp config appsettings set \
--settings "MINIO_ACCESS_KEY=gitlab-azure-minio-storage" "MINIO_SECRET_KEY=h0tSyeTebs+..." "PORT=9000" \
--name "gitlab-minio-app" \
--resource-group "gitlab-azure-minio"
# Startup command
az webapp config set \
--startup-file "gateway azure" \
--name "gitlab-minio-app" \
--resource-group "gitlab-azure-minio"まとめ
このゲートウェイは、S3互換性のあるすべてのクライアントで使用できます。WebアプリケーションのURLはs3 endpointになり、ストレージアカウント名はaccesskeyになり、ストレージアカウントキーはsecretkeyになります。
参照
このガイドは、Alessandro Segalaの同じトピックに関するブログ投稿から後世のために翻案されました。