aws

    [AWS] Athena

    Athena란? Amazon S3에 저장된 데이터를 대상으로 SQL 쿼리를 실행할 수 있는 서비스이다. 몇 초만에 대용량의 데이터를 조회해 결과를 얻을 수 있다. 이 글에서는 ALB의 Access log를 수집해 Athena를 이용해 분석해 볼 것이다. 사용 방법 1. 로그를 저장할 버킷 생성 2. 버킷 정책 설정 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::600734575887:root" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::logbucket3333/*" } ] } ELB가 위치한 지역의 ID값을 적으면 된다 ..

    [AWS] AWS Backup

    AWS Backup이란? 다양한 서비스의 데이터를 안전하게 백업하고 복원할 수 있는 관리형 백업 서비스. 사용자가 구성한 정책에 따라 자동으로 스테줄된 백업을 생성하며, 데이터 복원을 신속하게 수행할 수 있다. 사용 방법 1. 백업볼트 생성 2. 백업계획 생성 바로 리소스 할당 창으로 넘어가진다. 백업하고 싶은 리소스를 선택해 주면 된다. 여기서는 EC2를 백업해 보겠다. 내가 보유 중인 인스턴스 3개가 오후 9시에 백업이 된 것을 알 수 있다. 3. 복원 web서버에 접속해서 이전에 설치한 nginx의 상태를 확인하니 active라고 되어있는 것을 확인할 수 있다.

    [AWS] SNS

    SNS란? AWS에서 제공하는 관리형 메시징 서비스. 다양한 종류의 메시지를 안정적으로 전송하고 수신할 수 있다. 이메일, HTTP, Lambda, SQS 등을 통해 메시지를 전송할 수 있다. 사용 방법 이 SNS 주제, 구독 생성을 통해 다양한 상황에서 알람이 필요한 상황이 생기면 내 메일로 알람이 오도록 설정할 수 있다.

    [AWS] WAF

    WAF란? AWS에서 제공하는 웹 애플리케이션 방화벽. 애플리케이션에 대한 웹 트래픽을 모니터링하고, 악성 요청 또는 보안 위협으로부터 애플리케이션을 안전하게 보호할 수 있다. L7계층에서 작동하면 HTTP 및 HTTPS 트래픽을 모니터링하고 필터링한다. 사용 방법 1. web ACL 생성 WAF 페이지는 기본적으로 영어로 나온다. Add AWS resources 버튼 클릭 WAF를 적용시킬 ALB를 선택하자. 로드밸런서 관련 내용은 이 글 참고(https://itstoryy.tistory.com/32) 2. 접근제어 규칙 설정 다양한 방법으로 요청을 차단할 수 있다. 이 글에서는 국가단위로 트래픽을 차단해 보겠다. match the statement로 설정 후 Country codes에 접근을 허용할 ..

    [AWS] SSL

    SSL이란? 인터넷 통신 보안 프로토콜 중 하나로, 클라이언트와 서버 간의 통신을 암호화하여 안전하게 전송하는 기능을 제공. 이를 통해 중간자 공격 및 데이터 탈취 등의 보안 위협으로부터 데이터를 보호할 수 있다. 또한 AWS에서는 ACM을 통해 SSL인증서를 무료로 발급받을 수 있다는 장점이 있다. 사용 방법 우선 본인의 도메인이 필요하다. 가비아에서 500~20000원 정도로 저렴하게 구매할 수 있다. https://www.gabia.com/ 1. 인증서 요청 가비아 -> 도메인관리 창으로 들어가서 네임서버를 NS유형으로 생성된 주소로 등록해 주자. 이때 맨 뒤에 있는.(점)은 빼고 등록해야 한다. 다음은 ACM을 통해 인증서를 발급받아야 한다. 만들어진 인증서로 들어가면 CNAME 이름과 값이 보일..

    [AWS] ALB & NLB

    Load Balancer란? 여러 대의 서버에게 들어오는 네트워크 트래픽을 분산시켜 주는 네트워크 장치이다. 트래픽을 여러 대의 서버에 균등하게 분배하여 각 서버가 과부하 상태에 빠지지 않도록 한다. 그중 ALB와 NLB의 차이점은? ALB(Application Load Balancer) 1. OSI 7 계층에서 L7에서 동작한다. 2. 도메인 기반으로 로드밸런싱을 지원한다. 즉 도메인 이름을 통해 다른 서비스로 라우팅 할 수 있다. 3. HTTP/HTTPS 프로토콜에서 동작한다. 4. SSL인증서 발급 및 WAF(Web Application Firewall)를 통한 보안 기능 설정이 가능하다. NLB(Network Load Balancer) 1. OSI 7계층에서 L4에서 동작한다. 2. IP기반으로 ..

    [AWS] AWS 3tier Architecture 구성 7. 오토스케일링

    web, was, db는 전부 연결이 정상적으로 된 것이 확인되었으니 nginx, tomcat을 활용하여 원하는 웹 페이지를 꾸미면 된다. 이번 장에서는 오토스케일링을 할 것이다. 오토스케일링을 하려면 우선 시작 템플릿이 무조건 필요하다. 토폴로지에 나온 것 처럼 Web서버와 Was서버에 오토스케일링 설정을 할 것이다. 1. 시작 템플릿 생성 생성 했으면 was서버도 똑같이 하면 된다. 2. 오토스케일링 그룹 생성 3. 오토스케일링 테스트 오토스케일링 생성이 확인되었으면 원래 있던 인스턴스는 있어도 되고 없어도 된다. 만들어진 웹 서버에 들어가서 cpu부하를 주자 # Amazon Linux 2023 yum -y install stress stress -c # 코어 수를 정하면 해당 코어 개수에 100% ..

    [AWS] AWS 3tier Architecture 구성 6. 로드밸런서 생성

    로드밸런서는 네트워크 트래픽을 여러 대의 서버에 분산시켜 부하를 균형화하는 역할을 한다. 또한 외부에서 일반적으로는 접속하지 못하는 private subnet 속에 있는 서버로 접속할 수 있게 해주는 역할도 한다. 다양한 로드밸런서가 있으며 이를 통틀어서 ELB라 하고 보통 웹사이트를 운영할 때는 ALB를 사용한다. 우선 로드밸런서를 생성하기 전에 각 서버에서 실행할 패키지를 먼저 설치하자. web 서버에서는 nginx를 설치할 것이고 was 서버에서는 Tomcat9을 설치할 예정이다. 1. web서버에 nginx 설치 sudo yum -y update sudo yum -y install nginx sudo systemctl start nginx sudo systemctl enable nginx sudo..

    [AWS] AWS 3tier Architecture 구성 5. RDS서버 생성

    RDS서버는 서버 생성 시 EC2인스턴스처럼 주소가 나오는 것이 아닌 도메인 형식의 엔드포인트 주소만 나오게 된다. 이전 단계에서 만든 DB인스턴스에서 RDS서버의 엔드포인트 주소로 연결을 하여 데이터를 관리해야 한다. 1. RDS 생성 인스턴스와 다르게 5~10분 정도 있다가 생성이 된다. RDS 생성 말고도 RDS와 관련된 활동은 대부분 시간이 꽤 걸리는 편이다. 2. 읽기 전용 복제본 생성 데이터가 많아져서 속도가 느려질때 읽기 전용 복제본으로 읽기 속도를 높일 수 있다. rds 생성과정과 동일하므로 굳이 과정을 넣지는 않겠다 3. DB서버에서 MySQL 설치 sudo apt-get update sudo apt install net-tools sudo apt-get install -y mysql-s..

    [AWS] AWS 3tier Architecture 구성 4. 인스턴스 생성

    인스턴스는 A가용영역에 있는 4개의 인스턴스가 필요하다. C가용영역에 있는 인스턴스는 지금 만드는 것이 아닌 오토스케일링으로 만드는 것이다. Bastion - ssh를 이용하여 private subnet에 있는 서버에 접속하기 위한 서버 Web - 웹페이지를 나타내는 서버 Was - 데이터 처리를 담당하는 서버 DB(RDS) - 데이터베이스 서버 아래에 적힌 AMI파일은 필자가 해당 OS로 생성을 했을 때 그 서버에 필요한 패키지 파일의 설치가 수월하게 된 OS이며 타 OS에서도 잘 설치할 수만 있다면 다른 것을 골라도 무관하다. 1. Bastion AMI : Amazon Linux 2023 Instance type : t2.micro(free tier) Key pair : .ppk 파일로 생성(putt..

반응형