Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2023-03-15. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

Azure에 GitHub Enterprise Server 설치

Azure에 GitHub Enterprise Server를 설치하려면 Premium Storage를 지원하는 메모리 최적화 인스턴스에 배포해야 합니다.

글로벌 Azure 또는 Azure Government에 GitHub Enterprise Server를 배포할 수 있습니다.

필수 조건

  • GitHub Enterprise 라이선스 파일이 있어야 합니다. 자세한 내용은 "GitHub Enterprise Server 평가판 설정" 및 "AUTOTITLE"을 참조하세요.
  • 새 머신을 프로비전할 수 있는 Azure 계정이 있어야 합니다. 자세한 내용은 Microsoft Azure 웹 사이트를 참조하세요.
  • VM(가상 머신)을 시작하는 데 필요한 대부분의 작업은 Azure Portal을 사용하여 수행할 수도 있습니다. 그러나 초기 설정을 위해 Azure CLI(명령줄 인터페이스)를 설치하는 것이 좋습니다. Azure CLI 2.0을 사용하는 예제는 다음과 같습니다. 자세한 내용은 Azure 가이드 "Azure CLI 2.0 설치"를 참조하세요.

하드웨어 고려 사항

최소 요구 사항

GitHub Enterprise Server 인스턴스의 사용자 라이선스 수에 따라 다른 하드웨어 구성을 사용하는 것이 좋습니다. 최소 요구 사항보다 더 많은 리소스를 프로비저닝하면 인스턴스의 성능과 스케일링이 향상됩니다.

사용자 라이선스vCPU메모리루트 스토리지연결된(데이터) 스토리지
평가판, 데모 또는 라이트 사용자 10명432GB200GB150GB
10~3,000848GB200GB300GB
3,000~50001264GB200GB500GB
5,000~80001696GB200GB750GB
8,000~10,000 이상20160 GB200GB1000GB

인스턴스 사용자에 대해 GitHub Actions를 사용하도록 설정하려는 경우 더 많은 리소스가 필요합니다.

vCPU메모리최대 동시성
864GB300개 작업
16128GB700개 작업
32160 GB1500개 작업
64256GB2500개 작업
96384 GB4500개 작업
128550GB5000개 작업

이러한 요구 사항에 대한 자세한 내용은 "AUTOTITLE"을 참조하세요.

인스턴스 사용자에 대해 Container registry을(를) 사용하도록 설정하려는 경우 더 많은 리소스가 필요합니다. 이러한 요구 사항에 대한 자세한 내용은 "엔터프라이즈를 위한 GitHub Packages 시작"을 참조하세요.

기존 인스턴스에 대한 리소스 조정에 대한 자세한 내용은 "스토리지 용량 늘리기" 및 "CPU 또는 메모리 리소스 늘리기"을 참조하세요.

Storage

IOPS(초당 입출력 작업 수)가 높고 GitHub Enterprise Server의 대기 시간이 짧은 고성능 SSD를 사용하는 것이 좋습니다. 워크로드는 I/O 집약적입니다. 운영 체제 미설치 하이퍼바이저를 사용하는 경우 디스크를 직접 연결하거나 SAN(스토리지 영역 네트워크)의 디스크를 사용하는 것이 좋습니다.

인스턴스에는 루트 디스크와 별도로 영구 데이터 디스크가 필요합니다. 자세한 내용은 "시스템 개요"을 참조하세요.

GitHub Actions을 구성하려면 외부 BLOB 스토리지를 제공해야 합니다. 자세한 내용은 "GitHub Enterprise Server용 GitHub Actions 시작"을 참조하세요.

루트 파일 시스템의 사용 가능한 공간은 전체 디스크 크기의 50%입니다. 새 인스턴스를 빌드하거나 기존 인스턴스를 사용하여 인스턴스의 루트 디스크 크기를 조정할 수 있습니다. 자세한 내용은 "시스템 개요" 및 "AUTOTITLE"을 참조하세요.

CPU 및 메모리

GitHub Enterprise Server에 필요한 CPU 및 메모리 리소스는 사용자, 자동화 및 통합에 대한 활동 수준에 따라 달라집니다.

GitHub Enterprise Server 인스턴스의 사용자에 대해 GitHub Actions를 사용하도록 설정하려는 경우 인스턴스에 대한 추가 CPU 및 메모리 리소스를 프로비저닝해야 할 수 있습니다. 자세한 내용은 "GitHub Enterprise Server용 GitHub Actions 시작"을 참조하세요.

CPU 리소스를 늘리면 인스턴스에 프로비저닝하는 각 vCPU(최대 16개 vCPU)에 대해 최소 6.5GB의 메모리를 추가하는 것이 좋습니다. 16개 이상의 vCPU를 사용하는 경우 각 vCPU에 대해 6.5GB의 메모리를 추가할 필요는 없지만 충분한 메모리가 있는지 확인하기 위해 인스턴스를 모니터링해야 합니다.

경고: 사용자가 외부 시스템에 GitHub Enterprise Server에 대한 활동을 알리도록 웹후크 이벤트를 구성하는 것이 좋습니다. 변경 또는 폴링에 대한 자동화된 검사는 인스턴스의 성능 및 스케일링 성능에 부정적인 영향을 줍니다. 자세한 내용은 "웹후크 정보"을 참조하세요.

GitHub Enterprise Server의 용량 및 성능을 모니터링하는 방법에 대한 자세한 내용은 "어플라이언스 모니터링"을 참조하세요.

인스턴스의 CPU 또는 메모리 리소스를 늘릴 수 있습니다. 자세한 내용은 "CPU 또는 메모리 리소스 늘리기"을 참조하세요.

가상 머신 유형 확인

Azure에서 GitHub Enterprise Server 인스턴스을(를) 시작하기 전에 organization 요구 사항에 가장 적합한 컴퓨터 유형을 결정해야 합니다. 메모리 최적화 머신에 대한 자세한 내용은 Microsoft Azure 설명서의 "메모리 최적화 가상 머신 크기"를 참조하세요. GitHub Enterprise Server에 대한 최소 리소스 요구 사항을 검토하려면 "최소 요구 사항"을 참조하세요.

참고: 인스턴스 크기를 조정하여 항상 CPU 또는 메모리를 스케일 업할 수 있습니다. 그러나 CPU 또는 메모리 크기를 조정하려면 사용자에게 가동 중지 시간이 필요하므로 스케일을 고려하여 리소스를 초과 프로비저닝하는 것이 좋습니다.

GitHub Enterprise Server 어플라이언스에는 Premium Storage 데이터 디스크가 필요하며 Premium Storage를 지원하는 모든 Azure VM에서 지원됩니다. s 접미사가 있는 Azure VM 유형은 Premium Storage를 지원합니다. 자세한 내용은 Azure 설명서의 Azure에서 사용할 수 있는 디스크 유형 및 “Azure Premium Storage: 고성능을 위한 디자인”을 참조하세요.

GitHub에서는 GitHub Enterprise Server에 메모리 최적화 VM을 권장합니다. 자세한 내용은 Azure 설명서의 “메모리 최적화 가상 머신 크기”를 참조하세요.

GitHub Enterprise Server는 VM 유형을 지원하는 모든 지역을 지원합니다. 각 VM에 대해 지원되는 지역에 대한 자세한 내용은 Azure의 “지역별 사용 가능한 제품”을 참조하세요.

GitHub Enterprise Server 가상 머신 만들기

인스턴스를 만들려면 GitHub Enterprise Server 이미지를 가상 머신으로 가져오고 인스턴스 데이터에 대한 추가 스토리지 볼륨을 연결해야 합니다. 자세한 내용은 “하드웨어 고려사항”을 참조하세요.

  1. 가장 최근의 GitHub Enterprise Server 어플라이언스 이미지를 찾습니다. vm image list 명령에 대한 자세한 내용은 Microsoft 설명서의 "az vm image list"를 참조하세요.

    $ az vm image list --all -f GitHub-Enterprise | grep '"urn":' | sort -V
  2. 찾은 어플라이언스 이미지를 사용하여 새 VM을 만듭니다. 자세한 내용은 Microsoft 설명서의 "az vm create"를 참조하세요.

    VM 이름, 리소스 그룹, VM 크기, 기본 설정 Azure 지역 이름, 이전 단계에서 나열한 어플라이언스 이미지 VM의 이름 및 Premium Storage용 스토리지 SKU에 대한 옵션을 전달합니다. 리소스 그룹에 대한 자세한 내용은 Microsoft 설명서의 "리소스 그룹"을 참조하세요.

    $ az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
  3. 필요한 포트를 열도록 VM에서 보안 설정을 구성합니다. 자세한 내용은 Microsoft 설명서의 "az vm open-port"를 참조하세요. 열려는 데 필요한 포트를 확인하기 위해 각 포트에 대한 설명은 아래 표를 참조하세요.

    $ az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER

    이 표는 각 포트가 사용되는 대상을 식별합니다.

    포트서비스설명
    22SSHSSH 액세스를 통한 Git입니다. 퍼블릭/프라이빗 리포지토리에 대한 복제, 가져오기 및 푸시 작업이 지원됩니다.
    25SMTP암호화를 사용한 SMTP(STARTTLS) 지원입니다.
    80HTTP웹 애플리케이션 액세스입니다. SSL을 활성화하면 모든 요청이 HTTPS 포트로 리디렉션됩니다.
    122SSH인스턴스 셸 액세스입니다. 기본 SSH 포트(22)는 애플리케이션 git+ssh 네트워크 트래픽 전용입니다.
    161/UDPSNMP네트워크 모니터링 프로토콜 작업에 필요합니다.
    443HTTPSHTTPS 액세스를 통한 웹 애플리케이션 및 Git입니다.
    1194/UDPVPN고가용성 구성에서 복제 네트워크 터널을 보호합니다.
    8080HTTP일반 텍스트 웹 기반 관리 콘솔입니다. SSL을 사용하지 않도록 수동으로 설정하지 않는 한 필요하지 않습니다.
    8443HTTPS웹 기반 관리 콘솔을 보호합니다. 기본 설치 및 구성에 필요합니다.
    9418Git간단한 Git 프로토콜 포트입니다. 공용 리포지토리에만 작업을 복제하고 페치합니다. 암호화되지 않은 네트워크 통신입니다. 인스턴스에서 프라이빗 모드를 사용하도록 설정한 경우 익명 Git 읽기 액세스를 사용하도록 설정한 경우에만 이 포트를 여는 것이 필요합니다. 자세한 내용은 "엔터프라이즈에서 리포지토리 관리 정책 적용"을 참조하세요.
  4. 암호화되지 않은 새 데이터 디스크를 만들어 VM에 연결하고 사용자 라이선스 수에 따라 크기를 구성합니다. 자세한 내용은 Microsoft 설명서의 "az vm disk attach"를 참조하세요.

    VM 이름(예: ghe-acme-corp), 리소스 그룹, Premium Storage SKU, 디스크 크기(예: 200) 및 결과 VHD의 이름에 대한 옵션을 전달합니다.

    $ az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite

    참고: 비프로덕션 인스턴스에 충분한 I/O 처리량이 있는 경우 권장되는 최소 디스크 크기는 읽기/쓰기 캐시가 활성화된 150GiB입니다(--caching ReadWrite).

GitHub Enterprise Server 가상 머신 구성

instance 구성하려면 instance 상태 확인하고, 라이선스 파일을 업로드하고, 관리 콘솔 암호를 설정하고, instance 설정을 구성하고, instance 다시 시작해야 합니다.

경고: 공격자가 새 instance 손상시키지 않도록 하려면 관리 콘솔 암호를 개인적으로 설정하고 가능한 한 빨리 첫 번째 사용자를 만들어야 합니다.

  1. VM을 구성하기 전에 ReadyRole 상태가 될 때까지 기다려야 합니다. vm list 명령을 사용하여 VM의 상태를 확인합니다. 자세한 내용은 Microsoft 설명서의 "az vm list"를 참조하세요.

    $ az vm list -d -g RESOURCE_GROUP -o table
     > Name    ResourceGroup    PowerState    PublicIps     Fqdns    Location    Zones
     > ------  ---------------  ------------  ------------  -------  ----------  -------
     > VM_NAME RESOURCE_GROUP   VM running    40.76.79.202           eastus
    

    참고: Azure는 VM에 대한 FQDNS 항목을 자동으로 만들지 않습니다. 자세한 내용은 "Azure Portal에서 Windows VM에 대한 정규화된 도메인 이름 만들기" 방법에 대한 Azure의 가이드를 참조하세요.

    1. 가상 머신의 공용 DNS 이름을 복사하여 웹 브라우저에 붙여넣습니다. 2. 메시지가 표시되면 라이선스 파일을 업로드하고 관리 콘솔 암호를 설정합니다. 자세한 내용은 "GitHub Enterprise 라이선스 관리"을 참조하세요. 3. 관리 콘솔에서 원하는 설정을 구성하고 저장합니다. 자세한 내용은 "엔터프라이즈 구성.
    2. 인스턴스가 자동으로 다시 시작됩니다. 1. 인스턴스 방문을 클릭합니다.

Azure 확장 기능

GitHub Enterprise Server은(는) Azure 확장 기능 설치를 지원하지 않습니다. GitHub Enterprise Server 이미지는 기본 VM 관리 기능만 지원하고 고급 VM 관리 함수를 차단하는 사용자 지정 waagent 패키지와 함께 제공됩니다.

GitHub Enterprise Server instance walinuxagent 시스템 불안정을 방지하기 위해 서비스는 제한된 모드에서 GitHub Enterprise Server에서 의도적으로 실행되어 에이전트가 다른 에이전트를 설치할 수 없도록 명시적으로 허용하지 않습니다. Azure Insights 또는 Azure Backups용 모니터링 에이전트 확장과 같이 GitHub Enterprise Server 이미지와 함께 제공되는 추가 에이전트 및 확장에 의존하는 VM 관리 기능은 지원되지 않습니다.

GitHub Enterprise Server은(는) 필요한 애플리케이션 및 서비스만 사용하여 사용자 지정된 Linux 운영 체제를 실행하므로 운영 체제 패키지를 수동으로 설치하거나 업데이트하면 이러한 사용자 지정을 덮어쓰고 예기치 않은 동작이 발생할 수 있습니다. 자세한 내용은 "시스템 개요"을 참조하세요.

추가 참고 자료