正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

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_KEYMINIO_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の同じトピックに関するブログ投稿から後世のために翻案されました。