728x90
반응형
SMALL

AWS 23

AWS DynamoDB를 Python과 연동해보기

Requisites 우선 AWS CLI를 사용해야한다. 그러기 위해서 AWS CLI를 먼저 설치를 해야하고 구성도 해야한다. 이 부분은 이전 포스팅에서도 다루기도 했고 공식 문서로도 잘 되어 있으니까 생략한다. boto3 Python과 DynamoDB를 연동하기 위해서 필요한 패키지인 'boto3'를 설치해야한다. 근데 설치하기 앞서, 나는 Global로 파이썬 패키지를 설치하는것을 싫어한다. 그래서 가상환경을 세팅해줄 것이다. 작업하길 원하는 경로에서 다음 명령어를 입력한다. 이는 가상환경을 구성하는 명령어이다. python3 -m venv ./ 가상환경을 구성했으면 가상환경을 실행한다. source ./bin/activate 가상환경을 실행하면 자동으로 가상환경 내부로 들어온다. 이 내부에서 다음 명..

AWS 2024.03.05

AWS Lambda와 DynamoDB를 연동해보기

DynamoDB DynamoDB를 알기 전에 기존의 데이터베이스 형태에 대해서 먼저 알아보자. 기존의 데이터베이스의 형태는 거의 대부분이 관계형 데이터베이스였다. 예를 들면 MySQL, PostgreSQL 등이 있다. 이런 관계형 데이터베이스의 가장 큰 특징은 데이터에 대한 형식이 아주 견고하게 존재한다는 것이다. 그래서 형식에 맞지 않는 데이터를 넣지 못한다. 그 말은 어떤 데이터를 넣더라도 예측 가능한 데이터가 된다. 그러나 이러한 점이 단점으로 부각되기 시작한다. 그 내용은 기업이 활용할 수 있는 데이터가 다양해지면서 데이터의 형식이 다양해지고 내용이 방대해졌다는 뜻이다. 그 말은 예측이 불가능한 데이터가 더 많아진다는 뜻이다. 그래서 이러한 단점(자유도가 떨어진다)을 극복하기 위해 다른 방식의 ..

AWS 2024.03.04

AWS Lambda와 Step functions

Step functions AWS에서 Step functions이라는 서비스가 있다. 이 서비스는 Step by Step으로 어떤 작업을 수행해나가는 서비스를 말한다. 비즈니스 워크플로우에 맞춰 수행되는 작업이 정해지는 것인데 그것을 람다와 연동해서 사용할 수 있다. 말보다 직접 해보면서 이해하는게 훨씬 더 이해가 수월한듯해서 바로 만들어보자. IAM Role 생성 우선 Step function을 람다와 사용하기 위해선 Role을 새롭게 만들어야 한다. 왜냐하면 Step Functions이 람다 함수에 접근하기 위해 AWS에서 기본으로 제공해주는 역할이 없기 때문이다. 역할을 만들기 위해 IAM > Roles > Create role 클릭 설정 부분은 다음과 같다. - Trusted entity type..

AWS 2024.03.04

AWS Lambda와 Layers

Lambda의 Layers Lambda에서 Layer라는 개념이 있다. 이 Layer는 어떤 기능을 하고 왜 있는지 알아보고 직접 적용해보자. Lambda는 너무나도 독립적이기 때문에 생기는 문제가 있다. 예를 들면, 정확히 동일한 패키지와 환경을 사용하더라도 각각의 람다 함수는 독립적으로 해당 환경을 구성해줘야한다. 단적인 예시로 20개의 람다 함수가 있고 그 20개의 람다 함수가 모두 같은 패키지를 사용할때도 각각의 람다함수마다 같은 패키지를 업로드해줘야한다. 이건 효율성도 떨어지지만 비용 측면에서도 상당히 불리하다. 이를 해결하기 위해 어떤 기반으로된 환경위에 람다 함수를 올리게 하는 Layer가 존재한다. Layer는 말 그대로 람다 함수가 올라갈 자리를 말하는것이다. 기본적으로 필요한 패키지나 ..

AWS 2024.03.04

AWS Lambda와 API Gateway로 Canary Release 하기

Canary Release Canary Release는 배포 전략 중 하나이다. 이 배포 전략은 새롭게 배포되는 버전의 리스크를 줄이는 방법인데 기존 버전과 새로운 버전이 있을 때 기존 버전에서 바로 새로운 버전을 출시하는게 아니라 기존 버전과 새로운 버전 두 개 모두를 프로덕션 환경으로 올리지만 가중치를 두어 사용자들이 겪는 새로운 버전에 대한 오류나 문제점에 대한 비율을 줄이는 방식이다. 예를 들어, 기존 버전이 있고 새로운 버전이 새로 출시될 때 기존 버전에 가중치를 60% 새로운 버전의 가중치를 40%로 할당해서 사용자들이 접속할 때 가중치에 따라 60%는 기존 버전을 그대로 사용하게 하고 40%는 새로운 버전을 사용하게 하므로써 새 버전에 대한 문제를 40%로 낮추는 방법이다. 이렇게 최초에 4..

AWS 2024.03.03

AWS Lambda를 API Gateway에 등록하기

API Gateway 생성 AWS Console에 API Gateway를 입력하고 나오는 서비스를 클릭 종류는 다음과 같이 3가지에 + REST API Private 형태가 있다. 나는 REST API 타입을 선택하겠다. 설정 부분은 다음과 같이 설정한다. - New API - API name: cwchoiit-api-gateway - API endpoint type: Regional 만들고 나면 다음과 같은 화면이 노출된다. 좌측 'Create resource' 버튼을 클릭하면 새로운 path를 생성할 수 있고 현재는 그게 아니라 이 기본 루트 path에 메서드를 생성해서 내가 만든 람다 함수를 연결해보자. 우측 'Create method' 버튼 클릭 설정 부분은 다음과 같다. - Method type..

AWS 2024.03.03

AWS Lambda

AWS Lambda Lambda는 AWS에서 제공해주는 서버리스 서비스이다. 서버리스(Serverless)란 말 그대로 서버가 없다는 의미고 그 말은 진짜 서버가 아예 없다는게 아니라 관리할 서버가 없다. 즉, 관리할 필요가 없다란 의미가 된다. 개발자는 서버를 관리할 필요없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델을 서버리스 아키텍트라고 한다. 이 구조의 장점은 항상 대기하고 있는 전용 서버가 없어서 실행이 끝나면 자원을 반납하고 사용할 때만 자원을 가져다가 사용하는 구조라고 할 수 있다. 그러나 장점만 있는 구조는 없다. 장점과 단점을 둘 다 알아보자. 장점 서버 관리(자동 확장, 장애 방지)가 불필요 관리보다 개발에 집중이 가능 사용한 만큼 과금 급격한 트래픽 변..

AWS 2024.03.03

AWS KMS를 사용해서 암호화 - 복호화하기

KMS (Key Management Service) AWS KMS는 암호화 및 복호화를 위해 사용되는 키를 생성 및 관리할 수 있는 서비스이다. 데이터 암호화는 데이터가 곧 자산이기 때문에 필수적으로 필요한 과정이다. 데이터 암호화는 크게 두가지로 나뉘어질 수 있다. 전송 중인 데이터 암호화 (HTTPS) 저장되어 있는 데이터 암호화 (Client Side, Server Side) HTTPS 설정은 AWS에서 간단하게 할 수 있다. 도메인을 하나 사고 해당 도메인에 대한 SSL인증을 받은 후 사용하면 된다. 저장되어 있는 데이터 암호화는 두 가지로 또 나뉘어진다. AWS에선 Server Side 암호화를 알아서 해준다. 서버에 저장된 데이터를 암호화 시켜놓고 암호화 키를 자동으로 관리한다. S3, RDS..

AWS 2024.02.26

NACL과 Security Group

NACL과 Security group 모두 보안을 위한 녀석들이다. AWS에서 크게 인스턴스를 보호하는 방법은 두가지인데 그 두 가지가 이 NACL과 Security group이다. 이 두 녀석으로 외부의 특정 클라이언트와 통신을 허가할지 거부할지를 결정하게 된다. 그럼 이 둘의 차이는 무엇일까? NACL (Network Access Control List) NACL은 Stateless한 보안 체계이다. 즉, 요청을 한 번 받으면 그 요청에 대해 기억하고 있지 않다는 의미이다. 그래서 다음 그림을 보자. NACL로 보안 체계를 걸어둔 VPC가 있는데 이 NACL이 들어오는 포트는 80으로 허가했고 나가는 포트는 아무것도 허가한게 없을 때, 외부에 있는 클라이언트에서 요청이 들어오면 클라이언트는 응답을 받..

AWS 2024.02.21

Key Pair 생성하고 EC2에 SSH로 접속해보기

AWS EC2 인스턴스에 원격으로 접속하기 위해선 SSH Key Pair가 필요하다. 이를 AWS에서 발급할 수 있는데 그 과정을 작성한다. Key Pair 생성 1. EC2 서비스 메인화면에서 Key Pairs 클릭 AWS Console에서 EC2를 검색해서 서비스를 찾는다. 서비스에 진입하면 좌측 사이드바에 Network & Security 섹션이 있고 그 섹션에 Key Pairs 버튼 클릭. 2. Key Pairs 화면에서 생성 버튼 클릭 클릭해서 진입한 화면 우측 상단 Create key pair 버튼 클릭 3. 입력 사항을 입력하고 생성 버튼 클릭 - Name: cwchoiit-aws-keypair - Key pair type: RSA - Private key file format: .pem 4..

AWS 2024.02.21
728x90
반응형
LIST