Lightsail에서 GitLab CE 인스턴스를 설정하고 구성합니다. - Amazon Lightsail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lightsail에서 GitLab CE 인스턴스를 설정하고 구성합니다.

Amazon Lightsail에서 GitLab CE 인스턴스를 가동하고 실행한 후 시작하기 위해 취해야 하는 몇 가지 단계는 다음과 같습니다.

목차

1단계: Bitnami 설명서 읽기

GitLab CE 애플리케이션을 구성하는 방법을 알아보려면 Bitnami 설명서를 읽어보세요. 자세한 내용은 Bitnami의 GitLab CE 패키지 양식을 참조하십시오. AWS 클라우드

2단계: GitLab CE 관리 영역에 액세스하기 위한 기본 애플리케이션 암호 가져오기

GitLab CE 웹 사이트의 관리 영역에 액세스하는 데 필요한 기본 애플리케이션 비밀번호를 얻으려면 다음 절차를 완료하십시오. 자세한 내용은 Amazon Lightsail에서 Bitnami 인스턴스에 대한 애플리케이션 사용자 이름 및 암호 가져오기를 참조하십시오.

중요

Lightsail 브라우저 기반 SSH/RDP 클라이언트는 IPv4 트래픽만 허용합니다. 타사 클라이언트를 사용하여 IPv6를 통해 인스턴스에 SSH 또는 RDP를 전송하십시오. 자세한 정보는 인스턴스에 연결을 참조하세요.

  1. 인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH로 연결(Connect using SSH)을 선택합니다.

    Lightsail 콘솔에서 SSH를 사용하여 연결
  2. 연결한 후 다음 명령을 입력하여 애플리케이션 암호를 가져옵니다.

    cat $HOME/bitnami_application_password

    기본 애플리케이션 암호가 포함된 다음 예제와 유사한 응답이 표시되어야 합니다.

    Bitnami 기본 애플리케이션 암호

3단계: 인스턴스에 고정 IP 주소 연결

인스턴스를 처음 생성할 때 인스턴스에 할당한 퍼블릭 IP 주소는 인스턴스를 중지하고 시작할 때마다 변경됩니다. 퍼블릭 IP 주소가 변경되지 않도록 고정 IP 주소를 만들어 인스턴스에 연결해야 합니다. 이렇게 하면 나중에 인스턴스와 함께 example.com과 같은 등록된 도메인 이름을 사용할 때 인스턴스를 중지하고 시작할 때마다 도메인의 DNS 레코드를 업데이트할 필요가 없습니다. 한 인스턴스에 한 개의 고정 IP를 연결할 수 있습니다.

인스턴스 관리 페이지의 네트워킹(Networking) 탭에서 고정 IP 생성(Create a static IP) 또는 고정 IP 연결(Attach static IP)(인스턴스에 연결할 수 있는 고정 IP를 생성해 둔 경우)을 선택한 다음, 페이지의 지침을 따릅니다. 자세한 내용은 고정 IP를 생성하여 인스턴스에 연결을 참조하세요.

Lightsail 콘솔에 고정 IP 주소 연결

새로운 고정 IP 주소가 인스턴스에 연결되면 애플리케이션이 새로운 고정 IP 주소를 인식하도록 다음 단계를 완료해야 합니다.

  1. 인스턴스의 고정 IP 주소를 기록해 둡니다. 고정 IP 주소는 인스턴스 관리 페이지의 머리말 섹션에 나와 있습니다.

    Lightsail 인스턴스의 퍼블릭 또는 고정 IP 주소
  2. 인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH를 사용하여 연결(Connect using SSH)을 선택합니다.

    SSH를 사용하여 인스턴스에 연결
  3. 연결한 후 다음 명령을 입력합니다. <StaticIP>를 인스턴스의 새 고정 IP 주소로 바꿉니다.

    sudo /opt/bitnami/configure_app_domain --domain <StaticIP>

    예:

    sudo /opt/bitnami/configure_app_domain --domain 203.0.113.0

    다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다. 인스턴스의 애플리케이션에서 이제 새 고정 IP 주소를 인식해야 합니다.

    도메인 구성 도구의 결과

4단계: Gitlab CE 웹 사이트의 관리 영역에 로그인

이제 기본 사용자 암호가 설정되었으므로 GitLab CE 웹 사이트의 홈 페이지로 이동하여 관리 영역에 로그인합니다. 로그인한 후 웹 사이트 사용자 지정 및 관리 변경을 시작할 수 있습니다. GitLab CE에서 수행할 수 있는 작업에 대한 자세한 내용은 이 안내서 뒷부분의 7단계: GitLab CE 설명서 읽기 및 웹 사이트 구성 계속하기 섹션을 참조하십시오.

  1. 인스턴스 관리 페이지의 연결(Connect) 탭에서 인스턴스의 퍼블릭 IP 주소를 기록해 둡니다. 퍼블릭 IP 주소는 인스턴스 관리 페이지의 헤더 섹션에도 표시됩니다.

    인스턴스의 퍼블릭 IP 주소
  2. 인스턴스의 퍼블릭 IP 주소로 이동합니다(예: http://203.0.113.0으로 이동).

    GitLab CE 웹 사이트의 홈 페이지가 나타납니다. 인터넷 연결이 비공개가 아니거나 안전하지 않거나 보안 위험이 있다는 브라우저 경고 메시지가 표시될 수도 있습니다. 이는 GitLab CE 인스턴스에 아직 SSL/TLS 인증서가 적용되지 않았기 때문에 발생합니다. 브라우저 창에서 Advanced(고급), Details(세부 정보) 또는 More information(추가 정보)을 선택하여 사용할 수 있는 옵션을 표시합니다. 그런 다음 비공개가 아니거나 안전하지 않더라도 웹 사이트로 이동하도록 선택합니다.

  3. 이 가이드의 초반부에서 검색한 기본 사용자 이름(root) 및 기본 암호를 사용하여 로그인합니다.

    Gitlab CE 관리 대시보드가 나타납니다.

    Gitlab CE 관리 대시보드

5단계: 등록된 도메인 이름의 트래픽을 CE 웹 사이트로 라우팅합니다. GitLab

등록된 도메인 이름에 대한 트래픽 (예: GitLab CE 웹사이트) 을 라우팅하려면 도메인의 도메인 이름 시스템 (DNS) 에 레코드를 추가합니다. example.com DNS 레코드는 일반적으로 도메인을 등록한 등록 대행자가 관리 및 호스팅합니다. 하지만 Lightsail 콘솔을 사용하여 관리할 수 있도록 도메인의 DNS 레코드 관리를 Lightsail로 이전하는 것이 좋습니다.

Lightsail 콘솔 홈 페이지의 네트워킹 탭에서 DNS 영역 생성을 선택한 다음 페이지의 지침을 따르십시오. 자세한 내용은 DNS 영역을 생성하여 도메인의 DNS 레코드 관리를 참조하세요.

Lightsail 콘솔에서 DNS 영역을 생성합니다.

도메인 이름이 인스턴스로 트래픽을 라우팅한 후에는 다음 절차를 완료하여 GitLab CE가 도메인 이름을 인식하도록 해야 합니다.

  1. 인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH를 사용하여 연결(Connect using SSH)을 선택합니다.

    SSH를 사용하여 인스턴스에 연결
  2. 연결한 후 다음 명령을 입력합니다. < DomainName >를 인스턴스로 트래픽을 라우팅하는 도메인 이름으로 바꾸십시오.

    sudo /opt/bitnami/configure_app_domain --domain <DomainName>

    예:

    sudo /opt/bitnami/configure_app_domain --domain example.com

    다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다. 이제 GitLab CE 인스턴스가 도메인 이름을 인식해야 합니다.

    도메인 구성 도구의 결과

    이 명령이 실패하면 이전 버전의 GitLab CE 인스턴스를 사용하고 있을 수 있습니다. 대신 다음 명령을 실행해 봅니다. < DomainName >를 인스턴스로 트래픽을 라우팅하는 도메인 이름으로 바꾸십시오.

    cd /opt/bitnami/apps/gitlab sudo ./bnconfig --machine_hostname <DomainName>

    해당 명령을 실행하고 나서 다음 명령을 입력하여 서버가 재시작될 때마다 bnconfig 도구가 자동으로 실행되지 않도록 합니다.

    sudo mv bnconfig bnconfig.disabled

다음으로 CE 웹 사이트에 HTTPS 연결을 활성화하도록 SSL/TLS 인증서를 생성하고 구성해야 합니다. GitLab 자세한 내용은 이 가이드의 다음 6단계: GitLab CE 웹 사이트를 위한 HTTPS 구성 섹션을 계속 진행하십시오.

6단계: CE 웹 사이트를 GitLab 위한 HTTPS 구성

GitLab CE 웹 사이트에서 HTTPS를 구성하려면 다음 절차를 완료하십시오. 이 단계에서는 Let's Encrypt SSL/TLS 인증서를 요청하기 위한 명령줄 도구인 Lego 클라이언트를 사용하는 방법을 보여줍니다.

중요

이 절차를 시작하기 전에 트래픽을 GitLab CE 인스턴스로 라우팅하도록 도메인을 구성했는지 확인하세요. 그렇지 않으면 SSL/TLS 인증서 검증 프로세스가 실패합니다. 등록된 도메인 이름의 트래픽을 라우팅하려면 도메인의 DNS에 레코드를 추가하면 됩니다. DNS 레코드는 일반적으로 도메인을 등록한 등록 대행자가 관리 및 호스팅합니다. 하지만 Lightsail 콘솔을 사용하여 관리할 수 있도록 도메인의 DNS 레코드 관리를 Lightsail로 이전하는 것이 좋습니다.

Lightsail 콘솔 홈 페이지의 도메인 및 DNS 탭에서 DNS 영역 생성을 선택한 다음 페이지의 지침을 따릅니다. 자세한 내용은 Lightsail에서 도메인의 DNS 레코드를 관리하기 위한 DNS 영역 생성을 참조하십시오.

  1. 인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH로 연결(Connect using SSH)을 선택합니다.

    Lightsail 콘솔에서 SSH를 사용하여 연결
  2. 연결한 후 다음 명령을 입력하여 디렉터리를 임시(/tmp) 디렉터리로 변경합니다.

    cd /tmp
  3. 다음 명령을 입력하여 최신 버전의 Lego 클라이언트를 다운로드합니다. 이 명령은 테이프 아카이브(tar) 파일을 다운로드합니다.

    curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
  4. 다음 명령을 입력하여 tar 파일에서 파일을 추출합니다. X.Y.Z를 다운로드한 Lego 클라이언트의 버전으로 바꿉니다.

    tar xf lego_vX.Y.Z_linux_amd64.tar.gz

    예:

    tar xf lego_v4.7.0_linux_amd64.tar.gz
  5. 다음 명령을 입력하여 Lego 클라이언트 파일을 이동할 /opt/bitnami/letsencrypt 디렉터리를 생성합니다.

    sudo mkdir -p /opt/bitnami/letsencrypt
  6. 다음 명령을 입력하여 Lego 클라이언트 파일을 생성한 디렉터리로 이동합니다.

    sudo mv lego /opt/bitnami/letsencrypt/lego
  7. 다음 명령을 하나씩 입력하여 인스턴스에서 실행 중인 애플리케이션 서비스를 중지합니다.

    sudo service bitnami stop sudo service gitlab-runsvdir stop
  8. 다음 명령을 입력하여 Lego 클라이언트를 사용하여 Let's Encrypt SSL/TLS 인증서를 요청합니다.

    sudo /opt/bitnami/letsencrypt/lego --tls --email="EmailAddress" --domains="RootDomain" --domains="WwwSubDomain" --path="/opt/bitnami/letsencrypt" run

    명령에서 다음 예제 값을 사용자의 값으로 바꿉니다.

    • EmailAddress - 등록 알림을 위한 이메일 주소입니다.

    • RootDomain— GitLab CE 웹 사이트로 트래픽을 라우팅하는 기본 루트 도메인 (예:). example.com

    • WwwSubDomain— GitLab CE 웹 사이트로 트래픽을 라우팅하는 기본 루트 도메인의 www 하위 도메인 (예:www.example.com).

      명령에 추가 --domains 파라미터를 지정하여 인증서에 대해 여러 도메인을 지정할 수 있습니다. 여러 도메인을 지정하면 Lego에서 지정된 모든 도메인에 대해 하나의 인증서만 유효한 제목 대체 이름(SAN) 인증서를 생성합니다. 목록의 첫 번째 도메인은 인증서의 “CommonName" 로 추가되고 나머지 도메인은 인증서 내 SAN 확장에 “DNS 이름”으로 추가됩니다.

    예:

    sudo /opt/bitnami/letsencrypt/lego --tls --email="user@example.com" --domains="example.com" --domains="www.example.com" --path="/opt/bitnami/letsencrypt" run
  9. 메시지가 나타날 때 서비스 약관에 동의하려면 Y 키를 누르고 Enter 키를 누릅니다.

    다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다.

    인증서 요청에 대한 성공적인 Lego 클라이언트 응답

    성공하면 인증서 집합이 /opt/bitnami/letsencrypt/certificates 디렉터리에 저장됩니다. 이 집합에는 서버 인증서 파일(예: example.com.crt)과 서버 인증서 키 파일(예: example.com.key)이 포함됩니다.

  10. 다음 명령을 하나씩 입력하여 인스턴스의 기존 인증서 이름을 변경합니다. 나중에 이러한 기존 인증서를 새 Let's Encrypt 인증서로 바꿉니다.

    sudo mv /etc/gitlab/ssl/server.crt /etc/gitlab/ssl/server.crt.old sudo mv /etc/gitlab/ssl/server.key /etc/gitlab/ssl/server.key.old sudo mv /etc/gitlab/ssl/server.csr /etc/gitlab/ssl/server.csr.old
  11. 다음 명령을 하나씩 입력하여 CE 인스턴스의 기본 인증서 디렉터리인 /etc/gitlab/ssl 디렉터리에 새 Let's Encript 인증서를 위한 심볼 링크를 생성합니다. GitLab

    sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/Domain.crt /etc/gitlab/ssl/server.crt

    명령에서 Domain을 Let's Encrypt 인증서를 요청할 때 지정한 기본 루트 도메인으로 바꿉니다.

    예:

    sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.key /etc/gitlab/ssl/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/example.com.crt /etc/gitlab/ssl/server.crt
  12. 다음 명령을 하나씩 입력하여 새 Let's Encrypt 인증서를 이동한 디렉터리에서 인증서의 권한을 변경합니다.

    sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
  13. 다음 명령을 입력하여 GitLab CE 인스턴스에서 애플리케이션 서비스를 다시 시작합니다.

    sudo service bitnami start

다음에 구성한 도메인을 사용하여 GitLab CE 웹 사이트를 탐색하면 HTTPS 연결로 리디렉션되는 것을 확인할 수 있습니다. GitLab CE 인스턴스가 새 인증서를 인식하는 데 최대 1시간이 걸릴 수 있습니다. GitLab CE 웹 사이트에서 연결이 거부되는 경우 인스턴스를 중지했다가 시작한 후 다시 시도하세요.

7단계: GitLab CE 설명서를 읽고 웹 사이트 구성을 계속하십시오.

GitLab CE 설명서를 읽고 웹 사이트를 관리하고 사용자 지정하는 방법을 알아보십시오. 자세한 내용은 GitLab 설명서를 참조하십시오.

8단계: 인스턴스의 스냅샷 생성

GitLab CE 웹 사이트를 원하는 방식으로 구성한 후에는 인스턴스의 정기 스냅샷을 생성하여 백업하십시오. 스냅샷을 수동으로 생성하거나 자동 스냅샷을 활성화하여 Lightsail이 매일 스냅샷을 생성하도록 할 수 있습니다. 인스턴스에 문제가 있는 경우 스냅샷을 사용하여 새 교체 인스턴스를 생성할 수 있습니다. 자세한 내용은 스냅샷을 참조하세요.

인스턴스 관리 페이지의 스냅샷(Snapshot) 탭에서 스냅샷 생성(Create a snapshot)을 선택하여 자동 스냅샷을 활성화합니다.

Lightsail 콘솔에서 인스턴스 스냅샷을 생성합니다.

자세한 내용은 Amazon Lightsail에서 Linux 또는 Unix 인스턴스의 스냅샷 생성 또는 Amazon Lightsail의 인스턴스 또는 디스크에 대한 자동 스냅샷 활성화 또는 비활성화를 참조하십시오.