Moodle 마이그레이션을 준비 하는 방법How to prepare for a Moodle migration

Moodle 응용 프로그램을 온-프레미스 환경에서 Azure로 마이그레이션하기 전에 데이터를 내보내야 합니다.Before you migrate a Moodle application from your on-premises environment to Azure, you should export your data. 이 가이드에서는 내보내기 프로세스의 단계를 설명 합니다.This guide explains the steps of the export process.

Azure CLI 설치Install the Azure CLI

온-프레미스 환경에서 Azure CLI를 설정 하려면 다음 단계를 수행 합니다.Follow these steps to set up the Azure CLI in your on-premises environment:

  1. Azure 작업에 사용할 수 있는 호스트에서 다음 명령을 입력 하 여 Azure CLI를 설치 합니다.On a host that you can use for Azure tasks, enter this command to install the Azure CLI:

    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    
  2. Azure CLI에서 다음 명령을 입력 하 여 Azure 계정에 로그인 합니다.In the Azure CLI, enter this command to sign in to your Azure account:

    az login -u <username> -p <password>
    
  3. Azure CLI 브라우저 창이 나 탭을 열면 Microsoft 계정를 사용 하 여 Azure에 로그인 합니다.If the Azure CLI opens a browser window or tab, sign in to Azure with your Microsoft account. 브라우저 창이 열리지 않으면로 이동 하 여 https://aka.ms/devicelogin 터미널에 표시 된 인증 코드를 입력 합니다.If a browser window doesn't open, go to https://aka.ms/devicelogin, and enter the authorization code displayed in your terminal.

구독 만들기Create a subscription

Azure 구독이 이미 있는 경우이 단계를 건너뜁니다.Skip this step if you already have an Azure subscription.

Azure 구독이 없는 경우 무료로 만들수 있습니다.If you don't have an Azure subscription, you can create one for free. 종 량 제 구독을 설정 하거나, Azure Portal에서 구독을 만들 수도 있습니다.You can also either set up a pay-as-you-go subscription, or you can create a subscription in the Azure portal.

  • Azure Portal를 사용 하 여 구독을 만들려면 구독을 열고, 추가 를 선택 하 고, 필요한 정보를 입력 합니다.To use the Azure portal to create a subscription, open Subscriptions, select Add, and enter the required information.

    Azure Portal 구독 페이지의 스크린샷

  • Azure CLI를 사용 하 여 구독을 만들려면 다음 명령을 입력 합니다.To use the Azure CLI to create a subscription, enter this command:

    az account set --subscription '<subscription name>'
    

예제 명령은 다음과 같습니다.An example command is:

az account set --subscription 'ComputePM LibrarySub'

리소스 그룹 만들기Create a resource group

Azure 구독을 설정한 후에는 Azure Portal 또는 Azure CLI를 사용 하 여 Azure에서 리소스 그룹을 만듭니다.Once you set up your Azure subscription, create a resource group in Azure using either the Azure portal or the Azure CLI.

  • Azure Portal를 사용 하려면 다음 단계를 수행 합니다.To use the Azure portal, follow these steps:

    1. 리소스 그룹을 열고 추가 를 선택 합니다.Open Resource Groups, and select Add.

    2. 구독 이름, 리소스 그룹 이름 및 지역을 입력 합니다.Enter your subscription name, a resource group name, and a region. 사용 가능한 지역 목록은 Azure의 Data 상주 를 참조 하세요.See Data residency in Azure for a list of available regions. 이후 단계에서 해당 이름을 사용할 수 있도록 입력 하는 리소스 그룹의 이름을 적어 둡니다.Make a note of the name of the resource group that you enter so that you can use that name in later steps.

    3. 검토 + 만들기 를 선택합니다.Select Review + create.

    구독, 리소스 그룹 및 지역 상자와 검토 + 만들기 단추를 사용 하 여 Azure Portal에서 리소스 그룹 만들기 페이지의 스크린샷

  • Azure CLI를 사용 하 여 리소스 그룹을 만들려면 다음 명령을 입력 합니다.To use the Azure CLI to create a resource group, enter this command:

    az group create -l <region> -n <resource group name> -s '<subscription name>'
    

    예를 들어 다음과 같이 입력합니다.For example, enter:

    az group create -l eastus -n manual_migration -s 'ComputePM LibrarySub'

    매개 변수를 사용 하 여 제공 하는 값은 -l 기본 위치를 지정 합니다.The value you provide with the -l parameter specifies the default location. 이전 단계에서 사용한 것과 동일한 위치를 사용 합니다.Use the same location that you used in previous steps. 만든 리소스 그룹의 이름을 기록해 두고 이후 단계에서 해당 이름을 사용 합니다.Make a note of the name of the resource group that you create, and use that name in later steps.

저장소 계정 만들기Create a storage account

그런 다음 방금 만든 리소스 그룹 내에서 저장소 계정을 만듭니다.Next, create a storage account within the resource group that you just created. 이 저장소 계정을 사용 하 여 온-프레미스 Moodle 데이터를 백업 합니다.You'll use this storage account to back up your on-premises Moodle data.

Azure Portal 또는 Azure CLI를 사용 하 여 저장소 계정을 만들 수 있습니다.You can use either the Azure portal or the Azure CLI to create a storage account.

  • Azure Portal를 사용 하려면 다음 단계를 수행 합니다.To use the Azure portal, follow these steps:

    1. 저장소 계정 만들기로 이동 합니다.Go to Create storage account.

    2. 다음 정보를 입력합니다.Enter the following information:

      • Azure 구독 이름Your Azure subscription name
      • 방금 만든 리소스 그룹의 이름입니다.The name of the resource group that you just created
      • 저장소 계정 이름A storage account name
      • 사용자의 지역Your region
    3. 계정 종류 의 경우 드롭다운 목록에서 blobstorage 를 선택 합니다.For Account kind, select BlobStorage from the drop-down list.

    4. 복제 의 경우 드롭다운 목록에서 읽기 액세스 지역 중복 저장소 (RA-GRS) 를 선택 합니다.For Replication, select Read-access geo-redundant storage (RA-GRS) from the drop-down list.

    5. 검토 + 만들기 를 선택합니다.Select Review + create.

    여러 입력 상자와 검토 + 만들기 단추를 사용 하 여 Azure Portal에서 저장소 계정 만들기 페이지의 스크린샷

  • Azure CLI를 사용 하 여 저장소 계정을 만들려면 다음 명령을 입력 합니다.To use the Azure CLI to create the storage account, enter this command:

    az storage account create -n <storage account name> -g <resource group name> --sku <storage account SKU> --kind <storage account type> -l <region>
    

    예제 명령은 다음과 같습니다.An example command is:

    az storage account create -n onpremisesstorage -g manual_migration --sku Standard_LRS --kind BlobStorage -l eastus

    --kind매개 변수는 저장소 계정의 유형을 지정 합니다.The --kind parameter specifies the storage account's type.

온-프레미스 데이터 백업Back up on-premises data

온-프레미스 Moodle 데이터를 백업 하기 전에 다음 단계를 수행 하 여 Moodle 웹 사이트에서 유지 관리 모드 를 설정 합니다.Before backing up your on-premises Moodle data, turn on Maintenance mode on your Moodle website by following these steps:

  1. 온-프레미스 환경의 Moodle 인스턴스에서 다음 명령을 입력 합니다.From the Moodle instance in your on-premises environment, enter this command:

    sudo /usr/bin/php admin/cli/maintenance.php --enable
    
  2. 다음 명령을 입력 하 여 Moodle 웹 사이트의 상태를 확인 합니다.Enter the following command to check the status of your Moodle website:

    sudo /usr/bin/php admin/cli/maintenance.php
    

온-프레미스 Moodle 및 moodledata 파일, 구성 및 데이터베이스를 단일 디렉터리에 백업 해야 합니다.You should back up on-premises Moodle and moodledata files, configurations, and databases to a single directory. 다음 다이어그램은 이러한 권장 사항을 요약 한 것입니다.The following diagram summarizes this recommendation:

Moodle backup 저장소 디렉터리의 구조를 보여 주는 다이어그램

저장소 디렉터리 만들기Create a storage directory

데이터를 복사 하기 전에 원하는 위치에 빈 저장소 디렉터리를 만듭니다.Before copying your data, create an empty storage directory in any desired location. 예를 들어 위치가 인 경우 /home/azureadmin 다음 명령을 입력 합니다.For example, if the location is /home/azureadmin, enter these commands:

sudo -s
cd /home/azureadmin
mkdir storage

Moodle 디렉터리 백업Back up Moodle directories

온-프레미스 환경에서 moodle 디렉터리는 웹 사이트 HTML 콘텐츠를 포함 합니다.In your on-premises environment, the moodle directory contains website HTML content. moodledata디렉터리는 Moodle 웹 사이트 데이터를 포함 합니다.The moodledata directory contains Moodle website data.

다음 명령을 입력 하 여 moodle 및 디렉터리에서 저장소 디렉터리로 파일을 복사 합니다 moodledata .Enter these commands to copy files from the moodle and moodledata directories into the storage directory:

cp -R /var/www/html/moodle /home/azureadmin/storage/
cp -R /var/moodledata /home/azureadmin/storage/

PHP 및 웹 서버 구성 백업Back up PHP and web server configurations

구성 파일을 백업 하려면 다음 단계를 수행 합니다.To back up configuration files, follow these steps:

  1. 다음 명령을 입력 하 여 저장소 디렉터리 아래에 새 디렉터리를 만듭니다.Enter these commands to create a new directory under your storage directory:

    cd /home/azureadmin/storage
    mkdir configuration
    
  2. 다음 명령을 입력 하 여 PHP 및 NGINX 구성 파일을 복사 합니다.Enter these commands to copy the PHP and NGINX configuration files:

    cp -R /etc/php /home/azureadmin/storage/configuration/
    cp -R /etc/nginx /home/azureadmin/storage/configuration/
    

    php디렉터리는,, 및와 같은 PHP 구성 파일을 저장 합니다 php-fpm.conf php.ini pool.d conf.d .The php directory stores PHP configuration files, such as php-fpm.conf, php.ini, pool.d, and conf.d. nginx디렉터리는 및와 같은 ngnix 구성을 저장 nginx.conf 합니다 sites-enabled/dns.conf .The nginx directory stores ngnix configurations, such as nginx.conf and sites-enabled/dns.conf.

데이터베이스 백업Back up the database

데이터베이스를 백업 하려면 다음 단계를 수행 합니다.Follow these steps to back up your database:

  1. 다음 명령을 입력 하 여 mysql 클라이언트 설치 여부를 확인 합니다.Enter these commands to check whether mysql-client is installed:

    sudo -s
    mysql -V
    
  2. Mysql 클라이언트를 설치 하는 경우이 단계를 건너뜁니다.If mysql-client is installed, skip this step. 그렇지 않으면 다음 명령을 입력 하 여 mysql 클라이언트를 설치 합니다.Otherwise, enter this command to install mysql-client:

    sudo apt-get install mysql-client
    
  3. 다음 명령을 입력 하 여 데이터베이스를 백업 합니다.Enter this command to back up the database:

    mysqldump -h <database server name> -u <database user ID> -p<database password> <database name> > /home/azureadmin/storage/database.sql
    

    ,, 및의 경우 <database server name> <database user ID> <database password> <database name> 온-프레미스 데이터베이스에서 사용 하는 값을 사용 합니다.For <database server name>, <database user ID>, <database password>, and <database name>, use the values that your on-premises database uses.

아카이브 만들기Create an archive

백업 디렉터리에 대 한 보관 파일을 만들려면 다음 명령을 입력 합니다 storage.tar.gz .Enter this command to create an archive file, storage.tar.gz, for your backup directory:

cd /home/azureadmin/ tar -zcvf storage.tar.gz storage

AzCopy 다운로드 및 설치Download and install AzCopy

다음 명령을 입력 하 여 AzCopy를 설치 합니다.Enter the following commands to install AzCopy:

sudo -s
wget https://aka.ms/downloadazcopy-v10-linux
tar -xvf downloadazcopy-v10-linux
sudo rm /usr/bin/azcopy
sudo cp ./azcopy_linux_amd64_*/azcopy /usr/bin/

보관 된 파일을 Azure Blob Storage에 복사Copy archived files to Azure Blob Storage

AzCopy를 사용 하 여 보관 된 온-프레미스 파일을 Azure Blob Storage에 복사 하려면 다음 단계를 수행 합니다.Follow these steps to use AzCopy to copy archived on-premises files to Azure Blob Storage.

보안 토큰 생성Generate a security token

AzCopy에 대 한 SAS (공유 액세스 서명) 토큰을 생성 하려면 다음 단계를 수행 합니다.To generate a shared access signature (SAS) token for AzCopy, follow these steps:

  1. Azure Portal에서 이전에 만든 저장소 계정에 대 한 페이지로 이동 합니다.In the Azure portal, go to the page for the storage account you created earlier.

  2. 왼쪽 패널에서 공유 액세스 서명 을 선택 합니다.In the left panel, select Shared access signature.

    왼쪽 패널에서 공유 액세스 서명이 강조 표시 된 저장소 계정에 대 한 Azure Portal 페이지의 스크린샷

  3. 허용 되는 리소스 종류 아래에서 컨테이너 를 선택 합니다.Under Allowed resource types, select Container.

  4. 시작 및 만료 날짜/시간 에서 SAS 토큰의 시작 및 종료 시간을 입력 합니다.Under Start and expiry date/time, enter a start and end time for the SAS token.

  5. SAS 및 연결 문자열 생성 을 선택합니다.Select Generate SAS and connection string.

    저장소 계정에 대 한 공유 액세스 서명 페이지를 보여 주는 Azure Portal의 스크린샷

  6. 이후 단계에서 사용할 SAS 토큰의 복사본을 만듭니다.Make a copy of the SAS token to use in later steps.

컨테이너 만들기Create a container

저장소 계정에서 컨테이너를 만듭니다.Create a container in the storage account. 이 단계에서는 Azure CLI 또는 Azure Portal를 사용할 수 있습니다.You can either use the Azure CLI or the Azure portal for this step.

  • Azure CLI를 사용 하려면 다음 명령을 입력 합니다.To use the Azure CLI, enter this command:

    az storage container create --account-name <storage account name> --name <container name> --auth-mode login
    

    예제 명령은 다음과 같습니다.An example command is:

    az storage container create --account-name onpremisesstorage --name migration --auth-mode login

    --auth-mode값으로 매개 변수를 사용 하는 경우 login Azure는 인증을 위해 자격 증명을 사용 하 고 컨테이너를 만듭니다.When you use the --auth-mode parameter with a value of login, Azure uses your credentials for authentication and then creates the container.

  • Azure Portal를 사용 하 여 컨테이너를 만들려면 다음 단계를 수행 합니다.To use the Azure portal to create the container, follow these steps:

    1. 포털에서 앞에서 만든 저장소 계정에 대 한 페이지로 이동 합니다.In the portal, go to the page for the storage account you created earlier.

    2. 컨테이너 를 선택 하 고 추가 를 선택 합니다.Select Container, and then select Add.

    3. 컨테이너의 이름을 입력 한 다음 만들기 를 선택 합니다.Enter a name for the container, and then select Create.

      이름 상자 및 만들기 단추를 사용 하 여 새 컨테이너를 만들기 위한 Azure Portal 대화 상자의 스크린샷

보관 파일을 Azure Blob Storage에 복사 합니다.Copy the archive file to Azure Blob Storage

Blob Storage에서 만든 컨테이너에 보관 파일을 복사 하려면 다음 명령을 입력 합니다.Enter this command to copy your archive file to the container that you created in Blob Storage:

sudo azcopy copy /home/azureadmin/storage.tar.gz 'https://<storage account name>.blob.core.windows.net/<container name>/<SAS token>'

예제 명령은 다음과 같습니다.An example command is:

azcopy copy /home/azureadmin/storage.tar.gz 'https://onpremisesstorage.blob.core.windows.net/migration/?sv=2019-12-12&ss='

이제 Blob Storage 계정에 보관 복사본을 포함 해야 합니다.Your Blob Storage account should now contain a copy of your archive.

Blob Storage 계정을 보여 주는 Azure Portal 페이지의 스크린샷

다음 단계Next steps

마이그레이션 아키텍처 및 템플릿을 계속 Moodle.Continue to Moodle migration architecture and templates.