Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
VPCPoints de terminaison de ECR l'interface Amazon ()AWS PrivateLink
Vous pouvez améliorer votre niveau de sécurité VPC en configurant Amazon ECR pour qu'il utilise un point de VPC terminaison d'interface. VPCles points de terminaison sont AWS PrivateLink alimentés par une technologie qui vous permet d'accéder à Amazon en privé ECR APIs via des adresses IP privées. AWS PrivateLink restreint tout le trafic réseau entre vous VPC et Amazon ECR vers le réseau Amazon. Vous n'avez pas besoin d'une passerelle Internet, d'un NAT appareil ou d'une passerelle privée virtuelle.
Pour plus d'informations sur les VPC points AWS PrivateLink de terminaison, consultez la section VPCEndpoints dans le guide de VPCl'utilisateur Amazon.
Considérations relatives aux points de ECR VPC terminaison Amazon
Avant de configurer les VPC points de terminaison pour AmazonECR, tenez compte des points suivants.
-
Pour permettre à vos ECS tâches Amazon hébergées sur des EC2 instances Amazon d'extraire des images privées d'AmazonECR, créez les VPC points de terminaison de l'interface pour AmazonECS. Pour plus d'informations, consultez Interface VPC Endpoints (AWS PrivateLink) dans le manuel Amazon Elastic Container Service Developer Guide.
-
ECSLes tâches Amazon hébergées sur Fargate qui extraient des images de conteneurs depuis ECR Amazon peuvent restreindre l'accès aux éléments VPC spécifiques utilisés par leurs tâches et au VPC point de terminaison utilisé par le service en ajoutant des clés de condition au rôle IAM d'exécution de la tâche. Pour plus d'informations, consultez la section IAMAutorisations facultatives pour les tâches Fargate qui extraient des images Amazon via des points de terminaison d'interface dans le manuel ECR Amazon Elastic Container Service Developer Guide.
-
Le groupe de sécurité attaché au VPC point de terminaison doit autoriser les connexions entrantes sur le port 443 à partir du sous-réseau privé duVPC.
-
VPCles points de terminaison ne prennent actuellement pas en charge les requêtes interrégionales. Assurez-vous de créer vos VPC points de terminaison dans la même région que celle où vous prévoyez de passer vos API appels vers AmazonECR.
-
VPCles points de terminaison ne sont actuellement pas compatibles avec les référentiels Amazon ECR Public. Envisagez d'utiliser une règle de cache d'extraction pour héberger l'image publique dans un référentiel privé situé dans la même région que le VPC point de terminaison. Pour de plus amples informations, veuillez consulter Synchroniser un registre en amont avec un registre ECR privé Amazon.
-
VPCprise en charge des points de terminaison uniquement AWS fournie DNS via Amazon Route 53. Si vous souhaitez utiliser le vôtreDNS, vous pouvez utiliser le DNS transfert conditionnel. Pour plus d'informations, consultez la section Ensembles d'DHCPoptions du guide de VPC l'utilisateur Amazon.
-
Si vos conteneurs ont des connexions existantes vers Amazon S3, leurs connexions peuvent être brièvement interrompues lorsque vous ajoutez le point de terminaison de passerelle Amazon S3. Pour éviter cette interruption, créez-en un nouveau VPC qui utilise le point de terminaison de la passerelle Amazon S3, puis migrez votre ECS cluster Amazon et ses conteneurs vers le nouveauVPC.
-
Lorsqu'une image est extraite à l'aide d'une règle de cache d'extraction pour la première fois, si vous avez configuré Amazon ECR pour utiliser un point de VPC terminaison d'interface, vous devez créer un sous-réseau public dans celui-ciVPC, avec une NAT passerelle, puis acheminer tout le trafic sortant vers Internet depuis son sous-réseau privé vers la NAT passerelle pour que l'extraction fonctionne. AWS PrivateLink Les extractions d'images suivantes ne nécessitent pas cela. Pour plus d'informations, consultez la section Scénario : Accéder à Internet depuis un sous-réseau privé dans le Guide de l'utilisateur Amazon Virtual Private Cloud.
Considérations relatives aux images Windows
Les images basées sur le système d'exploitation Windows contiennent des artefacts dont la distribution est restreinte par la licence. Par défaut, lorsque vous transférez des images Windows vers un ECR référentiel Amazon, les couches contenant ces artefacts ne sont pas transférées car elles sont considérées comme des couches étrangères. Lorsque les artefacts sont fournis par Microsoft, les couches étrangères sont récupérées à partir de l'infrastructure Microsoft Azure. Pour cette raison, pour permettre à vos conteneurs d'extraire ces couches étrangères d'Azure, des étapes supplémentaires sont nécessaires au-delà de la création des VPC points de terminaison.
Il est possible de contourner ce comportement lorsque vous envoyez des images Windows vers Amazon ECR en utilisant l'--allow-nondistributable-artifacts
indicateur du démon Docker. Lorsqu'il est activé, cet indicateur transmet les couches sous licence à Amazon, ECR ce qui permet d'extraire ces images d'Amazon ECR via le VPC point de terminaison sans qu'un accès supplémentaire à Azure ne soit nécessaire.
Important
L'utilisation de l'indicateur --allow-nondistributable-artifacts
n'exclut pas votre obligation de respecter les termes de la licence d'image de base du conteneur Windows ; vous ne pouvez pas publier du contenu Windows pour une redistribution publique ou tierce. L'utilisation dans votre propre environnement est autorisée.
Pour activer l'utilisation de cet indicateur pour votre installation Docker, vous devez modifier le fichier de configuration du démon Docker qui, en fonction de votre installation Docker, peut généralement être configuré dans le menu des paramètres ou des préférences sous l'onglet Moteur Docker ou en modifiant directement le fichier C:\ProgramData\docker\config\daemon.json
.
Voici un exemple de configuration de la configuration requise. Remplacez la valeur par le référentiel vers lequel URI vous envoyez les images.
{ "allow-nondistributable-artifacts": [ "
111122223333
.dkr.ecr.us-west-2
.amazonaws.com" ] }
Après avoir modifié le fichier de configuration du démon Docker, vous devrez redémarrer le démon Docker avant de tenter de pousser votre image. Confirmez que la transmission a fonctionné en vérifiant que la couche de base a fait l'objet d'une transmission de type push vers votre référentiel.
Note
Les couches de base des images Windows sont volumineuses. La taille de la couche se traduira par un délai de transmission plus long et des coûts de stockage supplémentaires sur Amazon ECR pour ces images. Pour ces raisons, nous vous recommandons d'utiliser cette option uniquement lorsqu'elle est strictement nécessaire pour réduire les temps de création et les coûts de stockage continus. Par exemple, la taille de mcr.microsoft.com/windows/servercore
l'image est d'environ 1,7 GiB lorsqu'elle est compressée dans Amazon. ECR
Création des VPC points de terminaison pour Amazon ECR
Pour créer les VPC points de terminaison du ECR service Amazon, utilisez la procédure Creating an Interface Endpoint dans le guide de l'VPCutilisateur Amazon.
ECSLes tâches Amazon hébergées sur des EC2 instances Amazon nécessitent à la fois des ECR points de terminaison Amazon et le point de terminaison de la passerelle Amazon S3.
ECSLes tâches Amazon hébergées sur Fargate à l'aide de la 1.4.0
version de plateforme ou ultérieure nécessitent à la fois les points de terminaison ECR VPC Amazon et les points de terminaison de la passerelle Amazon S3.
ECSLes tâches Amazon hébergées sur Fargate qui utilisent une version de plateforme ou une 1.3.0
version antérieure nécessitent uniquement le com.amazonaws. region
.ecr.dkr Point de terminaison ECR VPC Amazon et points de terminaison de la passerelle Amazon S3.
Note
L'ordre dans lequel les points de terminaison sont créés n'a pas d'importance.
- com.amazonaws.
region
.ecr .dkr -
Ce point de terminaison est utilisé pour le registre APIs Docker. Les commandes du client Docker telles que
push
etpull
utilisent ce point de terminaison.Lorsque vous créez ce point de terminaison, vous devez activer un DNS nom d'hôte privé. Pour ce faire, assurez-vous que l'option Enable Private DNS Name est sélectionnée dans la VPC console Amazon lorsque vous créez le VPC point de terminaison.
- com.amazonaws.
region
.ecr.api -
Note
Le spécifié
region
représente l'identifiant de région d'une AWS région prise en charge par AmazonECR, telle queus-east-2
la région USA Est (Ohio).Ce point de terminaison est utilisé pour les appels vers Amazon ECRAPI. APIactions telles que
DescribeImages
etCreateRepository
accéder à ce point de terminaison.Lorsque ce point de terminaison est créé, vous avez la possibilité d'activer un DNS nom d'hôte privé. Activez ce paramètre en sélectionnant Activer le DNS nom privé dans la VPC console lorsque vous créez le VPC point de terminaison. Si vous activez un DNS nom d'hôte privé pour le VPC point de terminaison, mettez à jour votre version SDK ou AWS CLI vers la dernière version afin qu'il ne soit AWS CLI pas nécessaire de spécifier un point de terminaison URL lors de l'utilisation du SDK ou.
Si vous activez un DNS nom d'hôte privé et que vous utilisez une AWS CLI version SDK ou publiée avant le 24 janvier 2019, vous devez utiliser le
--endpoint-url
paramètre pour spécifier les points de terminaison de l'interface. L'exemple suivant montre le format du point de terminaisonURL.aws ecr create-repository --repository-name
name
--endpoint-url https://api.ecr.region
.amazonaws.comSi vous n'activez pas de DNS nom d'hôte privé pour le VPC point de terminaison, vous devez utiliser le
--endpoint-url
paramètre spécifiant l'ID du point de VPC terminaison pour le point de terminaison de l'interface. L'exemple suivant montre le format du point de terminaisonURL.aws ecr create-repository --repository-name
name
--endpoint-url https://VPC_endpoint_ID
.api.ecr.region
.vpce.amazonaws.com
Créer le point de terminaison de la passerelle Amazon S3
Pour que vos ECS tâches Amazon puissent extraire des images privées d'AmazonECR, vous devez créer un point de terminaison de passerelle pour Amazon S3. Le point de terminaison de la passerelle est requis car Amazon ECR utilise Amazon S3 pour stocker vos couches d'images. Lorsque vos conteneurs téléchargent des images depuis AmazonECR, ils doivent accéder ECR à Amazon pour obtenir le manifeste de l'image, puis à Amazon S3 pour télécharger les couches d'images réelles. Voici le nom de ressource Amazon (ARN) du compartiment Amazon S3 contenant les couches de chaque image Docker.
arn:aws:s3:::prod-
region
-starport-layer-bucket/*
Utilisez la procédure de création d'un point de terminaison de passerelle du guide de VPC l'utilisateur Amazon pour créer le point de terminaison de passerelle Amazon S3 suivant pour AmazonECR. Lors de la création du point de terminaison, veillez à sélectionner les tables de routage pour votreVPC.
- com.amazonaws.
region
.s3 -
Le point de terminaison de la passerelle Amazon S3 utilise un document de IAM politique pour limiter l'accès au service. La politique d'accès complet peut être utilisée car toutes les restrictions que vous avez imposées à vos IAM rôles de tâches ou à d'autres politiques IAM utilisateur s'appliquent toujours en plus de cette politique. Si vous souhaitez limiter l'accès au compartiment Amazon S3 aux autorisations minimales requises pour utiliser AmazonECR, consultezAutorisations minimales relatives au compartiment Amazon S3 pour Amazon ECR.
Autorisations minimales relatives au compartiment Amazon S3 pour Amazon ECR
Le point de terminaison de la passerelle Amazon S3 utilise un document de IAM politique pour limiter l'accès au service. Pour n'autoriser que les autorisations minimales relatives au compartiment Amazon S3 pour AmazonECR, limitez l'accès au compartiment Amazon S3 ECR utilisé par Amazon lorsque vous créez le document de IAM politique pour le point de terminaison.
Le tableau suivant décrit les autorisations relatives à la politique de compartiment Amazon S3 requises par AmazonECR.
Autorisation | Description |
---|---|
|
Fournit l'accès au compartiment Amazon S3 contenant les couches pour chaque image Docker. Représente l'identifiant de région d'une AWS
région prise en charge par AmazonECR, telle que |
Exemple
L'exemple suivant montre comment fournir l'accès aux compartiments Amazon S3 nécessaires aux ECR opérations Amazon.
{ "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::prod-
region
-starport-layer-bucket/*"] } ] }
Création du point de terminaison CloudWatch Logs
Les ECS tâches Amazon utilisant le type de lancement Fargate qui utilisent VPC une passerelle sans Internet et qui utilisent également le pilote de journal pour envoyer des informations awslogs
de journal CloudWatch à Logs nécessitent que vous créiez le fichier com.amazonaws. region
point de VPC terminaison de l'interface CloudWatch .logs pour Logs. Pour plus d'informations, consultez la section Utilisation CloudWatch des journaux avec les VPC points de terminaison de l'interface dans le guide de l'utilisateur Amazon CloudWatch Logs.
Créez une politique de point de terminaison pour vos points de ECR VPC terminaison Amazon
Une politique de VPC point de terminaison est une politique de IAM ressources que vous attachez à un point de terminaison lorsque vous créez ou modifiez le point de terminaison. Si vous n'attachez pas de politique lorsque vous créez un point de AWS terminaison, associez une politique par défaut qui permet un accès complet au service. Une stratégie de point de terminaison n'annule pas et ne remplace pas les stratégies utilisateur ou les stratégies propres au service. Il s’agit d’une politique distincte qui contrôle l’accès depuis le point de terminaison jusqu’au service spécifié. Les politiques relatives aux terminaux doivent être rédigées au JSON format. Pour plus d'informations, consultez la section Contrôle de l'accès aux services avec des VPC points de terminaison dans le guide de VPC l'utilisateur Amazon.
Nous vous recommandons de créer une politique de IAM ressources unique et de l'associer aux deux ECR VPC points de terminaison Amazon.
Voici un exemple de politique relative aux terminaux pour AmazonECR. Cette politique permet à un IAM rôle spécifique d'extraire des images d'AmazonECR.
{ "Statement": [{ "Sid": "AllowPull", "Principal": { "AWS": "arn:aws:iam::
1234567890
:role/role_name
" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Effect": "Allow", "Resource": "*" }] }
L'exemple de politique de point de terminaison suivant empêche la suppression d'un référentiel spécifié.
{ "Statement": [{ "Sid": "AllowAll", "Principal": "*", "Action": "*", "Effect": "Allow", "Resource": "*" }, { "Sid": "PreventDelete", "Principal": "*", "Action": "ecr:DeleteRepository", "Effect": "Deny", "Resource": "arn:aws:ecr:
region
:1234567890
:repository/repository_name
" } ] }
L'exemple de politique de point de terminaison suivant combine les deux exemples précédents en une seule politique.
{ "Statement": [{ "Sid": "AllowAll", "Effect": "Allow", "Principal": "*", "Action": "*", "Resource": "*" }, { "Sid": "PreventDelete", "Effect": "Deny", "Principal": "*", "Action": "ecr:DeleteRepository", "Resource": "arn:aws:ecr:
region
:1234567890
:repository/repository_name
" }, { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::1234567890
:role/role_name
" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }
Pour modifier la politique relative aux VPC terminaux pour Amazon ECR
Ouvrez la VPC console Amazon à l'adresse https://console.aws.amazon.com/vpc/
. -
Dans le panneau de navigation, choisissez Points de terminaison.
-
Si vous n'avez pas encore créé les VPC points de terminaison pour AmazonECR, consultezCréation des VPC points de terminaison pour Amazon ECR.
-
Sélectionnez le point de ECR VPC terminaison Amazon auquel ajouter une politique, puis cliquez sur l'onglet Politique dans la partie inférieure de l'écran.
-
Choisissez Modifier la politique, puis apportez les modifications souhaitées à la politique.
-
Choisissez Enregistrer pour enregistrer la politique.
Sous-réseaux partagés
Vous ne pouvez pas créer, décrire, modifier ou supprimer des VPC points de terminaison dans des sous-réseaux partagés avec vous. Toutefois, vous pouvez utiliser les VPC points de terminaison dans les sous-réseaux partagés avec vous.