워크스페이스 마이그레이션
이 문서는 기존 Mattermost 인스턴스를 자체 호스팅에서 클라우드로 마이그레이션하는 절차와 클라우드에서 자체 호스팅으로 마이그레이션하는 절차를 설명합니다.
기존 Mattermost 인스턴스를 동일한 배포 방식의 다른 인스턴스로 마이그레이션하는 경우에도, 마이그레이션의 출발지나 목적지가 클라우드인지 자체 호스팅인지와 무관하게 아래에 문서화된 것과 같은 절차를 따릅니다. 이 단계들은 클라우드와 자체 호스팅 Mattermost 인스턴스 모두에서 동작합니다.
자체 호스팅에서 클라우드로 마이그레이션
자체 호스팅에서 클라우드로 마이그레이션할 때는 Mattermost 지원팀에 티켓을 열어 절차에 대한 도움을 받아야 합니다. 아래에서 마이그레이션 절차를 설명합니다. 시작하기 전에 지원 사이트를 방문해 티켓을 여세요.
- 이 마이그레이션 절차는 유료 Mattermost 에디션을 사용하는 고객만 이용할 수 있습니다.
- 마이그레이션을 시작하기 전에 자체 호스팅에서 클라우드로 마이그레이션에 관한 기술 자료 문서를 읽고 주요 고려 사항, 필수 선행 조건, 내보내기 테스트에 관한 안내를 미리 확인하는 것을 권장합니다.
마이그레이션을 시작하기 전에 다음 정보를 확인하세요.
사용자 인증
이메일 로그인 방식을 사용하고 있다면 마이그레이션이 완료된 뒤 사용자들이 비밀번호를 재설정해야 합니다. LDAP, GitLab SSO 같은 다른 인증 방식은 해당 인증 방식이 Mattermost 클라우드에서 동작하도록 인프라를 변경해야 했습니다.
플러그인
Marketplace에 등재되지 않은 플러그인을 사용하고 있다면 그 플러그인은 내보내기에 포함되지 않으며 이후로는 사용할 수 없습니다. 지원되는 플러그인 목록은 연동 개요 문서에서 확인하세요.
데이터
마이그레이션에는 채널 데이터만 포함됩니다. 플레이북 데이터는 내보내지 않습니다.
마이그레이션 절차
자체 호스팅 인스턴스에서 내보내기
관리자 자격 증명으로 자체 호스팅 Mattermost 서버에 로그인합니다. 로그인한 뒤 다음을 실행하세요.
mmctl export create --attachments
이 명령은 첨부 파일을 포함한 서버 전체 내보내기를 생성합니다. 첨부 파일을 내보내지 않으려면 --attachments를 빼면 됩니다.
이 작업은 시간이 걸릴 수 있으므로 mmctl은 즉시 반환되고, 내보내기가 완전히 생성될 때까지 작업은 백그라운드에서 실행됩니다. 성공하면 명령이 다음과 같이 작업 ID를 즉시 출력합니다.
Export process job successfully created, ID: yfrr9ku5i7fjubeshs1ksrknzc
작업이 실행되는 동안에는 생성 시 제공된 ID로 상태를 확인할 수 있으며, 완료되면 출력이 다음과 비슷한 형태가 됩니다.
mmctl export job show yfrr9ku5i7fjubeshs1ksrknzc
ID: yfrr9ku5i7fjubeshs1ksrknzc
Status: success
Created: 2021-11-03 10:44:13 -0500 CDT
Started: 2021-11-03 10:44:23 -0500 CDT
완성된 파일은 .zip 파일로 데스크톱에 내려받아집니다.
파일 이름을 바꾸지 마세요. 파일 이름은 로그 파일에서 참조되며, 지원팀이 내보낸 파일을 검증하는 데 이 로그를 사용합니다.
지원팀이 내보낸 파일을 업로드할 수 있도록 S3 자격 증명을 제공합니다. 파일 업로드를 마치면 지원팀에 알려 주세요.
Mattermost Cloud에 새 워크스페이스 만들기
그동안 Mattermost 자격 증명으로 Mattermost Cloud에 로그인해 클라우드 워크스페이스를 만들 수 있습니다.
Mattermost Cloud 인스턴스에 사용자를 직접 만들지 마세요. 마이그레이션 절차가 이 작업을 대신 수행합니다.
Mattermost Cloud 인스턴스로 데이터 가져오기
제공된 S3 버킷으로의 내보내기 파일 업로드가 끝나고 Mattermost Cloud 인스턴스 이름/URL을 공유하면 지원팀이 가져오기 단계를 시작할 수 있습니다.
내보내기 파일 크기에 따라 이 작업은 시간이 걸릴 수 있습니다. 가져오기가 완료되는 즉시 지원팀이 연락드립니다. 이 기간에는 Mattermost Cloud 인스턴스를 사용하지 않는 것을 강력히 권장합니다.
Mattermost Cloud 인스턴스 사용 시작
내보내기가 완료되면 클라우드 인스턴스에 로그인해 사용자들을 초대할 수 있습니다.
클라우드 인스턴스를 얼마간 사용해 보고 모든 것이 기대대로 동작하는지 확인할 때까지는 자체 호스팅 Mattermost 서버를 그대로 유지하는 것을 권장합니다.
클라우드에서 자체 호스팅으로 마이그레이션
클라우드 워크스페이스 데이터는 언제든지 자체 호스팅 배포로 마이그레이션할 수 있습니다.
절차는 어떻게 진행되나요?
데이터를 내보내고 마이그레이션하기 전에, Mattermost를 실행할 서버에 Mattermost를 설치해야 합니다. 마이그레이션은 mmctl CLI 도구로 수행합니다. mmctl은 로컬에 설치되어 Mattermost API를 사용하는 Mattermost용 원격 CLI 도구입니다. mmctl은 기본으로 설치되어 있습니다.
mmctl 사용 참고 사항에는 절차 전후로 참고할 수 있는 추가 맥락과 정보가 담겨 있습니다.
채널, 메시지, 사용자 등 클라우드 데이터를 내보낼 때는 mmctl export 명령을 사용합니다. 내보내기 파일은 내보내기 명령에서 지정한 위치로 내려받아집니다. 내보내기가 완료되면 그 데이터를 자체 호스팅 인스턴스로 가져옵니다.
또는 내보내기 파일이 너무 커서 Mattermost 서버에서 내려받기 어려운 경우 Amazon S3 클라우드 스토리지 위치로 데이터를 내보낼 수도 있습니다. 자세한 내용은 아래 내보내기 생성 섹션을 참고하세요.
클라우드에서 데이터를 마이그레이션하기 전에, 민감 정보가 포함될 수 있는 데이터 내보내기를 수행할 적절한 권한이 조직 내에서 있는지 확인하세요. 데이터 내보내기 이후에 취해진 행위에 대해 Mattermost는 책임지지 않습니다.
또한 내보내기 절차에는 연동이나 커스텀 데이터가 포함되지 않습니다. 특정 보안 설정과 요구 사항 같은 인스턴스의 다른 측면도 포함되지 않습니다. 추가 데이터와 설정 마이그레이션에 대한 도움이 필요하면 지원 옵션을 확인하세요: https://mattermost.com/support/.
mmctl 인증이 완료되면 원본 인스턴스에서 내보내기를 생성할 수 있습니다.
인증
인증은 Mattermost 로그인 자격 증명 또는 인증 토큰으로 수행합니다. 먼저 관리자 자격 증명으로 mmctl을 사용해 인스턴스에 로그인합니다. 이때 example-source-domain.com은 원본 인스턴스의 네트워크 주소로 바꿉니다.
mmctl auth login https://yourdomain.cloud.mattermost.com
사용자 이름(관리자 계정 사용), 비밀번호, 연결 이름을 입력하라는 메시지가 표시됩니다. 연결 이름은 원하는 대로 정할 수 있으며, 이후 편의를 위해 이 자격 증명 세트를 식별하는 데 사용됩니다. 그러면 내보내기 절차를 시작할 수 있습니다.
내보내기 생성
Mattermost Cloud 배포에 Cloud Marketplace에 등재되지 않은 플러그인이 포함되어 있다면 그 플러그인은 내보내기에 포함되지 않으며 이후로는 사용할 수 없습니다. 클라우드에서 지원하는 연동 목록은 연동 문서를 참고하세요.
로그인한 뒤 다음 mmctl 명령을 실행합니다.
mmctl export create
이 명령을 실행하면 첨부 파일을 포함한 서버 전체 내보내기가 생성됩니다. 인스턴스에서 첨부 파일을 내보내고 싶지 않다면 --no-attachments를 붙이고, 보관된 채널을 내보내기 파일에 포함하려면 --with-archived-channels를 붙이세요. 이 작업은 시간이 걸릴 수 있으므로 mmctl은 즉시 반환되고, 내보내기가 완전히 생성될 때까지 작업은 Mattermost 인스턴스의 백그라운드에서 실행됩니다. 성공하면 명령이 다음과 같이 작업 ID를 즉시 출력합니다.
Export process job successfully created, ID: yfrr9ku5i7fjubeshs1ksrknzc
작업이 실행되는 동안에는 생성 시 제공된 ID로 상태를 확인할 수 있으며, 완료되면 출력이 다음과 비슷한 형태가 됩니다.
mmctl export job show yfrr9ku5i7fjubeshs1ksrknzc
ID: yfrr9ku5i7fjubeshs1ksrknzc
Status: success
Created: 2021-11-03 10:44:13 -0500 CDT
Started: 2021-11-03 10:44:23 -0500 CDT
상태가 success가 되면 내보내기 파일을 로컬 머신으로 내려받습니다. 먼저 mmctl export list로 완성된 내보내기 파일의 이름을 확인합니다.
mmctl export list
r3kcj8yuwbramdt714doafi3oo_export.zip
이 명령은 서버에 있는 모든 내보내기 파일을 보여 주므로, 반드시 가장 최신 파일을 내려받고 작업이 끝나면 저장 공간 절약을 위해 삭제하세요. 다음과 같은 명령으로 파일 다운로드 링크를 생성하되, 서버에 있는 실제 내보내기 파일 이름을 사용하세요.
mmctl export generate-presigned-url r3kcj8yuwbramdt714doafi3oo_export.zip
- 이 마지막 단계의 대안으로, Mattermost Cloud 웹 인스턴스에서 Mattermost 슬래시 명령
/exportlink [job-id|zip file|latest]를 사용해 내보내기 파일의 다운로드 링크를 가져올 수도 있습니다.latest옵션을 사용하면 사용 가능한 최신 내보내기를 자동으로 가져오며,job-id나zip file로 다운로드 링크를 직접 지정할 수도 있습니다. - 자체 호스팅 Mattermost 인스턴스에서
mmctl export generate-presigned-url명령을 사용하려면 Mattermost v8.1.0-RC1이 필요합니다. Mattermost Enterprise v8.1.0-RC1 바이너리 또는 Mattermost Team Edition v8.1.0-RC1 바이너리를 받으세요.
새 서버로 내보내기 파일 업로드
이제 원본 서버에서 만든 내보내기 파일을 대상 서버로 가져올 차례입니다. 진행하기 전에 가져오기가 원활하게 성공하도록 다음 자체 호스팅 Mattermost 구성 설정을 검토하고 필요한 경우 수정하세요.
| Mattermost 구성 설정 | 대용량 파일 가져오기 권장 사항 |
|---|---|
| Maximum Users Per Team | 가져오기 파일에 들어 있는 팀당 최대 사용자 수를 초과하는 값으로 늘립니다. |
| Maximum File Size | 가져오기 파일 크기보다 크게 일시적으로 늘립니다. 가져오기에 성공한 뒤에는 일상적인 사용에 적절한 한도로 되돌리는 것을 강력히 권장합니다. |
| Write Timeout | 파일이 타임아웃 없이 업로드될 수 있도록 가져오기 파일 속도와 네트워크 경로에 맞춰 값을 일시적으로 조정합니다. 3600부터 시작해 필요에 따라 조정하세요. 가져오기에 성공한 뒤에는 이 설정을 최초 값 또는 이전 값으로 되돌리는 것을 강력히 권장합니다. |
| Read Timeout | 파일이 타임아웃 없이 업로드될 수 있도록 가져오기 파일 속도와 네트워크 경로에 맞춰 값을 일시적으로 조정합니다. 3600부터 시작해 필요에 따라 조정하세요. 가져오기에 성공한 뒤에는 이 설정을 최초 값 또는 이전 값으로 되돌리는 것을 강력히 권장합니다. |
| Amazon S3 Request Timeout | 클라우드 기반 파일 스토리지를 사용한다면 스토리지 요청이 너무 일찍 타임아웃되지 않도록 이 값을 조정합니다. |
다음으로, 원본 서버에 로그인했던 것과 같은 방식으로 mmctl을 사용해 대상 서버에 로그인합니다.
mmctl auth login https://localinstance.company.com
다음 명령으로 내보내기 파일을 대상 서버에 업로드합니다. 업로드 속도는 연결 속도에 따라 달라질 수 있습니다. 업로드가 완료되면 명령이 가져오기 ID를 반환합니다.
mmctl import upload r3kcj8yuwbramdt714doafi3oo_export.zip
Upload session successfully created, ID: cfuq6q9kkjrqfgnph1pew3db4e
Import file successfully uploaded, name: xrzs9wrzufntbfcxpy39mdq9hy
새 서버로의 가져오기 완료
mmctl import list available
cfuq6q9kkjrqfgnph1pew3db4e_r3kcj8yuwbramdt714doafi3oo_export.zip
가져오기 작업을 실행해 내보내기 파일을 서버로 가져옵니다. 이 작업의 속도는 연결 속도에 따라 달라질 수 있습니다. 먼저 가져오기 절차를 시작합니다.
mmctl import process cfuq6q9kkjrqfgnph1pew3db4e_r3kcj8yuwbramdt714doafi3oo_export.zip
파일을 처리 대상으로 표시한 뒤에는 mmctl import job list로 작업 상태를 확인할 수 있습니다.
mmctl --local import job list
ID: f93jxu1hzty79enwa1xy6f1tbr
Status: pending
Created: 2021-10-28 13:32:55 +0200 CEST
작업이 완료되면 success 상태가 표시됩니다.
mmctl --local import job list
ID: f93jxu1hzty79enwa1xy6f1tbr
Status: success
Created: 2021-10-28 13:32:55 +0200 CEST
Started: 2021-10-28 13:33:05 +0200 CEST
그런 다음 다음 mmctl 명령을 실행해 내보내기 파일을 추출하여 사용합니다.
mmctl extract run [flags].
마이그레이션이 완료되고 데이터를 자체 호스팅 인스턴스로 가져온 뒤에는, 클라우드 인스턴스를 내리기 전에 며칠 동안 데이터를 검증하고 모든 것이 기대대로 동작하는지 확인하는 것을 권장합니다.
이메일/비밀번호 인증을 사용하고 있다면 사용자들이 비밀번호를 재설정해야 합니다.
문제가 발생하면 지원팀에 문의하거나 Mattermost 헬프 센터를 방문하세요.
자체 호스팅에서 클라우드로 마이그레이션
자체 호스팅에서 클라우드로 마이그레이션할 때는 Mattermost 지원팀에 티켓을 열어 절차에 대한 도움을 받아야 합니다. 아래에서 마이그레이션 절차를 설명합니다. 시작하기 전에 지원 사이트를 방문해 티켓을 여세요.
이 마이그레이션 절차는 유료 Mattermost 에디션을 사용하는 고객만 이용할 수 있습니다.
마이그레이션을 시작하기 전에 다음 정보를 확인하세요.
사용자 인증
이메일 로그인 방식을 사용하고 있다면 마이그레이션이 완료된 뒤 사용자들이 비밀번호를 재설정해야 합니다. LDAP, GitLab SSO 같은 다른 인증 방식은 해당 인증 방식이 Mattermost 클라우드에서 동작하도록 인프라를 변경해야 했습니다.
플러그인
Marketplace에 등재되지 않은 플러그인을 사용하고 있다면 그 플러그인은 내보내기에 포함되지 않으며 이후로는 사용할 수 없습니다. 플러그인 목록은 지원 기술 자료에서 확인할 수 있습니다.
데이터
마이그레이션에는 채널 데이터만 포함됩니다. 협업형 플레이북 데이터는 내보내지 않습니다.
마이그레이션 절차
자체 호스팅 인스턴스에서 내보내기
관리자 자격 증명으로 자체 호스팅 Mattermost 서버에 로그인합니다. 로그인한 뒤 다음을 실행하세요.
mmctl export create --attachments
이 명령은 첨부 파일을 포함한 서버 전체 내보내기를 생성합니다. 첨부 파일을 내보내지 않으려면 --attachments를 빼면 됩니다.
이 작업은 시간이 걸릴 수 있으므로 mmctl은 즉시 반환되고, 내보내기가 완전히 생성될 때까지 작업은 백그라운드에서 실행됩니다. 성공하면 명령이 다음과 같이 작업 ID를 즉시 출력합니다.
Export process job successfully created, ID: yfrr9ku5i7fjubeshs1ksrknzc
작업이 실행되는 동안에는 생성 시 제공된 ID로 상태를 확인할 수 있으며, 완료되면 출력이 다음과 비슷한 형태가 됩니다.
mmctl export job show yfrr9ku5i7fjubeshs1ksrknzc
ID: yfrr9ku5i7fjubeshs1ksrknzc
Status: success
Created: 2021-11-03 10:44:13 -0500 CDT
Started: 2021-11-03 10:44:23 -0500 CDT
완성된 파일은 .zip 파일로 데스크톱에 내려받아집니다.
파일 이름을 바꾸지 마세요. 파일 이름은 로그 파일에서 참조되며, 지원팀이 내보낸 파일을 검증하는 데 이 로그를 사용합니다.
지원팀이 내보낸 파일을 업로드할 수 있도록 S3 자격 증명을 제공합니다. 파일 업로드를 마치면 지원팀에 문의해 알려 주세요.
Mattermost Cloud에 새 워크스페이스 만들기
그동안 Mattermost 자격 증명으로 Mattermost Cloud에 로그인해 클라우드 워크스페이스를 만들 수 있습니다.
Mattermost Cloud 인스턴스에 사용자를 직접 만들지 마세요. 마이그레이션 절차가 이 작업을 대신 수행합니다.
Mattermost Cloud 인스턴스로 데이터 가져오기
제공된 S3 버킷으로의 내보내기 파일 업로드가 끝나고 Mattermost Cloud 인스턴스 이름/URL을 공유하면 지원팀이 가져오기 단계를 시작할 수 있습니다.
내보내기 파일 크기에 따라 이 작업은 시간이 걸릴 수 있습니다. 가져오기가 완료되는 즉시 지원팀이 연락드립니다. 이 기간에는 Mattermost Cloud 인스턴스를 사용하지 않는 것을 강력히 권장합니다.
Mattermost Cloud 인스턴스 사용 시작
내보내기가 완료되면 클라우드 인스턴스에 로그인해 사용자들을 초대할 수 있습니다.
클라우드 인스턴스를 얼마간 사용해 보고 모든 것이 기대대로 동작하는지 확인할 때까지는 자체 호스팅 Mattermost 서버를 그대로 유지하는 것을 권장합니다.