반응형

1. 시험환경

    · Python v3.10

    · AWS Lambda

 

2. 목적

    · AWS Lambda 서비스에서 파이썬 사용시 필요한 라이브러리를 등록하는 방법을 알아보자.

    · AWS Lambda 서비스에서 계층추가하는 방법을 알아보자.

 

3. 적용

    ① 패키지 설치 디렉토리를 준비하고 해당 디렉토리로 이동한다.

        - 디렉토리 : lambda-layer/python

 

    ② pip를 사용하여 필요한 라이브러리를 설치한다.

        - 중요: --target 옵션을 사용해 특정 디렉토리에 설치한다.

        - 명령어: pip install [패키지] -t .

 

    ③ AWS Lambda가 사용하는 구조 준비 Lambda에서 Layer로 추가하기 위해 압축 파일 구조를 구성한다.

        - 디렉토리: python/설치패키지파일들

       - 명령어: zip -r [패키지명]_layer.zip python


    ④ AWS Lambda 서비스의 "계층" 메뉴에서 "계층 생성" 버튼을 클릭한다.

 

    ⑤ 계층 구성 정보와 패키지 압축파일을 업로드한다.

 

    ⑥ AWS Lambda 계층(Layer)에 등록한 패키지 파일 목록을 확인한다.

 

    ⑦ Lambda 함수의 "코드" 탭에 위치한 "계층"영역에서 "Add a layer" 버튼을 클릭하여 라이브러리를 추가한다.

 

4. 결과

    · Lambda 함수의 계층에 추가된 것을 확인한다. 람다 함수 실행시 특정 패키지가 없어서 발생하는 문제는 해결된다.

        - ImportError: No module named [패키지명]

 

 

 

반응형
반응형

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가 생성된 것을 확인한다.

 

반응형

+ Recent posts