반응형

not automatically assign public IP address 관련 에러로그

 

 

서브넷에서 "퍼블릭 IPv4 주소 자동 할당 활성화 체크"

 

 

반응형
반응형

1. 시험환경

    · Docker

 

2. 목적

    · Local PC 환경에서 Docker Build(도커 빌드) 하는 방법을 알아보자.

 

3. 적용

    ① Tag-Name을 지정하여 Dockerfile이 있는 디렉토리(여기서는 현재 디렉토리 .)에서 Docker 빌드한다.

        - $ docker  build  -t  [Tag-Name]  .

 

    ② 빌드 완료 후 이미지 파일을 혹인한다.

        - $ docker images

 

    ③ Docker 이미지를 실행한다.

        - $ docker  run  -d  -p  [외부-Port]:[내부-Port]  [Image-ID]

 

 

    ④ 컨테이너 실행 상태를 확인한다.

        - $ docker ps -a

 

반응형
반응형

1. 시험환경

    ˙ 윈도우

    ˙ Docker Desktop(docker, docker-compose)

 

2. 목적

    ˙ 윈도우 운영체제에서 Docker Desktop을 설치한다.

    ˙ Docker Desktop을 설치하면 docker와 docker-compose가 모두 설치된다.

 

3. 적용

    ① Docker 사이트에 접속한다.

        - URL : https://www.docker.com/

 

Empowering App Development for Developers | Docker

Learn how Docker helps developers bring their ideas to life by conquering the complexity of app development.

www.docker.com

 

    ② 사이트 화면 "우측 상단"에 "Get Stared" 버튼을 클릭한다.

 

    ③ Windows "Docker Desktop" 설치 프로그램을 다운 받는다.

        - Docker Desktop : Docker Image를 사용할 수 있는 프로그램

        - Docker Hub : Docker Image가 저장된 Cloud 저장소

 

    ④ 설치 파일이 다운완료되면 실행한다.

 

    ⑤ Docker 설치가 완료되면 PC 재부팅한다.

 

4. 결과

    ˙ 바탕화면에 생성된 Docker Desktop을 실행하 GUI 화면이 나타나는 것을 확인한다.

Docker Desktop GUI

 

    ˙ 명령 프롬프트(CLI)에서 "docker 버전" 및 "docker" 명령어를 실행하여 동작을 확인한다.

반응형
반응형

1. 시험환경

    ˙ AWS ECR, EC2

    ˙ Docker

    ˙ 우분투(ubuntu) 리눅스

 

2. 목적

    ˙ AWS ECR에 저장된 이미지를 EC2(ubuntu)에서 다운로드(pull) 받는 방법을 알아보자.

    ˙ 이와 관련된 AWS Cli 명령어를 알아보자.

 

3. 적용

    ① ECR 권한을 가진 IAM 사용자의 AccessKey, SecretKey 등 입력한다.

        - IAM 사용자 등록 : $aws configure

        - 자격증명 확인 : $aws sts get-caller-identity

 

    ② ECR에 접근 가능한 docker client 승인 토큰을 발급 받는다.

        - $ aws ecr get-login-password --region [region-이름] | docker login --username AWS --password-stdin [계정-ID].dkr.ecr.[region-이름].amazonaws.com

 

    ③ aws-cli 명령어를 통해 ECR repository 목록 조회한다.

        - $ aws ecr describe-repositories

 

    ④ 특정 repository 정보를 조회한다.

        - $ aws ecr describe-image --repository-name [repository-이름]

 

    ⑤ ECR Repository에서 이미지를 다운로드(pull) 한다.

        - $ docker pull [aws_ccount_id].ecr.[region-이름].amazonaws.com/[repository-이름]:[TAG]

 

4. 결과

    ˙ 다운받은 이미지를 확인한다.

        - $ docker images

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ Ubuntu

    ˙ kubectl

 

2. 목적

    ˙ EKS Cluster 및 NodeGroup 설치 완료 후 최초 접속을 위한 설정을 알아보자.

    ˙ EKS Cluster와 통신하여 기초 명령어 동작을 확인한다.

 

3. 적용

    ① AWS EKS Cluster를 생성한다.

    - 참고 : https://languagestory.tistory.com/276

 

AWS EKS Cluster 생성 (AWS 웹 콘솔)

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ AWS 웹 콘솔에 접속하여 EKS Cluster를 설치한다. 3. 적용 ① EKS Control Plane에서 사용할 역할(Role)을 생성한다. - 참고 : https://languagestory.tistory.com/275 EKS Contro

languagestory.tistory.com

 

    ② AWS EKS NodeGroup을 생성한다.

    - 참고 : https://languagestory.tistory.com/279

 

AWS EKS NodeGroup 생성 (AWS 웹 콘솔)

1. 시험환경 ˙ AWS EKS ˙ AWS Web Console 2. 목적 ˙ AWS 웹 콘솔에 접속하여 EKS NodeGroup을 설치한다. 3. 적용 ① EKS Cluster를 생성한다. - 참고 : ② EKS Cluster "컴퓨팅" 탭에서 "노드 그룹 추가" 버튼을 클릭한

languagestory.tistory.com

 

    ③ EKS 접속을 위한 Remote PC에 접속한다.

        - 여기서는 Ubuntu EC2를 사용한다.

 

    ④ Remote PC에 Kubectl을 설치한다.

        - 참고 : https://languagestory.tistory.com/192

 

우분투(ubuntu) 리눅스(linux) 환경에서 kubectl 설치하기

1. 시험환경 ˙ 우분투(ubuntu) 리눅스(linux) v20.04 ˙ kubectl 2. 목적 ˙ 우분투(ubuntu) 리눅스(linux) 환경에서 kubectl 설치하는 방법을 알아보자. 3. 적용 ① kubernetes 사이트에서 설치 가이드를 제공한다. - U

languagestory.tistory.com

 

    ⑤ Remote PC에 AWS CLI를 설치한다.

        - 참고 : https://languagestory.tistory.com/249

 

우분투(Ubuntu) 환경에 AWS CLI 설치하기

1. 시험환경 ˙ Ubuntu(우분투) 리눅스 2. 목적 ˙ Ubuntu(우분투) 리눅스 환경에서 AWS CLI 최신 버전 설치하는 방법을 알아보자. 3. 적용 ① AWS 공식문서에 운영체제별 AWS CLI 설치방법이 소개되어 있다. -

languagestory.tistory.com

 

    ⑥ AWS 자격증명 인증을 한다.

        - 참고 : https://languagestory.tistory.com/269

 

AWS CLI 자격 증명 (aws configure)

1. 시험환경 ˙ 윈도우 ˙ aws cli 2. 목적 ˙ aws configure 명령어를 이용하여 IAM 사용자 자격증명하는 방법을 알아보자. ˙ 여러 개의 자격 증명을 등록하고 기본값을 설정하는 방법을 알아보자. 3. 적용

languagestory.tistory.com

 

    ⑦ Remote PC에서 EKS 접속을 위한 설정을 한다.

        - Kubectl 사용을 위한 Kubeconfig 설정 : aws eks update-kubeconfig --region [region-이름] --name [eks-cluster-이름]

        - 접속 서버 API 등 EKS 자원 호출을 위한 정보를 확인 : cat /home/ubuntu/.kube/config

 

4. 결과

    ˙ kubectl 명령어를 사용하여 EKS Cluster와 통신을 확인한다.

          - EKS Worker Node 목록 : kubectl get nodes

          - EKS 기동중인 pod 전체 목록 : kubectl get pod -A

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ EKS NodeGroup

 

2. 목적

    ˙ EKS NodeGroup 생성시 발생한 Error 로그를 확인하고 문제점을 해결한다.

 

3. 적용

    ① EKS NodeGroup 생성 실패

        - EC2에 public IP를 할당 받기 위해서는 서브넷에서 "public IP Address 자동 할당"을 enabeld 하라고 명시

 

    ② 해결책) 안내에 따라 Subnet의 설정을 변경한다.


     에러 로그

 

     해결책)

VPC, Subnet 등 모든 인프라 삭제 후 다시 시작

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS 웹 콘솔에 접속하여 EKS NodeGroup을 설치한다.

 

3. 적용

    ① EKS Cluster를 생성한다.

        - 참고 : 

 

 

    EKS Cluster "컴퓨팅" 탭에서 "노드 그룹 추가" 버튼을 클릭한다.

 

    EKS NodeGoup 이름 / 역할 등 구성정보를 입력한다.

 

    NodeGoup 컴퓨팅 구성 정보를 입력한다.

 

    NodeGroup Scale In/Out 구성 정보를 입력한다.

 

    EC2 인스턴스가 배치될 Subnect을 설정한다.

        - production에서는 보통 private Subnet으로 운영한다.
        - 여기서는, 테스트 목적이므로 public subnet 사용한다.

 

    현재까지 구성한 설정정보 검토 및 EKS NodeGroup을 생성한다.

 

    EKS NodeGroup을 활성화 하려면 시간이 소요된다.

 

4. 결과

    ˙ NodeGroup이 활성화된 것을 확인한다.

 

    ˙ AutoScaling그룹과 EC2가 생성된 것을 확인한다.

 

반응형
반응형

1. 시험환경

    ˙ AWS EKS

    ˙ AWS Web Console

 

2. 목적

    ˙ AWS EKS NodeGroup 설치를 위한 사전 작업을 준비한다.

    ˙ EKS Cluster의 NodeGroup이 사용할 Service Role 생성한다.

    ˙ 생성한 IAM Service Role에 정책(policy)을 부여한다.

         - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
         - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
         - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

 

3. 적용

    ① IAM 역할을 생성한다.

 

    ② 신뢰할 수 있는 엔터티 유형을 설정한다.

        - 방법 1) "AWS 서비스" → 사용 사례로 "EC2" 선택

 

        - 방법 2) "사용자 지정 신뢰 정책" → 직접 입력

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"ec2.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}

 

    ③ Policy를 추가한다.

        - "eks" 키워드로 필터링해서 "AmazonEKSWorkerNodePolicy"와 "AmazonEKS_CNI_Policy" 추가

        - "ec2container" 키워드로 필터링해서 "AmazonEC2ContainerRegistryReadOnly" 추가

 

 

    ④ Role 이름을 부여한다.

 

    ⑤ 생성된 역할(Role)을 클릭한다.

 

 

 

4. 결과

    ˙ 역할에 부여된 정책(policy)을 확인한다.

        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

반응형

+ Recent posts