AWS ECRとは
AWS ECRとは何か解説していきます。
AWS ECRとは、完全マネージド型のDockerコンテナレジストリのことを指します。Amazon Elastic Container Registry (ECR)の略字です。
また、AWSのサービスの1つで、このレジストリを使用するとDockerコンテナイメージを簡単に保存でき、管理やデプロイができます。
AWS ECRの特徴8つ
AWS ECRには多くの特徴や機能があります。
AWS ECRに難しいイメージを持ち、使い方が分からないなど思う方も多いはずです。
そこで、ここからはAWS ECRの特徴8つについて簡潔に分かりやすく解説していきますので是非ご覧ください。
AWS ECRの特徴1:AWS ECSと統合している
AWS ECRは、AWS ECSと統合していますので、開発から本稼働までのワークフローを簡単にすることができます。
AWS ECSで実行中のアプリケーションのコンテナイメージを簡単に保存、実行、管理することができます。また、タスク定義でAWS ECRリポジトリを指定することでAWS ECSのアプリケーションのイメージを最適にします。
AWS ECRの特徴2:可用性が高い
AWS ECRは、とてもスケーラブルで冗長性と耐久性に優れたアーキテクチャです。
コンテナイメージは可用性がとても高く、アクセスが容易にできるため、新しいコンテナをアプリケーション内に確実にデプロイが可能です。
AWS ECRの特徴3:AWS Marketplaceが活用できる
AWS ECRは、AWS Marketplaceで入手したコンテナソフトウェアを保存することができます。
もちろん自身で作成したコンテナも保存可能です。Containers向けのAWS Marketplaceでは、コンテナアプリケーションを管理して、分析や保護するSaaS製品や高性能コンピューティングだけではなく、セキュリティ面や開発ツール用向けに検証されたコンテナソフトウェアも提供しています。
AWS ECRの特徴4:サードパーティーと統合している
AWS ECRは、サードパーティーの開発者ツールと統合しています。それにより自社のCI/CDプロセスとAWS ECRを統合して、既存の開発ワークフローをそのままの状態で維持することができます。
AWS ECRの特徴5:セキュアな状態である
AWS ECRは、セキュリティが非常に高く、コンテナイメージがHTTPS経由で転送されます。また、保管時にはイメージが自動的に暗号化されることで安心して管理ができます。
AWS Identity and Access Management(IAM)のユーザーとロールを使用し、イメージへのアクセス権限の管理、アクセスの制御を行えるようポリシーを設定できます。そのため認証情報をEC2インスタンスで直接管理を必要としません。
AWS ECRの特徴6:ワークフローがシンプル
AWS ECRは、AWS ECSとDocker CLIに統合されているため、ワークフローを開発から本稼働までを簡略化できるので、とてもシンプルで使いやすくなっています。
Docker CLIを使用して開発マシンからコンテナイメージを容易にAWS ECRにプッシュすることができます。また、AWS ECSはそのコンテナイメージを本番用デプロイにプルできます。
AWS ECRの特徴7:Dockerのサポートが利用できる
AWS ECRは、Docker CLIコマンドpush、pull、list、tagなどのHTTP API V2がサポートされています。
その為、でDockerツールを使用してAWS ECRとやり取りができるので、既存の開発ワークフローを維持できます。AWS ECRは、どんなDocker環境からでも簡単にクラウドやオンプレミス、ローカルマシンにアクセスすることができます。
AWS ECRの特徴8:マネージド型である
AWS ECRは、完全マネージド型なので、コンテナレジストリを動かすためのインフラストラクチャの運用やスケーリングが必要ありません。
ですので、インストールや管理が必要なソフトウェアや、スケールが必要なインフラストラクチャが必要ありません。コンテナイメージをAWS ECRにプッシュし、デプロイが必要なときはコンテナ管理ツールからイメージをプルするだけなのでとても簡単です。
AWS ECRに含まれているコンポーネント4つ
とても便利なAWS ECRですが、いままで紹介した機能の他にも色々な機能で構成されています。
AWS ECRには元々のコンポーネントが含まれていますので、その中から主なコンポーネントを4つ解説します。
AWS ECRのコンポーネント1:レジストリ
AWS ECRは、レジストリがAWSアカウントごとに用意されています。
レジストリ内に作成したイメージリポジトリを、これらのリポジトリにイメージを保存することができます。可用性の高いスケーラブルなアーキテクチャでコンテナイメージがホストされるので、コンテナをアプリケーションにデプロイするのに役立ちます。
レジストリを使用して、DockerとOpen Container Initiative (OCI) イメージで構成されるイメージリポジトリを管理することができます。
AWS ECRのコンポーネント2:リポジトリポリシー
AWS ECRは、リポジトリポリシーを使うことでリポジトリ内のイメージのアクセス権とリポジトリのアクセス権とを制御することができます。
アクセス権を使用してどのIAMユーザーまたは、ロールがリポジトリにアクセスできるようになり、どのようなアクションを実行できるかを指定することができます。なおデフォルトでは、リポジトリの所有者のみリポジトリにアクセスできるようになっています。
AWS ECRのコンポーネント3:認証トークン
AWS ECRは、レジストリとして AWS画像をプッシュおよびプルをする前に、自分で操作することができます。
認証トークンは、AWS ECRレジストリに登録したあと、IAMプリンシパルにアクセスします。
登録してから12時間有効となります。
AWS ECRのコンポーネント4:Repository
AWS ECRは、AWS ECRリポジトリが使用できます。イメージリポジトリの作成、モニタリング、削除と、リポジトリにアクセスできるユーザーを制御するアクセス権限を設定するAPIオペレーションがあります。
AWS ECRコンソールの(リポジトリ)セクションで、同じアクションを実行することができます。また、Docker CLIも統合されているため、開発環境とリポジトリの間でイメージをプッシュまたはプルできます。
AWS ECRについて知ろう
AWS ECRは、完全マネージド型のDockerコンテナレジストリで、このレジストリを使用するとDockerコンテナイメージを簡単に保存や管理、デプロイができます。また、セキュリティも高く安心してコンテナイメージを保存できます。
この様にAWS ECRには様々な特徴があり、できることが沢山ありとても使いやすいコンテナレジストリとなっています。
AWSをご利用の際はAWS ECRを是非ご活用ください。