본문으로 건너뛰기

AWS ECR

AWS ECR

목차​


네트워크 설정​

VPC 네트워크 구성​

구분이름내용
VPCpista-ecs-vpc10.0.0.0/20
Public Subnetpista-ecs-subnet-public1-1a
pista-ecs-subnet-public2-1b
10.0.0.0/25
10.0.1.0/25
Private Subnetpista-ecs-subnet-private1-1a
pista-ecs-subnet-private2-1b
10.0.0.128/25
10.0.1.128/25
Internet gatewaypista-ecs-igwvpc 연결 : pista-ecs-vpc
Routing Table(public용)pista-ecs-rtb-publicRouting : 0.0.0.0/0, pista-ecs-igw
Subnet : pista-ecs-subnet-public1-1a
Subnet : pista-ecs-subnet-public2-1b
Routing Table(private용)pista-ecs-rtb-privateRouting : 추가 없음.
Subnet : pista-ecs-subnet-private1-1a
Subnet : pista-ecs-subnet-private2-1b
보안 그룹default(pista-ecs-sg-defult)

pista-ecs-sg-ec2

pista-ecs-sg-alb

pista-ecs-sg-container
-

SSH - 0.0.0.0(추후 변경 필요)

HTTP - 0.0.0.0

모든 TCP - 사용자 지정 - pista-ecs-sg-alb

VPC 생성(pista-ecs-vpc)​

변수값
VPC 설정-생성할 리소스VPC만
VPC 설정-이름 태그pista-ecs-vpc
VPC 설정-IPv4 CIDR 블록IPv4 수동 입력
VPC 설정-IPv4 CIDR10.0.0.0/16
VPC 설정-IPv6 CIDR 블록IPvCIDR블록없음✅
VPC 설정-테넌시기본값
VPC 설정-VPC 암호화 제어 ($)없음
태그-Namepista-ecs-vpc

VPC

VPC 설정 편집(pista-ecs-vpc)​

VPC > VPC > pista-ecs-vpc > VPC 설정 편집

변수값
DNS 설정-DNS 확인 활성화✅
DNS 설정-DNS 호스트 이름 활성화✅

VPC

DHCP 태그관리(pista-ecs-vpc)​

VPC > DHCP 옵션 세트 > pista-rt-vpc > 태그 관리

변수값
태그-Namepista-dhcp-vpc

DHCP


서브넷​

서브넷 생성(pista-subnet-public1-1a)​

변수값
서브넷 이름pista-subnet-public1-1a
가용영역...-1a
IPv4 VPC CIDR 블록10.0.0.0/16
IPv4 서브넷 CIDR 블록10.0.0.0/25
태그-Namepista-subnet-public1-1a

서브넷 생성(pista-subnet-public2-1b)​

변수값
서브넷 이름pista-subnet-public2-1b
가용영역...-1b
IPv4 VPC CIDR 블록10.0.0.0/16
IPv4 서브넷 CIDR 블록10.0.1.0/25
태그-Namepista-subnet-public2-1b

서브넷 생성(pista-subnet-private1-1a)​

변수값
서브넷 이름pista-subnet-private1-1a
가용영역...-1a
IPv4 VPC CIDR 블록10.0.0.0/16
IPv4 서브넷 CIDR 블록10.0.0.128/25
태그-Namepista-test-subnet-private1-1a

서브넷 생성(pista-subnet-private2-1b)​

변수값
서브넷 이름pista-subnet-private2-1b
가용영역...-1b
IPv4 VPC CIDR 블록10.0.0.0/16
IPv4 서브넷 CIDR 블록10.0.1.128/25
태그-Namepista-subnet-private2-1b

subnet


인터넷 게이트웨이(Internet-gateway)​

인터넷 게이트웨이 생성(pista-ecs-igw)​

VPC > 인터넷 게이트웨이 > 인터넷 게이트웨이 생성

변수값
태그-Namepista-ecs-igw

igw

인테넷 게이트웨이 VPC 연결​

VPC > 인터넷 게이트웨이 > VPC연결

변수값
VPC-사용pista-ecs-vpc

igw


라우팅 테이블 (routing table)​

라우팅 테이블 생성 (pista-ecs-rtb-public)​

변수값
라우팅 테이블 설정-이름pista-ecs-rtb-public
라우팅 테이블 설정-VPCvpc
태그-Namepista-ecs-rtb-public

라우팅 편집 (pista-ecs-rtb-public)​

변수값
대상0.0.0.0/0
대상igw

서브넷 연결 편집 (pista-ecs-rtb-public)​

변수값
이용 가능한 서브넷public1
public2

igw-routing igw-subnet

라우팅 테이블 생성 (pista-ecs-rtb-private)​

변수값
라우팅 테이블 설정-이름pista-ecs-rtb-private
라우팅 테이블 설정-VPCvpc
태그-Namepista-ecs-rtb-private

라우팅 편집 (pista-ecs-rtb-private)​

변수값
대상없음

서브넷 연결 편집 (pista-ecs-rtb-private)​

변수값
이용 가능한 서브넷
private1
private2

보안 그룹​

보안 그룹 생성 (pista-ecs-sg-default)​

VPC > 보안그룹 > 보안그룹 생성

변수값
태그-Namepista-ecs-sg-default

보안 그룹 생성 (pista-ecs-sg-ec2)​

VPC > 보안그룹 > 보안그룹 생성

변수값
인바운드SSH - 0.0.0.0/0
태그-Namepista-ecs-sg-ec2

보안 그룹 생성 (pista-ecs-sg-alb)​

VPC > 보안그룹 > 보안그룹 생성

변수값
인바운드HTTP - 0.0.0.0/0
태그-Namepista-ecs-sg-alb

보안 그룹 생성 (pista-ecs-sg-container)​

VPC > 보안그룹 > 보안그룹 생성

변수값
인바운드사용자 지정 TCP-pista-ecs-sg-alb
태그-Namepista-ecs-sg-container

EC2(Amazon Linux 2023)​

인스턴스 생성(pista-ecs-ec2-al2023)​

변수값
태그-Namepista-ecs-ec2-al2023
AMIAmazon Linux 2023
인스턴스 유형t2.micro
키 페어pistakey
네트워크 설정-vpcvpc
네트워크 설정-서브넷서브넷
네트워크 설정-퍼블릭 IP 자동 할당✅
네트워크 설정-방화벽기존 보안 그룹 선택
네트워크 설정-일반보안그룹pista-ecs-sg-ec2
스토리지 구성1x32GIB gp3 루트불륨

Docker 설치 (Amazon Linux)​

# Docker 설치
sudo yum update -y
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

# 사용자 그룹 추가
sudo usermod -aG docker $USER
newgrp docker

AWS CLI 설치 (Amazon Linux)​

# Amazon Linux 2023에는 AWS CLI가 기본 설치되어 있음
aws --version

EC2(Ubuntu)​

인스턴스 생성(pista-ecs-ec2-ubuntu)​

변수값
태그-Namepista-ecs-ec2-ubuntu
AMIUbuntu
인스턴스 유형t2.micro
키 페어pistakey
네트워크 설정-vpcvpc
네트워크 설정-서브넷서브넷
네트워크 설정-퍼블릭 IP 자동 할당✅
네트워크 설정-방화벽기존 보안 그룹 선택
네트워크 설정-일반보안그룹pista-ecs-sg-ec2
스토리지 구성1x32GIB gp3 루트불륨

Docker 설치 (Ubuntu)​

# Docker GPG 키
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Docker 리포지토리
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

# Docker 설치
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 사용자 그룹 추가
sudo usermod -aG docker $USER
newgrp docker

AWS CLI 설치 (Ubuntu)​

sudo apt install unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

docker build & image​

web image


ECR(Elastic Container Registry)​

ECR 생성(pista/web)​

ECR > 리포지토리 > 리포지토리 생성

변수값
일반 설정- 리포지토리 이름pista/web
이미지 태그 설정-이미지 태그 변경 가능Mutable

ECR 푸시(pista/web)​

ECR > 리포지토리 > pista/web > 푸시 명령 보기

# 1. ECR 로그인
aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.ap-southeast-1.amazonaws.com

# 2. 이미지 빌드
docker build -t pista/web .

# 3. 이미지 태그 지정
docker tag pista/web:latest <AWS_ACCOUNT_ID>.dkr.ecr.ap-southeast-1.amazonaws.com/pista/web:latest

# 4. ECR에 푸시
docker push <AWS_ACCOUNT_ID>.dkr.ecr.ap-southeast-1.amazonaws.com/pista/web:latest

⚠️ <AWS_ACCOUNT_ID>를 실제 AWS 계정 ID(12자리 숫자)로 교체하세요.


관련 문서​

그래프 뷰

…
그래프 데이터 로딩 중…
현재: AWS ECR
노드 클릭 → 이동 · 드래그 → 위치 조정