기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Lightsail에서 GitLab CE 인스턴스 설정 및 구성
다음은 Amazon Lightsail에 GitLab CE 인스턴스를 설치하고 실행한 후 시작해야 할 몇 가지 단계입니다.
목차
1단계: Bitnami 설명서 읽기
Bitnami 설명서를 읽고 GitLab CE 애플리케이션을 구성하는 방법을 알아보세요. 자세한 내용은 AWS 클라우드용 Bitnami에서 패키징한 GitLab CE
2단계: GitLab CE 관리 영역에 액세스하기 위한 기본 애플리케이션 암호 가져오기
Gitlab CE 웹 사이트의 관리 영역에 액세스하는 데 필요한 기본 애플리케이션 암호를 가져오려면 다음 절차를 완료하세요. 자세한 내용은 Amazon Lightsail의 Bitnami 인스턴스에 대한 애플리케이션 사용자 이름과 암호 가져오기를 참조하세요.
-
인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH로 연결(Connect using SSH)을 선택합니다.
-
연결한 후 다음 명령을 입력하여 애플리케이션 암호를 가져옵니다.
cat $HOME/bitnami_application_password
기본 애플리케이션 암호가 포함된 다음 예제와 유사한 응답이 표시되어야 합니다.
3단계: 인스턴스에 고정 IP 주소 연결
인스턴스를 처음 생성할 때 인스턴스에 할당한 퍼블릭 IP 주소는 인스턴스를 중지하고 시작할 때마다 변경됩니다. 퍼블릭 IP 주소가 변경되지 않도록 고정 IP 주소를 만들어 인스턴스에 연결해야 합니다. 이렇게 하면 나중에 인스턴스와 함께 example.com
과 같은 등록된 도메인 이름을 사용할 때 인스턴스를 중지하고 시작할 때마다 도메인의 DNS 레코드를 업데이트할 필요가 없습니다. 한 인스턴스에 한 개의 고정 IP를 연결할 수 있습니다.
인스턴스 관리 페이지의 네트워킹(Networking) 탭에서 고정 IP 생성(Create a static IP) 또는 고정 IP 연결(Attach static IP)(인스턴스에 연결할 수 있는 고정 IP를 생성해 둔 경우)을 선택한 다음, 페이지의 지침을 따릅니다. 자세한 내용은 고정 IP를 생성하여 인스턴스에 연결을 참조하세요.

새로운 고정 IP 주소가 인스턴스에 연결되면 애플리케이션이 새로운 고정 IP 주소를 인식하도록 다음 단계를 완료해야 합니다.
-
인스턴스의 고정 IP 주소를 기록해 둡니다. 고정 IP 주소는 인스턴스 관리 페이지의 머리말 섹션에 나와 있습니다.
-
인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH를 사용하여 연결(Connect using SSH)을 선택합니다.
-
연결한 후 다음 명령을 입력합니다.
<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 설명서 읽기 및 웹 사이트 구성 계속 섹션을 참조하세요.
-
인스턴스 관리 페이지의 연결(Connect) 탭에서 인스턴스의 퍼블릭 IP 주소를 기록해 둡니다. 퍼블릭 IP 주소는 인스턴스 관리 페이지의 헤더 섹션에도 표시됩니다.
-
인스턴스의 퍼블릭 IP 주소로 이동합니다(예:
http://203.0.113.0
으로 이동).GitLab CE 웹 사이트의 홈 페이지가 나타납니다. 인터넷 연결이 비공개가 아니거나 안전하지 않거나 보안 위험이 있다는 브라우저 경고 메시지가 표시될 수도 있습니다. 이 경고는 GitLab CE 인스턴스에 아직 SSL/TLS 인증서가 적용되지 않았기 때문에 발생합니다. 브라우저 창에서 Advanced(고급), Details(세부 정보) 또는 More information(추가 정보)을 선택하여 사용할 수 있는 옵션을 표시합니다. 그런 다음 비공개가 아니거나 안전하지 않더라도 웹 사이트로 이동하도록 선택합니다.
-
이 가이드의 초반부에서 검색한 기본 사용자 이름(
root
) 및 기본 암호를 사용하여 로그인합니다.Gitlab CE 관리 대시보드가 나타납니다.
5단계: GitLab CE 웹 사이트로 등록된 도메인 이름의 트래픽 라우팅
등록된 도메인 이름(예: example.com
)의 트래픽을 GitLab CE 웹 사이트로 라우팅하려면 도메인의 도메인 이름 시스템(DNS)에 레코드를 추가하면 됩니다. DNS 레코드는 일반적으로 도메인을 등록한 등록 대행자가 관리 및 호스팅합니다. 그러나 Lightsail 콘솔을 사용하여 관리할 수 있도록 도메인의 DNS 레코드 관리를 Lightsail로 이전하는 것이 좋습니다.
Lightsail 콘솔 홈 페이지의 네트워킹(Networking) 탭에서 DNS 영역 생성(Create DNS zone)을 선택하고 페이지의 지침에 따릅니다. 자세한 내용은 DNS 영역을 생성하여 도메인의 DNS 레코드 관리를 참조하세요.

도메인 이름이 트래픽을 인스턴스로 라우팅한 후 GitLab CE가 도메인 이름을 인식하도록 하려면 다음 절차를 완료해야 합니다.
-
인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH를 사용하여 연결(Connect using SSH)을 선택합니다.
-
연결한 후 다음 명령을 입력합니다.
<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
다음으로 GitLab CE 웹 사이트에 대한 HTTPS 연결을 활성화하기 위해 SSL/TLS 인증서를 생성하고 구성해야 합니다. 자세한 내용을 보려면 이 가이드의 다음 6단계: GitLab CE 웹 사이트에 대해 HTTPS 구성 섹션으로 계속하세요.
6단계: GitLab CE 웹 사이트에 대해 HTTPS 구성
GitLab CE 웹 사이트에서 HTTPS를 구성하려면 다음 절차를 완료하세요. 이 단계에서는 Let's Encrypt SSL/TLS 인증서를 요청하기 위한 명령줄 도구인 Lego 클라이언트
중요
이 절차를 시작하기 전에 GitLab CE 인스턴스로 트래픽을 라우팅하도록 도메인을 구성했는지 확인합니다. 그렇지 않으면 SSL/TLS 인증서 검증 프로세스가 실패합니다. 등록된 도메인 이름의 트래픽을 라우팅하려면 도메인의 DNS에 레코드를 추가하면 됩니다. DNS 레코드는 일반적으로 도메인을 등록한 등록 대행자가 관리 및 호스팅합니다. 그러나 Lightsail 콘솔을 사용하여 관리할 수 있도록 도메인의 DNS 레코드 관리를 Lightsail로 이전하는 것이 좋습니다.
Lightsail 콘솔 홈 페이지의 도메인 및 DNS(Domains & DNS) 탭에서 DNS 영역 생성(Create DNS zone)을 선택하고 페이지의 지침에 따릅니다. 자세한 내용은 DNS 영역을 생성하여 Lightsail에서 도메인의 DNS 레코드 관리를 참조하세요.
-
인스턴스 관리 페이지의 연결(Connect) 탭에서 SSH로 연결(Connect using SSH)을 선택합니다.
-
연결한 후 다음 명령을 입력하여 디렉터리를 임시(/tmp) 디렉터리로 변경합니다.
cd /tmp
-
다음 명령을 입력하여 최신 버전의 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 -
-
다음 명령을 입력하여 tar 파일에서 파일을 추출합니다.
X.Y.Z
를 다운로드한 Lego 클라이언트의 버전으로 바꿉니다.tar xf lego_v
X.Y.Z
_linux_amd64.tar.gz예:
tar xf lego_v
4.7.0
_linux_amd64.tar.gz -
다음 명령을 입력하여 Lego 클라이언트 파일을 이동할
/opt/bitnami/letsencrypt
디렉터리를 생성합니다.sudo mkdir -p /opt/bitnami/letsencrypt
-
다음 명령을 입력하여 Lego 클라이언트 파일을 생성한 디렉터리로 이동합니다.
sudo mv lego /opt/bitnami/letsencrypt/lego
-
다음 명령을 하나씩 입력하여 인스턴스에서 실행 중인 애플리케이션 서비스를 중지합니다.
sudo service bitnami stop sudo service gitlab-runsvdir stop
-
다음 명령을 입력하여 Lego 클라이언트를 사용하여 Let's Encrypt SSL/TLS 인증서를 요청합니다.
sudo /opt/bitnami/letsencrypt/lego --tls --email="
EmailAddress
" --domains="RootDomain
" --domains="WwwSubDomain
" --path="/opt/bitnami/letsencrypt" run명령에서 다음 예제 값을 사용자의 값으로 바꿉니다.
-
- 등록 알림을 위한 이메일 주소입니다.EmailAddress
-
- GitLab CE 웹 사이트(예:RootDomain
example.com
)로 트래픽을 라우팅하는 기본 루트 도메인입니다. -
- GitLab CE 웹 사이트(예:WwwSubDomain
www.example.com
)로 트래픽을 라우팅하는 기본 루트 도메인의www
하위 도메인입니다.명령에 추가
--domains
파라미터를 지정하여 인증서에 대해 여러 도메인을 지정할 수 있습니다. 여러 도메인을 지정하면 Lego에서 지정된 모든 도메인에 대해 하나의 인증서만 유효한 제목 대체 이름(SAN) 인증서를 생성합니다. 목록의 첫 번째 도메인은 인증서의 "CommonName"으로 추가되고 나머지는 인증서 내의 SAN 확장에 "DNSNames"로 추가됩니다.
예:
sudo /opt/bitnami/letsencrypt/lego --tls --email="
user@example.com
" --domains="example.com
" --domains="www.example.com
" --path="/opt/bitnami/letsencrypt" run -
-
메시지가 나타날 때 서비스 약관에 동의하려면 Y 키를 누르고 Enter 키를 누릅니다.
다음 예와 비슷한 응답이 나타나는 것을 볼 수 있습니다.
성공하면 인증서 집합이
/opt/bitnami/letsencrypt/certificates
디렉터리에 저장됩니다. 이 집합에는 서버 인증서 파일(예:example.com.crt
)과 서버 인증서 키 파일(예:example.com.key
)이 포함됩니다. -
다음 명령을 하나씩 입력하여 인스턴스의 기존 인증서 이름을 변경합니다. 나중에 이러한 기존 인증서를 새 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
-
다음 명령을 하나씩 입력하여 GitLab CE 인스턴스의 기본 인증서 디렉터리인
/etc/gitlab/ssl
디렉터리에 새 Let's Encrypt 인증서에 대한 심볼 링크를 생성합니다.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 -
다음 명령을 하나씩 입력하여 새 Let's Encrypt 인증서를 이동한 디렉터리에서 인증서의 권한을 변경합니다.
sudo chown root:root /etc/gitlab/ssl/server* sudo chmod 600 /etc/gitlab/ssl/server*
-
다음 명령을 입력하여 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)을 선택하여 자동 스냅샷을 활성화합니다.

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