Wie kann ich ohne Internetzugang yum aktualisieren oder Pakete auf meinen EC2-Instances installieren, auf denen Amazon Linux 1, Amazon Linux 2 oder Amazon Linux 2023 ausgeführt wird?

Lesedauer: 4 Minute
0

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

Kurzbeschreibung

Amazon-Linux-Repositorys werden in Amazon Simple Storage Service (Amazon S3)-Buckets gehostet. Um Pakete ohne Internetverbindung auf Ihrer Instance zu aktualisieren und zu installieren, erstellen Sie einen S3 Amazon Virtual Private Cloud (Amazon VPC)-Gateway-Endpunkt. Fügen Sie in den Amazon-S3-VPC-Gateway-Endpunkt eine Richtlinie ein, die den Zugriff auf die Repository-Buckets ermöglicht. Ordnen Sie dann den VPC-Endpunkt der Routing-Tabelle Ihres Instance-Subnetzes zu.

**Hinweis:**Um Repositorys von Drittanbietern wie EPEL zu aktivieren, muss Ihre EC2-Instance über eines der folgenden Geräte auf das Internet zugreifen können:

Behebung

Voraussetzungen:

  • Die Sicherheitsgruppe, die an Ihre EC2-Instance angehängt ist, muss ausgehenden HTTP-Datenverkehr zulassen.
  • Die Sicherheitsgruppe, die an Ihren S3-VPC-Endpunkt angehängt ist, muss eingehenden HTTP-Datenverkehr aus dem Subnetz Ihrer EC2-Instance zulassen.
  • Die Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs), die dem Subnetz Ihrer EC2-Instance zugeordnet sind, müssen auf dem Port 80 (HTTP) und dem Port 443 (HTTPS) ausgehenden Datenverkehr zum regionalen Amazon-S3-Dienst von AWS zulassen. Sie müssen außerdem eingehenden Datenverkehr auf kurzlebige TCP-Ports vom regionalen S3-Dienst aus zulassen. Kurzlebige Ports sind 1024–65535. Der regionale Amazon-S3-Dienst ist für den S3-Dienst das CIDR (Classless Inter-Domain Routing) für öffentliche IP-Adressen. Netzwerk-ACLs unterstützen keine Präfixlisten. Verwenden Sie 0.0.0.0/0, um das S3-CIDR zu Ihrer Netzwerk-ACL hinzuzufügen. Sie können auch die tatsächlichen S3-CIDRs in der Netzwerk-ACL verwenden. Die S3-CIDRs können sich jedoch jederzeit ändern.

1.    Öffnen Sie die Amazon-EC2-Konsole und wählen Sie Ihre Instance aus.

2.    Notieren Sie sich auf der Registerkarte Netzwerk die VPC-ID und die Subnetz-ID.

3.    Öffnen Sie die Amazon-VPC-Konsole, wählen Sie Subnetze und dann Ihre Subnetz-ID aus.

4.    Wählen Sie die Registerkarte Routing-Tabelle aus und notieren Sie sich dann die Routing-Tabellen-ID.

5.    Wählen Sie Endpunkte und dann Endpunkt erstellen aus.

6.    Erstellen Sie den Gateway-Endpunkt:
Wenn Sie einen Endpunkt in us-east-1 erstellen, wählen Sie com.amazonaws.us-east-1.s3 aus. Wenn Sie einen Endpunkt in einer anderen AWS-Region erstellen, wählen Sie den Code der entsprechenden Region aus. Eine vollständige Liste der Regionscodes finden Sie unter Verfügbare Regionen.
Wählen Sie unter VPC die VPC-ID Ihrer Instance aus.
Wählen Sie unter Routing-Tabellen konfigurieren die Routing-Tabellen-ID Ihrer Instance aus.

7.    Wählen Sie unter Richtlinie entweder Vollzugriff oder Benutzerdefiniert aus.

Wenn Sie Vollzugriff auswählen, ermöglicht Ihre Endpunktrichtlinie vollen Zugriff auf Amazon S3.

Wenn Sie Benutzerdefiniert auswählen, müssen Sie den API-Aufruf s3:GetObject in den Amazon-Linux-Repository-Buckets zulassen. Die folgenden Beispiele verwenden us-east-1. Wenn sich Ihr Endpunkt in einer anderen Region befindet, ersetzen Sie us-east-1 durch Ihre Region.

Amazon Linux 2023

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

Amazon Linux 2

Die S3-Buckets arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com und arn:aws:s3:::amazonlinux-2-repos-us-east-1/* hosten die Repositorys. Im Folgenden finden Sie eine Beispielrichtlinie, die den API-Aufruf s3:GetObject zulässt.

{
  "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/*"
      ]
    }
  ]
}

Amazon Linux 1

{
  "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/*"
      ]
    }
  ]
}

8.    Wählen Sie Endpunkt erstellen aus.

Nachdem Sie den S3-VPC-Endpunkt erstellt haben, können Sie Pakete in Ihrer Amazon-Linux-Instance installieren und aktualisieren.

Relevante Informationen

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

Gateway-Endpunkte für Amazon S3

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr