AWS 26

AWS Database

AWS Aurora RDS ElastiCache DynamoDB RedShift Aurora MySQL, PostgreSQL 지원 Single-Master / Multi-Master 15개의 Read Replica 생성 가능 Single-Master(대부분 Single로 사용) 한 개의 쓰기 전용 노드, 다수의 읽기 전용 노드 Multi-Master 다수의 읽기, 쓰기 전용 노드 (4개까지 생성 가능) Multi-Master를 사용하면 Aurora의 여러 기능을 사용하지 못함 용량 자동 증감 분산 저장 각 AZ마다 2개의 복제본 저장 x 최소 3개 이상의 AZ (최소 6개의 복제본) Failover Writer가 죽을 경우 자동으로 Read Replica 중 하나가 Writer로 Failover Auro..

AWS 2021.11.23

Lesson03

Load Balancer 사용 이유 health check, SSL 통신 지원 등 여러 이유가 있지만 가장 큰 이유는 Client의 트래픽을 여러 인스턴스에 분산처리 하기 위해 사용한다.(High Availability) AWS에서 제공하는 Load Balancer의 종류는 CLB, NLB, ALB가 있으며 CLB는 EC2-Classic을 위한 로드밸런서로 현재는 거의 사용하지 않아서 생략하도록 한다. ALB(Application Load Balancer) NLB(Network Load Balancer) http, https 트래픽 기반 EC2, 마이크로서비스, Container 등 여러 대상에 분산 TCP/UDP 트래픽 기반 EC2, 마이크로서비스, Container 등 여러 대상에 분산 유동적 IP ..

AWS 2021.11.15

AWS H01_Lesson02

VPC 왜 쓸까? 먼저 VPC가 출시되기 전 사용했던 EC2-Classsic에 대해 살펴보면, EC2-Classic은 단일 네트워크에서 다른 사용자들과 함께 사용하는 공용 공간이다. 그렇기에 많은 고객의 인스턴스가 위치했고, 인스턴스 수가 많아지면 아래와 같은 문제점이 발생한다. 1. 관리의 복잡도 ↑ 2. 새 인스턴스 추가 시 모든 라우팅 정보 변경 3. 외부에 노출되기 때문에 보안 ↓ 그렇다고 사용자가 네트워크 환경을 직접 구축해야 한다면 번거롭고 복잡해진다. 그래서 '사용자별로 독립된 네트워크 공간을 만들어 그 안에서 리소스를 관리하자' 해서 출시된 것이 VPC이다. Security Group vs NACL Security Group NACL 적용 대상 인스턴스 단위 서브넷 단위 기본 정책 기본적으..

AWS 2021.11.12

AWS H01_Lesson01

목차 1. EC2 1.1 Linux AMI 가상화 유형 1.2 배치 그룹 1.3 Domain Join Directory 1.4 Tenancy 1.5 AWS Nitro Enclave 2. S3 2.1 Public Access 2.2 ACL 2.3 버킷 정책 EC2 Linux AMI 가상화 유형 인스턴스를 생성할 때 사용했던 AMI 이미지는 루트 볼륨 디바이스에 저장 AMI는 PV / HVM 두 가지 유형의 가상화를 사용한다. 주요 차이점은 부팅 방법, 더 나은 성능을 위해 HW 확장이 가능한지 차이. HVM(하드웨어 가상 머신) PV(반가상화) 설명 이미지 루트 블록 디바이스의 MBR을 실행하여 가상화된 HW, Boot Set 제공 PV-GRUB이라는 특수 부트 로더를 통해 부팅 현재는 대부분 HVM 사용..

AWS 2021.11.10

error: You must be logged in to the server (Unauthorized) 오류 해결

일반적으로 위 로그는 쿠버네티스 환경에서 만날 수 있는 오류이며, 제 경우에는 EKS 클러스터를 생성한 후 kubectl 명령어로 API Endpoint에 요청을 보낼 때 발생했습니다. (혹시 다른 케이스가 있다면 댓글 부탁드립니다!) 대부분 관련 권한이 없거나 ~/.kube/config 파일이 잘못 구성되었거나 등의 몇 가지 제한된 원인으로 발생하는 이슈로 보여집니다. 아래는 증상별 해결방법을 기재해두었습니다. 증상 1. Connection refused kubectl 명령어 입력 시 아래 오류가 발생합니다. The connection to the server localhost:8080 was refused - did you specify the right host or port? 위 증상의 해결방법은..

AWS 2021.10.07

AWS Fargate

AWS Fargate란? 기본 인프라를 관리할 필요 없이 컨테이너를 배포하고 관리할 수 있는 컴퓨팅 엔진 ▶ Serverless형 쿠버네티스 서비스 Fargate로 Pod 동작시키기 먼저 Fargate Profile을 생성해준다. 이 때, 설정된 네임스페이스에서 동작하는 Pod는 모두 Fargate에서 동작한다고 보면 된다. eksctl create fargateprofile --cluster --name --namespace --labels 주의할 점은 Fargate의 프로파일을 생성할 때, Pod가 실행될 VPC의 서브넷을 지정하는데 이 서브넷은 프라이빗 서브넷이어야 한다. 그 이유는 pod는 사설 IP를 할당받기 때문에 인터넷 액세스를 위해선 공인 IP가 필요하고, 이 과정에서 NAT Gateway..

AWS 2021.08.24

EC2와 RDS 서비스를 활용한 Wordpress 구축하기

이번 실습에선 RDS와 EC2 서비스릃 활용하여 Wordpress를 구축해보자. 이 때, EC2는 퍼블릭 서브넷에 구성하고 Database를 프라이빗 서브넷에 구성하여 2-Tier 아키텍처로 구성한다. Overview 1. VPC 구성하기 2. RDS 인스턴스 생성하기 3. EC2 인스턴스 생성하기 Step1. VPC 구성하기 아래와 같이 새로운 VPC를 생성해준다. 서브넷을 생성해준다. 위와 같은 방식으로 총 4개의 서브넷을 생성해준다. 생성된 서브넷 4개를 확인한다. 이제 라우팅 테이블을 생성해주자. 아래와 같이 PublicA, 그리고 PublicC 두 개의 라우팅 테이블을 생성한다. 이제 Public 서브넷에 위치한 인스턴스의 인터넷 접속을 위한 인터넷 게이트웨이를 생성해주자. 아래와 같이 Inte..

AWS 2021.08.14

RDS_hands-on

RDS는 관계형 데이터베이스를 쉽게 생성하고 확장할 수 있는 AWS 서비스이다. MySQL, Oracle, PostgreSQL 등의 상용 DB 뿐 아니라 AWS가 개발한 Aurora DB 또한 구축하여 사용할 수 있다. Overview 1. RDS 인스턴스 생성하기 2. EC2 인스턴스 생성하기 3. RDS 인스턴스에 접속 후 테이블 생성하기 4. RDS 스냅샷 생성하기 Step1. RDS 인스턴스 생성하기 [RDS] 서비스에서 [데이터베이스 생성]을 클릭한다. 여러 DB 엔진 중 이번 실습에선 MySQL을 사용한다. Database에 접속하기 위한 로그인 정보를 설정하는 과정이며, 아래와 같이 마스터 ID와 PWD를 설정한다. 간단한 실습을 위해 t2.micro 유형을 선택한다. 실습을 위한 최소 용량..

AWS 2021.08.14

CloudFront를 활용한 S3 앱 배포하기

Overview 1. S3 버킷 생성하기 2. 파일 업로드하기 3. CloudFront로 S3 버킷의 정적 파일 배포하기 ++ 4. EC2 DNS 접속 vs CloudFront 도메인 접속 로그 비교 이번 실습에선 S3에 정적 웹 파일을 업로드하고 CloudFront 서비스로 이 웹 서비스를 배포하는 과정을 설명한다. Step.1 S3 버킷 생성하기 S3 버킷을 생성하는 자세한 과정은 생략하도록 한다. 외부에서의 접속 테스트를 위해 "모든 퍼블릭 액세스 차단" 설정은 비활성화 시키도록 한다. 버킷 정책에서 아래와 같이 정책을 추가한다. 아래 정책은 모든 사용자가 읽기 권한을 가지도록 하는 정책이다. #Resource의 ljj-s3는 본인의 버킷 이름을 기입한다. { "Version":"2012-10-17..

AWS 2021.08.12

VPC를 구성하고 Load Balancing과 Auto Scaling 적용하기

지금까지 EC2_hands-on과 VPC_hands-on을 통해 기본적인 인스턴스 생성과 VPC 구성을 실습했다. 이제 이 웹 서버를 운영하면서 생기는 장애 상황을 대비하여 ELB(Elastic Load Balancer)를 통한 부하분산과 Auto Scaling 서비스를 통한 인스턴스 자동 확장을 실습해보자. Overview 1. VPC 구성하기 2. ELB를 통해 부하분산 처리하기 3. Auto Scaling을 통해 인스턴스 자동 확장하기 Step1. VPC 구성하기 기본적인 VPC 구성 과정은 생략하도록 한다. Subnet Routing Table 이제 인스턴스를 생성해주자 앞서 만들었던 VPC에 생성하기 위해 [네트워크], [서브넷] 부분을 아래와 같이 선택해주자. 퍼블릭 IP 자동 할당도 "활성화..

AWS 2021.08.11