반응형

AWS 30

[AWS] Amazon API Gateway

API Gateway : 개발자가 API를 손쉽게 생성, 개시, 유지 관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스 - AWS 서비스 및 외부 서비스를 위한 API를 생성/관리해주는 서비스 - Client와 백엔드 서비스의 데이터 + 비즈니스 로직 or 기능에 엑세스(Lambda, DynamoDB) 역할 (정문 역할) - 실시간 양방향 통신 애플리케이션이 가능하도록 RESTful API 및 WebSocket API를 작성할 수 있음. - Lambda를 사용하는 여러 방법 중 하나 - Serverless 서비스 - HTTP/Websocket 프로토콜 지원 - 다양한 AWS 서비스와 연동 - ex) HTTP API 형식으로 Lambda or DynamoDB 연동 - ex) 애플리케이션 백..

Public Cloud/AWS 2023.01.18

[AWS] Lambda

컴퓨팅 인프라 구축 방법 발전 데이터 센터 --> IaaS/PaaS --> Container --> Serverless Serverless : 서버의 관리와 프로비전 없이 코드를 실행할 수 있음 - 사용한 만큼만 비용을 지불함. - 고가용성 + 장애 내구성 확보됨 ex) EC2의 고가용성 확보 --> ELB / AutoScaling로 처리 ex) Lambda: 고가용성 장애 내구성 자동으로 확보 - 빠르게 배포하고 업데이트가 가능 - but, Serverless 환경을 잘 활용할 수 있는 아키텍쳐가 필요함(병렬 처리, 이벤트 기반 아키텍처) AWS Lambda : 애플리케이션과 벡엔드 서비스에 대한 코드를 실행할 수 있는 이벤트 중심의 서버리스 컴퓨팅 서비스 - AWS서비스와 SaaS에서 Lambda를 ..

Public Cloud/AWS 2023.01.18

[AWS] - 이벤트 매칭 규칙

Amazon EventBridge 규칙 - 발생한 이벤트를 대상 서비스가 처리할 수 있도록 전달 - 다양한 대상에 동시에 전달이 가능함(API Gateway, CloudWatch Log, SQS, SNS). - 모드 - 이벤트 패턴: AWS의 이벤트 버스에서 특정 이벤트를 패턴 매칭하여 대상에 전달함. - 스케줄: Cron 이벤트를 활용해 특정 시간 or 주기마다 대상에게 전달함. 이벤트 패턴 매칭 - AWS 이벤트에 내용 중 필요한 내용을 선별하여 패턴으로 정의 - 이후 패턴에 매칭되는 이벤트를 대상으로 보냄 - JSON 형식 - 매칭하려는 이벤트 내용은 Array안에 넣어 매칭함. - 일반적으로 Source필드와 detail-type 필드를 매칭하여 이벤트 종류를 분리함. - detail 필드 안에 ..

Public Cloud/AWS 2023.01.17

[ AWS ]- 디커플링

긴밀한 결합 : 주체끼리 높은 의존성을 가져 변경이 어려움. ex) 우리 몸 느슨한 결합 : 주체끼리 낮은 의존성을 가져 쉽게 변경할 수 있고 유연함. ex) 전동 공구, 로봇 디커플링(확장성) 긴밀한 결합 --> 느슨한 결합 ==> 이벤트 큐를 더함 - 모듈들이 큐에서 나온 메세지를 구독하고 들음 - 다른 모듈이 추가되도 기존의 모듈들에 영향을 안끼침. - 기존 모듈이 수정되도 오류 안생김 SQS(Simple Queue Service) - 마이크로 서비스 ,분산 시스템 및 서버리스 애플리케이션을 쉽게 분리하고 확장할 수 있도록 지원하는 완전관리형 메세지 대기열 서비스 - AWS에서 제공하는 큐 서비스 - 다른 서비스에서 사용할 수 있도록 메세지를 잠시 저장하는 용도 - 하나의 메시지를 한번만 처리 SQ..

Public Cloud/AWS 2023.01.16

AWS - 이벤트 기반 아키텍처

명령(교통경찰): 생성 주체가 대상에 행동에 대한 관심을 가지고 회신을 기다림 이벤트(신호등): 명령이 아닌 관찰한 내용, 생성 주체는 대상의 행동에 관심이 없음 이벤트 구성요소 - 사건의 내용 - 사건의 발생 시간 및 주체 - 불변성(과거에 생성된 이벤트는 변경될 수 없음) Amazon EventBridge - 자체 애플리케이션, 통합 SaaS 애플리케이션 및 AWS 서비스에서 생성된 이벤트를 사용해 이벤트 기반 애플리케이션을 대규모로 손쉽게 구축할 수 있는 서버리스 이벤트 버스. - 여러 이벤트가 모이는 통로 - 외부(On-premise)에서 던진 이벤트도 처리가 가능 - ex) EC2가 시작되면 --> SNS, SQS, Lambda로 처리 AWS API call via CloudTrail - API..

Public Cloud/AWS 2023.01.16

Terraform - 민감정보 보안 / Provider Block / OIDC

Provider Block Provider Block에 인증정보를 하드코딩을 함. --> 테라폼 코드가 유출되면 admin 권한도 유출됨 provider "aws"{ region = "..." access_key = "access-key" secret_key = "secret-key" } 보완 방법 1. 환경변수 설정 $export AWS_ACCESS_KEY_ID="my-access-key" $export AWS_SECRET_ACCESS_KEY="my-secret-key" - 단점: 재부팅하거나 쉘을 바뀌면 환경변수를 재설정해야함. 2. 설정파일 $aws configure --> access key입력 Q. 태라폼이 다른 서비스(EC2 인스턴스 Github Action)에서 실행한다면? 위 방법으로 하면..

[ AWS ] ENI / VPC flow

ENI(Elastic Network Interface) - VPC에서 가상 네트워크 카드를 나타내는 논리적 네트워킹 구성 요소 - 가상의 랜카드 - IP주소와 MAC주소를 보유 - ENI 하나 당 하나 이상 Private IP + 하나의 Public IP - EC2는 반드시 하나 이상의 ENI가 연결됨. - EC2 처음 생성할 때 Primary ENI가 생성되어 연결됨 - EC2는 하나 이상의 ENI 보유 가능 - 추가적인 ENI는 EC2와 같은 가용영역이면 다른 서브넷에도 설정이 가능함. - EC2의 서브넷 위치, 보안 그룹 등 외부와 관련된 연결은 ENI단위에서 결정됨. - EC2는 subnet에 안에 있는 것이 아닌 ENI만 subnet에 위치해서 통신한다. 다중 ENI 아키텍처 - 하나의 인스턴스..

Public Cloud/AWS 2023.01.12

[ AWS ] IAM

EC2에 권한 부여 IAM 자격 증명 등록 - IAM 사용자를 생성하고 IAM 자격증명을 발급받아서 EC2에 등록함. - 일일이 관리가 어렵고 바꾸기 힘듦 ex) EC2 100대 자격증명을 교체하기 어려움 IAM 역할 부여 - 권한이 부여된 IAM 역할을 만들고 EC2에 부여 - 내부적으로 지속적으로 자격증명을 변경할 수 있음. - 관리가 쉬움 - 높은 보안성 ex) IAM 사용자 + 개발자 Role => EC2 서버 프로비전 ex) IAM 사용자 + 경영지원 Role => 요금 조회 ex) AWS Lambda + S3 Access Role => S3 파일 데이터 불러오기 ex) EC2 + EC2 서비스 관리 Role => EC2 관련 조회, 설정 ex) IAM 사용자에게 S3 Full Access 역할..

Public Cloud/AWS 2023.01.11

AWS NAT Gateway / Bastion Host

NAT Gateway - VPC 내부의 private subnet에 있는 인스턴스에서 인터넷에 연결할 수 있도록 지원하는 가용성 높은 AWS 관리형 서비스 - NAT Instance는 단일 EC2 인스턴스임. - Public Subnet에 위치함. - Private Subnet에 있는 EC2가 업데이트, 다운로드할 때 인터넷 연결해줌. Bastion Host - 외부에서 사설 네트워크에 접속할 수 있도록 경로를 확보해주는 서버 - Private 인스턴스에 접근하기 위한 EC2 인스턴스 - Public Subnet에 위치함. - 사실상 Bastion Host에서 Router 거쳐 Private Subnet에 있는 인스턴스에 접근함.

Public Cloud/AWS 2023.01.11

[ AWS ] VPC와 Subnet

VPC - 가상으로 존재하는 데이터 센터 - 원래는 외부에서 직접 접근할 수 없음. - 외부에 격리된 네트워크 컨테이너 구성 - EC2, RDS, Lanbda 등 서비스 실행 Subnet - 가용영역(AZ) 안에 하나의 서브넷이 위치 - CIDR block range로 IP주소 지정 - AWS 서브넷 IP주소 갯수 ex) 10.0.0.0/24 --> 네트워크 어드레스, VPC router, DNS server, 1개 여유, broadcast address 제외 ==> 사용 가능한 ip개수 = 2^8 - 5 = 251개 public subnet: IGW를 통해 외부 인터넷과 연결 private subnet: DB, 로직 서버 등 외부에 노출될 필요 없는 인프라 Internet Gateway VPC가 외부의..

Public Cloud/AWS 2023.01.11
반응형