1. IAM 계정 생성
2. VPC생성



1. EC2 인스턴스 생성


2. ECR 활용 컨테이너 이미지 업로드
1) SSH 접속
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
2) 도커파일, index.html 생성
mkdir work
cd work
ls
vim Dockerfile
FROM alpine
RUN apk update
RUN apk add apache2
COPY src/index.html /var/www/localhost/htdocs/index.html
ENTRYPOINT ["/usr/sbin/httpd","-D","FOREGROUND"]
mkdir src
vim src/index.html
<h1> Hi ECR </h1>
3) 도커 설치
sudo yum -y install docker
sudo systemctl start docker
sudo usermod -aG docker ec2-user # sudo 안써도 괜찮게
# 다시 로그인
# 설치 확인
docker run hello-world
Heloo From Dokcer!
4) 도커 이미지 생성
[ec2-user@ip-10-10-11-227 work]$ sudo docker build -t alpine:apache .
[+] Building 2.0s (9/9) FINISHED docker:default
[ec2-user@ip-10-10-11-227 work]$ docker build -t alpine:httpd .
[+] Building 1.6s (9/9) FINISHED docker:default
5) 도커 이미지 확인
[ec2-user@ip-10-10-11-227 work]$ docker run -d alpine:apache
9aa472830f24fe6775470136509dc3dcc504283ff8aa1ff571ad2145b0feaba4
[ec2-user@ip-10-10-11-227 work]$ docker run -d alpine:httpd
192cfac84fceeb47662b430c4a1aae6bd7a71447b9ece82b19e1b9fe3d48fe41
[ec2-user@ip-10-10-11-227 work]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine apache dbfa30f304ce 52 minutes ago 13.4MB
alpine httpd dbfa30f304ce 52 minutes ago 13.4MB
hello-world latest d2c94e258dcb 10 months ago 13.3kB
[ec2-user@ip-10-10-11-227 work]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9aa472830f24 alpine:apache "/usr/sbin/httpd -D …" 42 seconds ago Up 41 seconds wonderful_leakey
192cfac84fce alpine:httpd "/usr/sbin/httpd -D …" 29 minutes ago Up 29 minutes sharp_mirzakhani
[ec2-user@ip-10-10-11-227 work]$ docker inspect sharp_mirzakhani |grep -i ipa
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.3",
"IPAMConfig": null,
"IPAddress": "172.17.0.3",
[ec2-user@ip-10-10-11-227 work]$ curl 172.17.0.3
<h1> Hi ECR </h1>
6) ECR 리포지토리 생성

7) 리포지토리 푸시

[ec2-user@ip-10-20-13-22 work]$ sudo aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin .dkr.ecr.ap-northeast-2.amazonaws.com
Unable to locate credentials. You can configure credentials by running "aws configure".
Error: Cannot perform an interactive login from a non TTY device
# 하지만 안됌
8) 액세스 키 생성


[ec2-user@ip-10-20-13-22 work]$ aws configure
AWS Access Key ID [None]: AKIAVRUVSMZNDUXAU75U
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-2
Default output format [None]: json
[ec2-user@ip-10-20-13-22 work]$ cat ~/.aws/config
[default]
region = ap-northeast-2
output = json
9) 다시 푸시로 돌아와서
[ec2-user@ip-10-10-11-227 work]$ aws sts get-caller-identity
{
"UserId": "AIDAVRUVSMZNMDAMUQCGT",
"Account": "381492029018",
"Arn": "arn:aws:iam::381492029018:user/ecsadmin"
}