분류 전체보기 139

AWS Cloudformation을 활용한 인프라 구성

IaC IaC란 Infrastructure as a Code의 약자로 IT 서비스를 위한 시스템을 구성할 때 수동으로 구성하는 대신 shell 기반 스크립트를 사용하여 컴퓨팅 인프라를 구성하는 기술이다. Ansible, Puppet, Chef, Cloudformation, Terraform, SALTSTACK 등이 이에 해당된다. CloudFormation Amazon Web Service 리소스를 모델링하고 설정하여 관리 시간을 줄이고, AWS에서 실행되는 애플리케이션에 더 많은 시간을 사용하도록 해주는 IaC 기반의 구성 조정 도구이다. 템플릿을 작성하면 CloudFormation이 리소스를 프로비저닝 및 구성한다. JSON, YAML을 사용하여 템플릿 작성 추가 요금 없이 리소스에 대한 사용 비용만..

AWS 2021.07.06

Datadog을 활용한 클라우드 통합 모니터링

Datadog의 정의 APM, log, Infrastructure를 통합적으로 모니터링하고 관리하는 클라우드 모니터링 솔루션 여러 클라우드 환경에서 이곳저곳 산재되어 있는 클라우드 리소스들을 통합적으로 모니터링이 가능하다. Datadog는 hybrid-cloud 환경에서의 서버, 컨테이너, 애플리케이션, 서비스 등에 대해 end-to-end 가시 성을 제공하는 DevOps 환경을 위한 모니터링 및 분석 서비스이다. Datadog 사용시 이점 역동적으로 신시간 변화하는 클라우드 인프라 환경에 적합 단순하고 직관적으로 사용 가능한 플랫폼 개발자, 운영팀, 비즈니스 유저간 긴밀히 협업하기에 최적화된 플랫폼 고객사들의 복잡 다단한 요구조건들을 맞춰줄 수 있는 플랫폼 모든 클라우드 방식과 연계 가능한 유연한 플랫..

Monitoring 2021.07.06

AWS Cognito로 사용자 인증이 가능한 서버리스 웹 어플리케이션 구축 (4) API Gateway로 RESTful API 배포

1편: AWS Amplify를 활용한 정적 웹 사이트 호스팅 https://cumulus.tistory.com/16 2편: AWS Cognito 구축 https://cumulus.tistory.com/19 3편 AWS Lambda 와 DynamoDB로 서버리스 백엔드 구축 https://cumulus.tistory.com/20 API Gateway - Amazon API Gateway를 생성하여 Lambda 함수를 RESTful API로 공개한다. - 퍼블릭에서 엑세스 가능한 API이다. - API는 Amazon Cognito userPool을 사용하여 보호된다. 즉 로그인한 사용자만 특정 API를 호출하여 기능을 사용할 수 있다는 뜻이다. 구축 방법 4.API Gateway로 RESTful API 배포..

AWS 2021.07.06

사용자 인증이 가능한 서버리스 웹 어플리케이션 구축 (3) AWS Lambda 와 DynamoDB로 서버리스 백엔드 구축

1편: AWS Amplify를 활용한 정적 웹 사이트 호스팅 https://cumulus.tistory.com/16 2편: AWS Cognito 구축 https://cumulus.tistory.com/19 구성도에서 AWS Lambda 및 DynamoDB의 역할 1. 사용자가 웹 서버의 기능(unicorn)을 요청하면 API Gateway에 의해 Lambda 함수가 트리거 된다. 2. 함수는 unicorn을 선택하고, DynamoDB 테이블에 요청을 기록한 후 디스패치된 unicorn에 대한 세부 정보를 프론트 엔드 어플리케이션에 반환한다. 구축 과정 3. AWS Lambda 와 DynamoDB로 서버리스 백엔드 구축 3.1 DynamoDB 테이블 생성 3.2 Lambda 함수를 위한 IAM 역할 생성 ..

AWS 2021.07.06

사용자 인증이 가능한 서버리스 웹 어플리케이션 구축 (2) AWS Cognito 구축

1편: AWS Amplify를 활용한 정적 웹 사이트 호스팅 https://cumulus.tistory.com/16 구성도에서 AWS Cognito의 역할 - 이 프로젝트에서는 회원 가입 및 로그인 페이지의 백엔드로써 AWS Cognito의 User Pool을 사용한다. 1. 사용자가 회원 가입 신청을 하면 AWS Cognito에서 확인 코드가 담긴 이메일을 해당 주소로 보내준다. 2. 사용자가 확인 코드를 확인하여 인증을 완료하면 로그인이 가능해진다. 3. 사용자가 로그인할 때 사용자 이름(또는 이메일)과 비밀번호를 입력한다. 4. 사용자가 로그인하면 JavaScript 함수가 AWS Cognito와 통신하여 SRP(Secure Remote Password) 프로토콜로 인증하고, 다시 JWT(JSON ..

AWS 2021.07.06

Python 복습 1일차 실습 문제 풀기

문제 1) 홍길동씨의 주민등록번호는 881120-1068234이다. 주민등록번호를 연월일(YYMMDD) 부분과 그 뒤의 숫자 부분으로 나누어 출력해 보자 a='881120-1068234' a='881120-1068234' b,c,d,e = a[0:2],a[2:4],a[4:6],a[7:] print(f'홍길동은 {b}년{c}월{d}일에 태어났고 주민번호 뒷자리는 {e}이다.') print("홍길동은 %s년%s월%s일에 태어났고 주민번호 뒷자리는 %s이다."%(b,c,d,e)) print('홍길동은 {}년{}월{}일에 태어났고 주민번호 뒷자리는 {}이다.'.format(b,c,d,e)) 문제 2) X 극장 영화 표는 11,000원 이고, Y 극장 영화 표는 9,500원 일 때 각각의 극장 수익이 X극장(5,..

Python 2021.07.05

Python 복습 1일차 기록

파이썬을 3월에 배웠었는데 그 이후로 사용한 적이 없어 많이 까먹은 상태이다. 오늘부터 꾸준히 복습하여 AWS boto3과 같은 곳에 파이썬을 활용할 수 있도록 실력을 키울 생각이다. 파이썬 복습은 혼자만의 필기 기록이므로 자세한 설명을 달지 않고 빠르게 복습할 예정이다. 어차피 파이썬을 활용하려면 기초 문법도 중요하지만 모듈쪽 개념과 실제 사용해보면서 익히는게 더 중요할 거 같기 때문에 문법은 빠르게 익힐 생각이다. """ 사칙 연산 """ a=2 b=4 print(a+b) # 더하기: 6 print(a-b) # 빼기: -2 print(a*b) # 곱하기: 8 print(a/b) # 나누기: 0.5 print(a%b) # a를 b로 나눴을 때 나머지: 2 print(a//b) # a를 b로 나눴을 때 ..

Python 2021.07.05

사용자 인증이 가능한 서버리스 웹 어플리케이션 구축 (1) AWS Amplify를 활용한 정적 웹 사이트 호스팅

AWS Cognito란? 유저 계정 관리 및 토큰 관리를 통한 자격 증명을 제공해주는 AWS 서비스이다. 사용자는 직접 ID와 비밀번호를 통해 로그인하거나 Facebook, Google 또는 Apple과 같은 타사를 통해 로그인할 수 있다. AWS Cognito 구성 요소 User Pool(사용자 풀): 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리 Identity Pool(자격 증명 풀): 사용자에게 기타 AWS 서비스에 엑세스할 수 있는 권한을 부여한다. 즉, AWS 내의 서비스에 접근하기 위한 토큰 생성 기능을 담당하며 토큰은 JWT 기반이다. 프로젝트 구성도 1. Client는 Web Browser를 사용하여 AWS Amplify의 정적 페이지를 요청한다. 2. Client가 회원가..

AWS 2021.07.05

AWS SES 사용 방법 및 구성

SES란? Smple Email Service의 약자로 Outbound만 가능한 AWS의 이메일 전송서비스이다. SES를 사용하는 목적은 회원들에게 프로모션 전송, 회원가입 시 이메일 확인 인증, 비밀번호 전송 등을 수행하기 위해서이며, 프리티어 기준 매일 2,000통을 보낼 수 있다. 이처럼 SES는 대량의 이메일을 발송하기에 적절한 서비스이며 발송한 이메일의 수와 데이터 전송에 대해 요금이 부과되기 때문에 저렴한 비용으로 이용이 가능하다. SES 사용 방법 1. 이메일 인증 Amazon SES를 사용하려면 보내는 이메일과 도메인을 등록하고 인증해야한다. SES는 등록된 이메일 주소에서만 메일을 보낼 수 있다. 2. Sandbox 나가기 SES를 사용하여 인증받지 않은 메일 주소로 이메일을 보내기 위해..

AWS 2021.07.05

SNS와 Lambda를 이용한 AutoScaling Group 인스턴스 EBS 스냅샷 생성

SNS란? 클라우드에서 손쉽게 알림 기능을 설정하고 작동 및 전송할 수 있는 AWS 서비스이다. 게시 - 구독 메시징 방식이며 Push 메커니즘을 사용하여 클라이언트에게 알림을 전달한다. 각 주제는 SNS 앤드포인트를 식별하는 고유한 이름을 가지기 때문에 게시자는 메시지를 게시하고 구독자는 알림을 받도록 등록이 가능하다. 구독자는 구독하는 주제에 게시된 모든 메시지를 수신하며, 특정 주제에 대한 알림은 모든 구독자가 동일하게 수신한다. 사용 사례 AutoScaling Group에 Scale in, Scale out과 같은 특정 변경 사항이 발생했을 때, 사용자가 알림을 받을 수 있다. SNS를 사용하여 구독자에게 이메일 또는 문자메시지로 특정 뉴스 헤드라인을 Push할 수 있다. 업데이트가 가능함을 알리..

AWS 2021.07.04