Comment mettre à jour yum ou installer des packages sans accès Internet sur mes instances EC2 exécutant Amazon Linux 1 ou Amazon Linux 2 ?

Dernière mise à jour : 25/11/2020

J'exécute Amazon Linux 1 ou Amazon Linux 2 sur mon instance Amazon Elastic Compute Cloud (Amazon EC2). Comment puis-je mettre à jour yum ou installer des packages si mon instance n'a pas accès à Internet ?

Brève description

Les référentiels Amazon Linux sont hébergés dans des compartiments Amazon Simple Storage Service (Amazon S3). Pour mettre à jour et installer des packages sur votre instance sans connexion Internet, créez un point de terminaison d'un VPC S3 avec une stratégie autorisant l'accès aux compartiments de référentiels. Associez le point de terminaison d'un VPC à la table de routage de votre sous-réseau d'instance.

Remarque : pour activer les référentiels tiers, tels que EPEL, votre instance EC2 doit disposer d'un accès Internet via l'une des options ci-dessous :

Résolution

1.    Ouvrez la console Amazon EC2, puis sélectionnez votre instance.

2.    Sur l'onglet Description, notez VPC ID (ID de VPC) et Subnet ID (ID de sous-réseau).

3.    Ouvrez la console Amazon VPC, choisissez Subnets (Sous-réseaux), puis sélectionnez votre Subnet ID (ID de sous-réseau).

4.    Choisissez l'onglet Route Table (Table de routage) puis notez l'ID de la table de routage .

5.    Choisissez Endpoints (Points de terminaison), puis Create Endpoint (Créer un point de terminaison).

6.    Créez le point de terminaison à l'aide des informations suivantes :

Pour Service Name (Nom du service), sélectionnez com.amazonaws.[region].s3. Choisissez la région où se trouvent vos ressources. Par exemple com.amazonaws.us-east-1.s3. Pour obtenir la liste complète des codes de région, consultez Régions disponibles.

Pour VPC, sélectionnez l'ID de VPC de votre instance.

Pour Configure route tables (Configurer les tables de routage), sélectionnez Route Table ID (ID de la table de routage) de votre instance.

7.    Choisissez Full Access (Accès complet) ou Custom (Personnalisé) pour Policy (Stratégie).

Si vous choisissez Full Access (Accès complet), votre stratégie de point de terminaison autorise un accès complet à Amazon S3.

Si vous choisissez Custom (Personnalisé), vous devez autoriser l'appel d'API S3:GetObject sur les compartiments de référentiels Amazon Linux :

Amazon Linux 2

Les référentiels sont hébergés dans le compartiment arn:aws:s3:::amazonlinux.region.amazonaws.com. Voici un exemple de stratégie autorisant l'appel d'API S3:GetObject .

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

Amazon Linux 1

Les compartiments S3 arn:aws:s3:::packages.region.amazonaws.com et arn:aws:s3:::repo.region.amazonaws.com hébergent les référentiels. Voici un exemple de stratégie autorisant l'accès à l'appel d'API s3:GetObject :

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

Remarque : remplacez la région dans l'ARN de ressource par la région de votre instance. Pour plus d'informations, consultez Utilisation des stratégies de point de terminaison pour Amazon S3.

8.    Choisissez Create Endpoint (Créer un point de terminaison).

Après avoir créé le point de terminaison d'un VPC S3, vous pouvez installer et mettre à jour des packages dans votre instance Amazon Linux.