본문 바로가기

AWS135

[AWS WAF] #1 사전 리소스들과 WAF 구성 목차 1. 사전 리소스 구성 2. 만들어진 DVWA 확인 3. WAF Web ACL 구성 1. 사전 리소스 구성 위 템플릿 파일을 다운받아 CloudFormation 스택을 생성해보자 인스턴스 타입과 VPC 대역은 변경 가능하다 디폴트값으로 진행했을 때 생성되는 리소스들은 아래와 같다 준비된 환경에 WAF까지 구현한 아키텍처는 다음과 같다 2. 만들어진 DVWA 확인 스택 배포로 생성된 ALB의 DNS로 접속해보면 DVWA의 로그인 페이지로 접속된다 초기 ID : admin / 비밀번호 : password 왼쪽의 메뉴들 중 DVWA Security 탭으로 이동해 Security Level을 Low로 설정한 후 Submit을 해주자 취약점을 공격하기 쉬운 단계로 낮추는 것이다 (레벨별로 공격하는 방법이 다.. 2021. 2. 25.
[AWS WAF] #0 실습 전 준비 AWS 공식 WAF 실습을 진행해보겠다 먼저 WAF란? HTTP(S) 요청을 모니터링하고 보호하는 웹 애플리케이션 방화벽 특정 공격 패턴(SQL Injection, XSS 등)을 차단, 특정 트래픽 패턴을 필터링 등을 할 수 있다 차단된 요청에 대해선 HTTP 403 코드로 응답한다 비용은 사용한 만큼 : 배포한 규칙 수와 애플리케이션이 수신한 웹 요청 수 기준 WAF 배포 가능한 리소스 : CloudFront, ALB, API Gateway, AppSync DVWA란? Damn Vulerable Web Application PHP와 MySQL로 만들어진 웹의 취약점에 대한 공격 및 방어 기술 교육에 사용되는 오픈소스 애플리케이션 더보기 https://dvwa.co.uk/ https://github.co.. 2021. 2. 25.
[AWS] VPN과 TGW, VGW, CGW (+TGW cost) 이전에 Transit Gateway와 VPC Peering에 대한 글을 쓴 적이 있다 하지만 Transit Gateway(이하 TGW)는 VPC 뿐 아니라 VPN을 엔드포인트로 연결할 수 있어 전체적인 아키텍처에서 라우터같은 느낌이다 이번 글에서는 온프레미스 - AWS VPC를 VPN으로 연결하는 방법 중 TGW를 사용하지 않을 때와 사용할 때로 나눠서 알아보겠다 VPN(Virtual Private Network)이란? 그냥 온프레미스 장비랑 연결하기 위해 뚫는 터널이다 이 때, 온프레미스 장비 앞에는 Customer Gateway(이하 CGW)가 있어야 한다 근데 CGW는 사실 장비 정보를 적어놓은 리소스일 뿐 실제 연결을 CGW를 통해서 한다는가 하는 게이트웨이 느낌은 아니다. 그저 CGW에 적어놓은.. 2021. 2. 4.
[AWS] Lambda로 EC2 Start/Stop + CloudWatch 규칙으로 트리거 >> Lambda 코드만 모아둔 GitHub 0. 기본 구성 기본 VPC에 EC2 2개 만들어놓고 진행하겠다 EC2 인스턴스 id들은 복사해두자 1. IAM 정책 생성 Lambda 함수에서 EC2를 시작/중지 시킬 수 있는 role을 만들어야 하기 때문에 정책을 먼저 만들어주겠다 IAM > 정책 > 정책 생성 > JSON으로 들어가 아래의 코드로 변경 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow".. 2021. 1. 19.
[AWS] Transit Gateway 사용해보기 (+ VPC Peering과 다른 점) 서로 다른 VPC에서 사설 IP로 통신을 하기 위해선 VPC 피어링을 사용하면 된다 그러나, 두세개 정도가 아닌 훨씬 많은 VPC들을 전부 연결해주려면 너무 복잡하고 일이 많아진다 이럴 땐 Transit Gateway를 쓰면 한번에 라우팅을 관리할 수 있다 이러면 사실 VPC Peering을 왜 쓰냐고 할수도 있을텐데, Transit Gateway는 비싸다(...) 아무튼 Transit Gateway를 만들어보기 위해 VPC를 5개정도 만들어보겠다 스택을 생성할 때 마다 MainNumber만 알아서 다르게 해주면 자동으로 그에 맞는 VPC와 Subnet, EC2들이 생성된다 1. VPC 생성 아래와 같이 MainNumber 파라미터만 다 다르게 해서 생성해주자 2. 리소스 확인 Bastion 중 아무나에.. 2021. 1. 18.
[AWS CloudFormation] #7 Auto Scaling Group 만들기 ( + Launch Configuration, ALB ) >>진행한 실습 GitHub 이 실습은 아래 파일로 이미 생성된 vpc와 ec2를 가지고 진행된다 이 파일의 Fn::Select 함수와 Fn::GetAZs 함수는 공식문서로 확인해보자 만들어진 EC2는 웹으로 접속하면 이런 화면이 뜬다 (위 버튼들로 부하를 주고 꺼서 오토스케일링을 확인할 예정 - 해당 php 파일도 깃헙에 있음) 이 EC2의 AMI를 따서 만들어놓은 후 ASG를 진행하도록 하겠다 (AMI를 뜨는것도 CloudFormation으로 해보려 했는데 찾지 못했다ㅜ) 1. Parameter Parameters: Key: Description: KeyPair Type: AWS::EC2::KeyPair::KeyName VPC: Description: VPC Type: AWS::EC2::VPC::Id.. 2021. 1. 8.
[AWS CloudFormation] #6 IAM User, Policy 생성 >>진행한 실습 GitHub 1. IAM User 바로 만들기 AWS::IAM::User Resources: AdminUser: Type: AWS::IAM::User Properties: LoginProfile: Password: P@ssw0rd Policies: - PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: '*' Resource: '*' PolicyName: Admin UserName: Admin1 AdministratorAccess의 정책을 가져와봤다 2. IAM Policy를 만들어서 User에 붙이기 AWS::IAM::Policy Resources: AdminUser: Type: AWS::IAM::User Pro.. 2021. 1. 6.
[AWS CloudFormation] #5 RDS 생성하기 (for MySQL) >>진행한 실습 GitHub 기존 ec2 만든 실습에서 연장해서 진행했는데, VPC의 구성을 좀 바꿔야 했다 RDS는 서브넷 그룹을 만들어서 지정해야 하는데, 서브넷 그룹은 2개 이상의 가용영역의 서브넷들이 존재해야 한다 그래서 private subnet을 하나 더 만들어주고, 그에 맞게 parameter도 바꿔주었다 Parameters: AZprivate1: Description: AvailabilityZone for private Type: AWS::EC2::AvailabilityZone::Name AZprivate2: Description: AvailabilityZone for private Type: AWS::EC2::AvailabilityZone::Name PrivateSubnet1Cidr: D.. 2021. 1. 6.
[AWS CloudFormation] #4 mapping 사용하기 (EC2 AMI) >>진행한 실습 GitHub ec2 만든 실습에서 ami를 설정하는 부분을 좀 고쳐보겠다 지난번엔 파라미터만 사용해서, 디폴트 값이 있지만 다른 ami를 원하면 직접 복사해서 넣어야했다 이번엔 매핑을 사용해 Linux2 또는 Windows 2019 Base 둘 중 하나를 선택하면 해당 리전에 맞는 ami가 자동으로 설정되도록 해보겠다 Mappings: RegionMap: us-east-1: Linux2: ami-0be2609ba883822ec Window2019: ami-0229f7666f517b31e us-east-2: Linux2: ami-0a0ad6b70e61be944 Window2019: ami-0d5b55fd8cd8738f5 us-west-1: Linux2: ami-03130878b60947df.. 2021. 1. 6.
[AWS CloudFormation] #2 파라미터 사용하기 (VPC 구성) >>진행한 실습 GitHub VPC 만들었던 실습을 좀 고쳐서 사용해보겠다 전에 만든 yaml 파일은 cidr과 리전, 가용영역이 고정되어 있기 때문에 재사용성이 떨어진다 -> Parameter를 사용해보자 Resources 섹션 위에 Parameter 섹션을 만들어서 CIDR블럭과 가용영역을 설정해주겠다 Parameters: AZpublic: Description: AvailabilityZone for public Type: AWS::EC2::AvailabilityZone::Name AZprivate: Description: AvailabilityZone for private Type: AWS::EC2::AvailabilityZone::Name VPCCidr: Description: Cidr Block.. 2021. 1. 5.
[AWS CloudFormation] #0 실습 전 개념 정리 CloudFormation이란? AWS 리소스들을 자동으로 생성해주는 IaC도구 AWS 구성을 재사용하기 쉽게 코드로 작성해두는 것 Ansible과의 차이점 Ansible은 리소스 구성을 넘어서 서버 운영까지 자동화 : DevOps에 더 가까움 CloudFormation은 리소스 구성만 하는 말 그대로의 IaC 작동 방법 템플릿 작성 -> 템플릿 업로드 -> 스택 생성 -> 스택 설정 및 리소스 생성 리소스 구성들을 코드화한 템플릿을 작성하여 해당 템플릿으로 스택을 생성하면, 자동으로 리소스들이 생성된다 템플릿은 JSON 또는 YAML 형식으로 작성된다. 여기선 YAML 형식으로 진행하도록 하겠다 템플릿 구조 공식 문서 참조 1) AWSTemplateFormatVersion (포맷 버전) 템플릿의 기능을.. 2021. 1. 4.
[Chaos Engineering] 카오스 엔지니어링 in AWS 먼저 카오스 엔지니어링이란 무엇인가? 서비스를 운영하면, 장애(Failure)와는 필연적으로 마주치게 된다 장애는 항상 언제 어디서든 일어날 수 있기 때문에, 장애가 일어나더라도 빨리 복원하거나 고객들이 알아채지 못하는 인프라를 구성하는 것이 중요하다 카오스 엔지니어링(Chaos Engineering)은 시스템이 각종 장애들을 견딜 수 있는지를 테스트하기 위해 분산 시스템을 실험하고 배우는 분야이다 통제된 환경에서 의도적으로 구성된 실험을 통해 잠재적인 문제를 선제적으로 발견하는 것이 목표 실제 프로덕션 환경에서 장애를 주입(Failure Injection)해 약점을 식별하고, 장애를 미리 탐지할 수 있는 복원성 높은 아키텍처를 만들어내야 한다 벨만 울리는 화재 비상 대피 훈련이 아닌, 실제로 화재를 일.. 2020. 12. 21.
[AWS] AWS Cloud Shell linux 기반의 클라우드 쉘이다 콘솔에서 서비스 > Cloud Shell을 검색해 들어갈 수 있다 아직 서울은 지원하지 않는다 시작하면 나오는 화면 오른쪽 상단의 Actions을 눌러보면 여러 기능들도 있다 아무 파일을 하나 upload 해보겠다 1GB까지만 된다고 한다. 아무튼 업로드를 하니 업로드가 잘 된다 검색창 옆의 아이콘을 눌러도 바로 CloudShell로 들어갈 수 있다 끝 2020. 12. 21.
[AWS] AWS 주요 ML 서비스들 정리 Amazon SageMaker (완전관리형) 완전관리형 ML서비스 Amazon SageMaker 서비스들 정리 [AWS] 완전관리형 ML서비스 Amazon SageMaker 서비스들 정리 Amazon SageMaker란? 모든 개발자 및 Data Scientist들이 ML(Machine Learning) 모델을 빠르게 구축, 훈련 및 배포할 수 있도록 하는 모듈식의 완전 관리형 서비스 사용 서비스들 ML 모델 "준비" Part Amazon Sa.. honglab.tistory.com Amazon Polly (텍스트 -> 음성) 텍스트를 생생한(실제 말하는것 같은) 음성으로 변환하는 서비스 고급 딥러닝 기술을 사용해 자연스러운 사람의 음성을 합성함 Amazon Polly Brand Voice 를 사용해서 .. 2020. 12. 10.
[AWS] 완전관리형 ML서비스 Amazon SageMaker 서비스들 정리 Amazon SageMaker란? 모든 개발자 및 Data Scientist들이 ML(Machine Learning) 모델을 빠르게 구축, 훈련 및 배포할 수 있도록 하는 모듈식의 완전 관리형 서비스 사용 서비스들 # ML 모델 [준비] Part Amazon SageMaker Ground Truth AI가 예측을 하려면 수많은 데이터에 라벨링 작업을 해야 한다 이는 노가다성이 굉장히 짙고 시간이 오래걸린다 -> Ground Truth로 자동화 ML을 위한 고도로 정확한 훈련 데이터 세트를 손쉽게 구축할 수 있게 해주는 완전관리형 데이터 레이블링 서비스 Amazon SageMaker Data Wrangler (NEW) ML 위한 데이터 전처리 시간 단축(데이터 특성 파악, 가공 및 집계) 데이터를 가져오기.. 2020. 12. 8.