대규모 인프라 배포 및 관리
CloudFormation
- 리소스에 대해 인프라의 윤곽을 구분짓는 선언적 방법(이렇게 선언하면 만들어진다)
- 보안그룹이 필요
- 보안그룹을 사용할 ec2 인스턴스가 2개 필요
- s3 버킷
- 모든 머신에 로드밸런서가 필요
- 이러한 것들을 자동으로 생성하며 사용자가 정한 순서와 구성 그대로 따른다
CloudFormation의 장점
Infrastructure as code
- 인프라가 코드라는 점, 수동으로 리소스를 만들 필요가 없다
- 클라우드의 작동방식을 변경할 때마다 코드 리뷰를 통해 검토한다
Cost
- 스택내의 각 리소스는 만들어진 다른 리소스들과 비슷하게 태그된다
- 리소스 비용을 쉽게 예측 가능
- 절약 전략을 세울 수도 있다
Productivity
- 그때그때 파괴하고 다시 만들 수 있다
- 템플릿을 위한 다이어그램도 만들 수 있다
- 선언적 프로그래밍도 가능 (순서를 고민할 필요가 없으며, 어떻게 순서대로 동작시켜야하는지 알고있다)
- 하나하나 다 만들지 않고도 웹 상의 존재하는 기존 템플릿을 통해 만들 수도 있다
- 지원되지 않는 리소스에 대해서는 커스텀 리소스로 사용할 수 있다
CloudFormation Stack Designer
- WordPress CloudFormation Stack
- 다이어그램도 만들어주고 구성 요소들 사이의 관계를 만들어준다
- 모든 리소스의 관계를 볼 수 있다
- 코드형 인프라가 있을 때 사용
- 아키텍쳐를 다른 환경, 다른 리전, 다른 AWS 계정에서 반복해야할 때 사용
CloudFormation 실습
- 스택(AWS 리소스를 모은 틀)을 만든다음 스택 템플릿을 제공해야한다
---
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: us-east-1a
ImageId: ami-a4c7edb2
InstanceType: t2.micro
Amazon SES(Simple Email Service)
- 완전 관리형 서비스로 이메일을 전 세계 대규모로 안전하게 보내는 방법
- SES APIs 혹은 SMTP 방식으로 전송해야한다
- 아웃바운드/인바운드 이메일도 허용하기 때문에 답장을 주고받을 수 있다
- 이메일을 열었는지, 스팸 방지 피드백을 제공하기도 한다
- 이메일 통계도 제공하며 최신 보안 기준인 DKIM과 SPF도 제공한다.
- 유연한 배포도 가능하며 특정 IP주소에 이메일을 보낼 수 있다
Amazon Pinpoint
- 확장 가능한 양방향 마케팅 커뮤니케이션 서비스
- Pinpoint를 통해 이메일, SMS, 푸시 알림, 음성, 인앱 메시지를 보낼 수 있다
- 메시지 세분화, 개인화가 가능하며 그룹이나 세그먼트를 만들 수 있다.
- 응답하거나 전송이 성공하면 스트림 이벤트로 구분도 가능하다
- SES와 SNS, Pinpoint의 차이
- SNS or SES는 각 메시지의 대상, 내용, 전달 일정을 관리해야한다
- Pinpoint는 메시지 템플릿, 전달 일정을 만들지 않고도 설정이 가능하다
- SAS 및 SES의 차세대 제품이라고 생각하면 된다
System Manager - SSM Session Manager
- ec2 인스턴스와 온프레미스 서버에서 보안 셸을 시작할 수 있다
- ssh 엑세스나 bastion hosts, ssh 키가 필요 없다
- 포트 22는 닫힌다 → 보안이 더 낫다
- 세션 관리자를 통해 ec2 인스턴스에 엑세스가 가능하다
- 리눅스, Mac, Windows 지원
- 세션 로그 데이터를 s3 혹은 CloudWatch Logs로 보낼 수 있다
System Manager에 있는 다른 서비스들
Run Command
- 명령을 실행시키는 것 → 문서를 실행하는데 사용된다(스크립트 또는 명령 한개)
- 이런 명령들은 리소스 그룹(시스템 관리자 서비스에 등록된 ec2 인스턴스나 온프레미스 서버)을 사용하는 여러 인스턴스에서 실행
- 명령을 실행할 때 SSH가 필요 없으며, 단순히 에이전트를 통해 실행된다
- 명령의 결과는 모두 S3 또는 CloudWatch 로그로 보내진다
- 실패, 성공, 진행 중같은 모든 업데이트 사항을 SNS로 전송 가능
- IAM과 CloudTrail과 통합
- EventBridge로 실행 명령을 직접 동작 가능
Patch Manager
- 인스턴스 관리 과정 패칭을 자동화.
- 운영체제, 애플리케이션, 보안 업데이트 등을 적용하는데 사용.
- ec2 인스턴스와 온프레미스 환경과 리눅스 맥 윈도우os를 모두 지원.
- 유지 관리 기간을 적용해 패치 일정을 잡을 수도 있다.
- 인스턴스를 스캔하여 패치 규정 준수를 확인할 수도 있다
패치 관리자 호출 → 인스턴스 패치 → 패치 보고서 조회 가능
Maintenance Windows
- 인스턴스에서 작업을 수행할 일정을 정의하는데 사용
- OS 패치, 드라이버 업데이트, 소프트웨어 설치 등등..
- 스케줄, 기한, 유지 관리 기간, 유지 관리 기간동안 실행될 작업
Automation
- 명령 유지 관리 및 배포 작업을 단순화하는데 사용
- 인스턴스를 한번에 다시 시작
- AMI를 생성하거나 EBS 스냅샷을 생성하는 작업
- Automation Runbook도 있으며 ec2 인스턴스 또는 AWS 리소스에 동일한 문서로 표시된 미리 정의된 작업이다
- 콘솔, SDK, AWS CLI or SDK, EventBridge, AWS Config 등을 통해 트리거 가능
AWS Cost Explorer(비용 탐색기)
- 비용 및 시간에 따른 사용량을 시각화하고 이해하며 관리하는데 사용된다
- 사용자 정의 보고서를 생성해 비용과 사용량 데이터를 분석 가능
- 대시보드와 도면도 얻을 수 있다
- 데이터 분석도 가능(총비용 및 사용량)
- 월별, 시간별 리소스 세부 단위로 볼 수도 있다
- 최적의 절감형 플랜을 찾을 수 있고 사용량 기반 비용 계획에 큰 도움이 된다
- 과거 데이터를 통한 청구서 비용에 대한 예측도 가능
Amazon Elastic Transcoder
- s3에 저장된 미디어 파일을 소비자 재생 장치에서 필요한 형식의 미디어 파일로 변환하는데 사용
- 확장성이 높고 더 많은 파일이 있을 수록 더 많은 처리능력을 갖게 된다
- 트랜스코딩한 시간만큼만 지불.
- 파일을 변환하기 위해 ec2 인스턴스에 돈을 쓸 필요가 없다
- 입력 버킷 → transcoding pipeline → 출력 버킷 → 스마트폰, 테블릿 등등..
AWS Batch
- 완전 관리형 서비스로, 어떤 규모의 배치라도 처리할 수 있다
- aws에서 수십만 개의 컴퓨팅 배치 작업을 매우 쉽고 효율적으로 실행할 수 있다
- Batch 작업에는 시작과 끝이 있다 → 따라서 Batch는 동적으로 ec2 인스턴스 또는 스팟 인스턴스를 실행시켜 시작하고 종료된다
- 배치 대기열을 처리할 수 있도록 적절한 양의 컴퓨팅 및 메모리를 프로비저닝한다
- 배치 대기열에 올리거나 예약만 하면 Batch 서비스가 알아서 시작한다
- 배치작업은 도커 이미지와 ECS 서비스에서 실행되는 작업 정의로 ECS에서 실행되면 배치에서도 실행될 수있다
- 배치작업을 Batch 서비스로 시작하면 스팟인스턴스나 ec2 인스턴스의 적절한 수를 자동으로 조절해주며 비용 최적화와 배치작업에만 집중할 수 있다
Batch vs Lambda
- ec2인스턴스에 의존하므로 시간제한 X ↔ 람다는 15분의 시간제한이 있다
- 도커이미지로 패키징하는한 런타임, 언어 제약이 없다 ↔ 런타임 제약이 있다
- ec2인스턴스와 함께 제공되는 스토리지(EBS 등)을 사용 ↔ 디스크 공간이 제한되어있다
- 관리형 서비스지만 ec2인스턴스는 신경 쓸 필요는 없음 ↔ 서버리스
Amazon AppFlow
- SaaS 애플리케이션 및 AWS 사이에 데이터를 전송할 수 있는 완전 관리형 통합 서비스
- Source : Salesforce, SAP, Zendesk, Slack, ServiceNow
- Destination : Amazon S3, Amazon Redshift 혹은 Non AWS 서비스(SnowFlake, Salesforce)
- 일정에 따라 특정 이벤트에 대한 응답 또는 주문형으로 통합되도록 정의
- 필터링 유효성 검사와 같은 데이터 변환 가능
- 공용 인터넷을 통해 암호화 하거나 PrivateLink를 사용하여 비공개 전송도 가능
- 만들지 않고도 AP를 활요하여 게정 내에서 바로 데이터를 사용할 수 있다
'TIL > AWS' 카테고리의 다른 글
AWS SAA-C03 문제풀이 (0) | 2023.07.11 |
---|---|
AWS 백서 (0) | 2023.06.20 |
AWS 더 많은 솔루션 아키텍쳐 (0) | 2023.06.19 |
AWS 재해복구와 마이그레이션 (1) | 2023.06.17 |
AWS 네트워킹 - VPC (0) | 2023.06.17 |