Integration

AWS Elastic Container Registry logo

Elastic Container Registry

Streamline container image management with AWS ECR and ZenML

On this page

Enhance your machine learning workflows by leveraging the seamless integration between Amazon Elastic Container Registry (ECR) and ZenML. Store and manage your container images efficiently while enjoying the benefits of a robust container registry solution within your ZenML pipelines.

Features with ZenML

  • Seamless integration with ZenML pipelines
  • Efficient storage and retrieval of container images
  • Simplified authentication using AWS Service Connector
  • Scalable and reliable container registry for ML workflows
  • Optimized for use with AWS-based stack components

Main Features

  • Secure and private container image storage
  • Fine-grained access control and permissions
  • High availability and durability
  • Integrates with other AWS services

How to use ZenML with Elastic Container Registry

bash
# Step 1: Install the AWS integration
>>> zenml integration install aws

# Step 2: Register the AWS ECR container registry
>>> zenml container-registry register ecr_registry \
     --flavor=aws \
     --uri="<ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com"

# Step 3: Update your stack to use the new container registry
>>> zenml stack update -c ecr_registry

# Step 4: Set up authentication (choose one method)
# Method 1: Local Authentication
>>> aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com

# Method 2: AWS Service Connector (recommended)
>>> zenml container-registry connect ecr_registry -i

# Step 5: Validate that your stack has a remote orchestrator in it
# Not all orchestrators require a built image, so in order to use the
# container registry you would need a remote orchestrator/step operator
# used in your stack
>>> zenml stack describe
python
from zenml import pipeline, step

@step
def example_step():
    print("This step will be containerized and pushed to ECR")

@pipeline
def my_pipeline():
    example_step()

if __name__ == "__main__":
    my_pipeline()

Connect Your AI Workflows
to a World of Tools

Expand your AI workflows with 66 ZenML integrations