Hallo, Entdecker! An dieser Seite wird aktiv gearbeitet, oder sie wird noch übersetzt. Die neuesten und genauesten Informationen findest Du in unserer englischsprachigen Dokumentation.

Diese Version von GitHub Enterprise wurde eingestellt am 2021-03-02. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nimm ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wende Dich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

GitHub Enterprise Server auf AWS installieren

Zum Installieren von GitHub Enterprise Server auf Amazon Web Services (AWS) müssen Sie eine Amazon Elastic Compute Cloud (EC2) Instance starten und ein getrenntes Amazon Elastic Block Store-Datenvolume (EBS) erstellen und anhängen.

Inhalt dieses Artikels

Vorrausetzungen

  • Sie müssen über eine GitHub Enterprise-Lizenzdatei verfügen. Besuche enterprise.github.com, um eine vorhandene Lizenzdatei herunterzuladen oder eine Testlizenz anzufordern. Weitere Informationen findest Du unter „Deine GitHub Enterprise-Lizenz verwalten."
  • Sie müssen über ein AWS-Konto verfügen, mit dem EC2 Instances gestartet und EBS-Volumes erstellt werden können. Weitere Informationen finden Sie auf der „Amazon Web Services-Website“.
  • Die meisten Aktionen, die zum Starten von your GitHub Enterprise Server instance erforderlich sind, können auch mithilfe der AWS Management Console ausgeführt werden. Zur Ersteinrichtung sollten Sie jedoch die AWS-Befehlszeilen-Schnittstelle (CLI) installieren. Im Folgenden finden Sie Beispiele zur Verwendung der AWS-Befehlszeilen-Schnittstelle. Weitere Informationen finden Sie in den Leitfäden von Amazon unter „Arbeiten mit der AWS Management Console“ und „Was ist die AWS Command Line Interface?“.

In diesem Leitfaden wird davon ausgegangen, dass Sie mit den folgenden AWS-Konzepten vertraut sind:

Grundlegendes zur Hardware

Minimum requirements

We recommend different hardware configurations depending on the number of user licenses for your GitHub Enterprise Server instance. If you provision more resources than the minimum requirements, your instance will perform and scale better.

BenutzerlizenzenvCPUsArbeitsspeicherAttached-StorageRoot-Storage
Test, Demo oder 10 Benutzer mit eingeschränkten Funktionen216 GB100 GB200 GB
10–3000432 GB250 GB200 GB
3000–5000864 GB500 GB200 GB
5000–80001296 GB750 GB200 GB
8000–10000+16128 GB1000 GB200 GB

For more information about adjusting resources for an existing instance, see "Increasing storage capacity" and "Increasing CPU or memory resources."

Speicher

We recommend a high-performance SSD with high input/output operations per second (IOPS) and low latency for GitHub Enterprise Server. Workloads are I/O intensive. If you use a bare metal hypervisor, we recommend directly attaching the disk or using a disk from a storage area network (SAN).

Your instance requires a persistent data disk separate from the root disk. Weitere Informationen findest Du unter „Systemübersicht“.

You can resize your instance's root disk by building a new instance or using an existing instance. Weitere Informationen findest Du unter „Speicherkapazität erhöhen“.

CPU and memory

The CPU and memory resources that GitHub Enterprise Server requires depend on the levels of activity for users, automations, and integrations.

When you increase CPU resources, we recommend adding at least 6.5 GB of memory for each vCPU (up to 16 vCPUs) that you provision for the instance. When you use more than 16 vCPUs, you don't need to add 6.5 GB of memory for each vCPU, but you should monitor your instance to ensure it has enough memory.

Warning: We recommend that users configure webhook events to notify external systems of activity on GitHub Enterprise Server. Automated checks for changes, or polling, will negatively impact the performance and scalability of your instance. For more information, see "About webhooks."

You can increase your instance's CPU or memory resources. For more information, see "Increasing CPU or memory resources."

Instanztyp bestimmen

Bevor Sie your GitHub Enterprise Server instance auf AWS starten, müssen Sie den Typ der virtuellen Maschine ermitteln, der den Anforderungen Ihrer Organisation am besten gerecht wird.

Unterstützte Instanztypen

GitHub Enterprise Server is supported on the following EC2 instance sizes. Weitere Informationen findest Du auf der Übersichtsseite zu AWS-EC2-Instance-Typen.

TypSize
C3c3.2xlarge, c3.4xlarge, c3.8xlarge
C4c4.2xlarge, c4.4xlarge, c4.8xlarge
C5c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge
M3m3.xlarge, m3.2xlarge
M4m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge
M5m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge
R4r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge
R5r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.12xlarge, r5n.24xlarge, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.12xlarge, r5a.24xlarge
X1x1.16xlarge, x1.32xlarge

Empfohlene Instanztypen

Basierend auf der Anzahl Deiner Benutzerlizenzen empfehlen wir die folgenden Instanztypen. |

BenutzerlizenzenEmpfohlener Typ
Test, Demo oder 10 Benutzer mit eingeschränkten Funktionenr4.large
10–3000r4.xlarge
3000–5000r4.2xlarge
5000–8000r4.4xlarge
8000–10000+r4.8xlarge

Hinweis: Du kannst Deine CPU oder Deinen Arbeitsspeicher jederzeit hochskalieren, indem Du die Größe Deiner Instanz anpasst. Da das Anpassen Deiner CPU- oder Arbeitsspeichergröße jedoch Ausfallzeiten für Deine Benutzer bedeutet, empfehlen wir ein Over-Provisioning der zu skalierenden Ressourcen.

AMI für GitHub Enterprise Server auswählen

Mithilfe des GitHub Enterprise Server-Portals oder der AWS CLI können Sie ein Amazon Machine Image (AMI) für GitHub Enterprise Server auswählen.

AMIs für GitHub Enterprise Server sind in der AWS-Region „GovCloud“ („US-East“ und „US-West“) verfügbar. Dadurch können US-Kunden mit bestimmten gesetzlichen Anforderungen GitHub Enterprise Server in einer föderal konformen Cloud-Umgebung betreiben. Weitere Informationen zur AWS-Compliance mit föderalen und anderen Standards finden Sie auf den Seiten AWS's GovCloud (US) und AWS-Compliance.

GitHub Enterprise Server-Portl zur AMI-Auswahl verwenden

  1. Navigieren Sie zur GitHub Enterprise Server-Downloadseite.
  2. Klicken Sie auf Get the latest release of GitHub Enterprise Server (Neueste Version von GitHub Enterprise Server abrufen).
  3. Klicken Sie im Dropdownmenü „Select your platform“ (Ihre Plattform auswählen) auf Amazon Web Services.
  4. Wählen Sie im Dropdownmenü „Select your AWS“ (Ihren AWS auswählen) Ihre gewünschte Region aus.
  5. Notieren Sie sich die angezeigte AMI-ID.

AWS CLI zur AMI-Auswahl verwenden

  1. Rufen Sie mithilfe der AWS CLI eine Liste der GitHub Enterprise Server-Images ab, die von den AWS-Inhaber-IDs (025577942450 für GovCloud und 895557238572 für andere Regionen) von GitHub veröffentlicht wurden. Weitere Informationen finden Sie unter „describe-images“ in der AWS-Dokumentation.
    aws ec2 describe-images \
    --owners OWNER ID \
    --query 'sort_by(Images,&Name)[*].{Name:Name,ImageID:ImageId}' \
    --output=text
  2. Notieren Sie sich die AMI-ID für das neueste GitHub Enterprise Server-Image.

Sicherheitsgruppe erstellen

Bei der ersten AMI-Verwendung müssen Sie eine Sicherheitsgruppe erstellen und für jeden in der folgenden Tabelle angegebenen Port eine neue Sicherheitsgruppenregel hinzufügen. Weitere Informationen finden Sie im AWS-Leitfaden zur „Verwendung von Sicherheitsgruppen“.

  1. Erstellen Sie an der AWS CLI eine neue Sicherheitsgruppe. Weitere Informationen finden Sie unter „create-security-group“ in der AWS-Dokumentation.

    $ aws ec2 create-security-group --group-name SECURITY_GROUP_NAME --description "SECURITY GROUP DESCRIPTION"
  2. Notieren Sie sich die Sicherheitsgruppen-ID (sg-xxxxxxxx) Ihrer neu erstellten Sicherheitsgruppe.

  3. Erstellen Sie eine Sicherheitsgruppenregel für jeden der Ports in der folgenden Tabelle. Weitere Informationen finden Sie unter „authorize-security-group-ingress“ in der AWS-Dokumentation.

    $ aws ec2 authorize-security-group-ingress --group-id SECURITY_GROUP_ID --protocol PROTOCOL --port PORT_NUMBER --cidr SOURCE IP RANGE

    Diese Tabelle zeigt, wofür jeder Port verwendet wird.

    PortDienstBeschreibung
    22SSHGit über SSH-Zugriff. Unterstützt das Klonen, Abrufen und Übertragen von Vorgängen an öffentliche/private Repositorys.
    25SMTPSMTP mit Verschlüsselung (STARTTLS) wird unterstützt.
    80HTTPWebanwendungszugriff. Alle Anforderungen werden an den HTTPS-Port weitergeleitet, wenn SSL aktiviert ist.
    122SSHShellzugriff auf die Instanz. Der standardmäßige SSH-Port (22) ist für den Git- und SSH-Netzwerk-Traffic der Anwendung vorgesehen.
    161/UDPSNMPFür Netzwerküberwachungs-Protokollvorgänge erforderlich.
    443HTTPSWebanwendung und Git über HTTPS-Zugriff.
    1194/UDPVPNSicherer Replikationsnetzwerktunnel in einer hochverfügbaren Konfiguration.
    8080HTTPWebbasierte Managementkonsole in Nur-Text. Nur erforderlich, wenn SSL manuell deaktiviert wird.
    8443HTTPSSichere webbasierte Managementkonsole. Für die grundlegende Installation und Konfiguration erforderlich.
    9418GitEinfacher Git-Protokollport. Nur Klon- und Abrufvorgänge zu öffentlichen Repositorys. Unencrypted network communication. If you have enabled private mode on your instance, then opening this port is only required if you also enabled anonymous Git read access. For more information, see "Enforcing repository management policies in your enterprise."

GitHub Enterprise Server-Instanz erstellen

Zum Erstellen der Instanz müssen Sie eine EC-Instanz mit Ihrem GitHub Enterprise Server-AMI starten und ein zusätzliches Storage-Volume für Ihre Instanzdaten anhängen. Weitere Informationen finden Sie unter „Grundlegendes zur Hardware“.

Hinweis: Sie können die Daten-Disk verschlüsseln, um eine zusätzliche Sicherheitsebene zu schaffen und sicherzustellen, dass alle Daten, die Sie auf Ihre Instanz schreiben, geschützt sind. Die Verwendung verschlüsselter Disks wirkt sich geringfügig auf die Leistung aus. Wenn Sie Ihr Volume verschlüsseln möchten, wird dringend empfohlen, dies zu erledigen, bevor Sie Ihre Instanz erstmals starten. Weitere Informationen finden Sie im Leitfaden „Amazon EBS Encryption“.

Warnung: Wenn Sie die Verschlüsselung nach der Konfiguration Ihrer Instanz aktivieren, müssen Sie Ihre Daten zum verschlüsselten Volume migrieren, was Ausfallzeiten für Ihre Benutzer zur Folge hat.

EC-Instanz starten

Starten Sie an der AWS-CLI eine EC2-Instanz mit Ihrem AMI und der von Ihnen erstellten Sicherheitsgruppe. Hänge ein neues Blockgerät an, das als ein Speicher-Volume für Deine Instanzdaten verwendet werden soll, und konfiguriere die Größe anhand der Anzahl Deiner Benutzerlizenzen. Weitere Informationen finden Sie unter „run-instances“ in der AWS-Dokumentation.

aws ec2 run-instances \
  --security-group-ids SECURITY_GROUP_ID \
  --instance-type INSTANCE_TYPE \
  --image-id AMI_ID \
  --block-device-mappings '[{"DeviceName":"/dev/xvdf","Ebs":{"VolumeSize":SIZE,"VolumeType":"TYPE"}}]' \
  --region REGION \
  --ebs-optimized

Elastic IP zuordnen und mit der Instanz verknüpfen

Wenn es sich hierbei um eine Produktionsinstanz handelt, wird dringend empfohlen, eine Elastic IP (EIP) zuzuordnen und sie mit der Instanz zu verknüpfen, bevor Sie zur GitHub Enterprise Server-Konfiguration weitergehen. Andernfalls wird die öffentliche IP-Adresse der Instanz nach dem Neustart der Instanz nicht beibehalten. Weitere Informationen finden Sie unter „Zuweisen einer Elastic IP-Adresse“ und „Zuordnen einer Elastic IP-Adresse zu einer laufenden Instance“ in der AWS-Dokumentation.

Den primären und Replikatinstanzen sollten in Hochverfügbarkeitskonfigurationen in der Produktion separate EIPs zugewiesen werden. Weitere Informationen finden Sie unter „GitHub Enterprise Server für Hochverfügbarkeit konfigurieren“.

GitHub Enterprise Server-Instanz konfigurieren

  1. Kopiere den Namen des öffentlichen DNS der virtuellen Maschine, und füge ihn in einen Webbrowser ein.
  2. Lade an der Eingabeaufforderung Deine Lizenzdatei hoch, und lege das Passwort für die Managementkonsole fest. Weitere Informationen findest Du unter „Deine GitHub Enterprise-Lizenz verwalten."
  3. Konfigurieren Sie in der Managementkonsole Ihre gewünschten Einstellungen, und speichern Sie sie. Weitere Informationen finden Sie unter „GitHub Enterprise Server-Appliance konfigurieren“.
  4. Die Instanz wird automatisch neu gestartet.
  5. Klicke auf Visit your instance (Instanz aufrufen).

Weiterführende Informationen