본문 바로가기

카테고리 없음

AWS 컨테이너 서비스

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"
}