Wie aktualisiere ich yum oder installiere Pakete ohne Internetzugang auf meinen EC2-Instances, auf denen Amazon Linux ausgeführt wird?

Lesedauer: 3 Minute
0

Ich möchte yum aktualisieren oder Pakete auf meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance installieren, ohne eine Internetverbindung. Auf der Instance wird Amazon Linux 1 (AL1), Amazon Linux 2 (AL2) oder Amazon Linux 2023 (AL2023) ausgeführt.

Kurzbeschreibung

Amazon-Linux-Repositorys werden in Amazon Simple Storage Service (Amazon S3)-Buckets gehostet. Um Pakete ohne Internetverbindung auf deiner Instance zu aktualisieren und zu installieren, erstelle einen Amazon Virtual Private Cloud (Amazon VPC)-Gateway-Endpunkt für Amazon S3. Füge dem VPC-Endpunkt eine Richtlinie hinzu, die den Zugriff auf die Repository-Buckets ermöglicht. Ordne dann den VPC-Endpunkt der Routing-Tabelle deines Instance-Subnetzes zu.

Hinweis: Um Repositorys von Drittanbietern wie Extra Packages für Enterprise Linux (EPEL) zu aktivieren, muss deine Instance über eines der folgenden Geräte auf das Internet zugreifen können:

Lösung

Überprüfung deiner Konfiguration

Stelle sicher, dass die Sicherheitsgruppe, die an deine Instance angehängt ist, ausgehenden HTTP- und HTTPS-Verkehr zulässt. Die Sicherheitsgruppe, die an deinen VPC-Endpunkt für Amazon S3 angehängt ist, muss eingehenden HTTP-Datenverkehr aus dem Subnetz deiner Instance zulassen.

Überprüfe auch die Netzwerk-Zugriffssteuerungsliste (Netzwerk-ACL), die dem Subnetz deiner Instance zugeordnet ist. Die Netzwerk-ACL muss ausgehenden Verkehr auf den Ports 80 (HTTP) und 443 (HTTPS) in die AWS-Region deines Amazon S3-Service zulassen. Die Netzwerk-ACL muss auch eingehenden Verkehr auf kurzlebigen TCP-Ports (1024-65535) aus der Region des Amazon S3-Service zulassen. Die Region des Amazon S3-Service ist das CIDR für die öffentliche IP-Adresse für den Amazon S3-Service. Du kannst keine Präfixlisten in Netzwerk-ACLs verwenden. Verwende stattdessen 0.0.0.0/0, um den Amazon S3-CIDR zu deiner Netzwerk-ACL hinzuzufügen. Du kannst auch die tatsächlichen Amazon S3-CIDRs in der Netzwerk-ACL verwenden. Die Amazon S3-CIDRs könnten sich jedoch ändern.

VPC-Endpunkte erstellen

Führe die folgenden Schritte aus:

  1. Öffne die Amazon-EC2-Konsole.

  2. Wähle deine Instance aus.

  3. Wähle die Registerkarte Netzwerk und notiere dir dann die Werte für die VPC-ID und Subnetz-ID.

  4. Öffne die Amazon VPC-Konsole.

  5. Wähle Subnetze und dann wähle deine Subnetz-ID aus.

  6. Wähle die Registerkarte Routing-Tabelle aus und notieren dir dann die Werte für die Routing-Tabellen-ID.

  7. Wähle Endpunkte und dann Endpunkt erstellen.

  8. Um den Gateway-Endpunkt zu erstellen, konfiguriere die folgenden Einstellungen:
    Wähle unter Region den Regionalcode für den Ort aus, an dem du deinen Endpunkt erstellen möchtest. Um beispielsweise einen Endpunkt in us-east-1 zu erstellen, wählst du com.amazonaws.us-east-1.s3 aus.
    Wähle unter VPC die VPC-ID deiner Instance aus.
    Wähle unter Routing-Tabellen konfigurieren die Routing-Tabellen-ID deiner Instance aus.
    Wähle unter Richtlinie die Option Vollzugriff aus, um vollen Zugriff auf Amazon S3 zu ermöglichen. Wenn du Benutzerdefiniert auswählst, musst du den s3:GetObject-API-Aufruf in den Amazon-Linux-Repository-Buckets zulassen.
    **Hinweis:**Ersetze in den folgenden Beispielrichtlinien us-east-1 durch deine Endpunktregion.
    AB 2023:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::al2023-repos-us-east-1-de612dc2/*"
          ]
        }
      ]
    }

    AL2:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/*",
            "arn:aws:s3:::amazonlinux-2-repos-us-east-1/*"
          ]
        }
      ]
    }

    AL1:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::packages.us-east-1.amazonaws.com/*",
            "arn:aws:s3:::repo.us-east-1.amazonaws.com/*"
          ]
        }
      ]
    }

    Hinweis: In den vorherigen AL1- und AL2-Richtlinien hosten die Buckets arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/* und arn:aws:s3:::amazonlinux-2-repos-us-east-1/* die Repositorys.

  9. Wähle Endpunkt erstellen aus.

Nachdem du den VPC-Endpunkt erstellt hast, kannst du Pakete in deiner Amazon-Linux-Instance installieren und aktualisieren.

Ähnliche Informationen

Warum erhalte ich Fehler, wenn ich yum auf meiner EC2-Instance verwende, auf der Amazon Linux 1, Amazon Linux 2 oder Amazon Linux 2023 ausgeführt wird?

Gateway-Endpunkte für Amazon S3

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Monaten