Title : 완전 관리형 Beanstalk 예약 서비스
1. 가벼운 서비스 빈스톡
- 번거로운 일들을 한 번에 해결해줌
ex) 인스턴스(EC2) 및 OS 설치, 웹 어플리케이션 구성, 오픈스케일링 구성, 로드 밸런싱 구성, 업데이트 배포 및 버전관리, 모니터링 관리 설정
- AWS Elastic Beanstalk
ㄴ 애플리케이션을 업로드만 하면 빈스톡이 용량 프로비저닝, 로드밸런싱, 조정 및 애플리케이션 상태 모니터링에 대한 세부 정보를 자동으로 처리함
ㄴ Go, Java, .NET, Node.js, PHP, Python 및 Ruby로 개발된 애플리케이션 지원
- 빈스톡 구성
ㄴ 애플리케이션 : 애플리케이션을 만들고 하위에 환경 구성 가능
ㄴ 환경
- 어플리케이션
ㄴ 인스턴스의 논리적인 집합, 하위 어플리케이션 버전의 관리이며 재배포와 이전 버전으로 복원 가능
ㄴ 윈도우 폴더 개념과 유사함
- 환경
ㄴ EC2인스턴스, 로드 밸런서, 오토스케일링그룹, 보안 그룹의 집합체
ㄴ 어플리케이션내에서 환경을 서로 교환 가능함
- 빠르고 간편한 시작
- 개발자 생산성 향상
- 적절한 규모 유지
- 완벽한 리소스 제어
[ 실습 : 빈스톡 기반 초대장 이메일 받는 서비스 ]

실습 요약
- 빈스톡 소스코드 업로드
- 빈스톡 기반 웹 애플리케이션 확인
- 빈스톡 서비스 실행 권한을 위한 IAM 정책 설정
ㄴ 정책 생성 및 검토 (policy_for_beanstalk_mailing)
ㄴ 역할 생성 (aws-elasticbeanstalk-ec2-role)
ㄴ 권한 연결
- 빈스톡 기반 데이터 확인
- 다이나모DB 데이터 확인
- SNS 구독 설정
1. Beanstalk 애플리케이션 생성하기
- 서비스 - 컴퓨팅 - Elastic Beanstalk
- 오른쪽의 [Create Application] 버튼을 누른다.

- 그럼 아래와 같이 웹 앱 생성하는 페이지가 나온다.

- 수정한 부분들은 다음과 같다.
어플리케이션 이름 : BeansTalkMailingService
플랫폼 : Node.js
애플리케이션 코드 : 코드 업로드 후 소스 코드 오리진에서 파일 업로드
- 설정했다면 [애플리케이션 생성] 버튼을 눌러 넘어간다.



- 소스 코드는 아래 링크에서 파일을 다운 받아 업로드한다.
https://github.com/aws-samples/eb-node-express-sample/releases
- eb-node-express-sample-v1.1.zip
- 아래 화면은 생성 중 일 때의 화면이다.


- 생성이 끝나면 다음과 같은 화면을 보게 된다.

2. 정책 설정하기
- IAM 서비스로 이동한다.

- 정책 생성시 서비스는 DynamoDB, SNS를 선택했다.


- 정책 이름을 붙여주고 생성 버튼을 눌러 이동한다.

- 정책을 추가했다면 역할 탭으로 이동하여, aws-elasticbeanstalk-ec2-role 을 클릭하여 들어간다.
빈스톡 프로그램을 생성했다면 역할 탭에 뜰 것이다.

- 넘어간 페이지에서 정책연결 버튼을 누르고 만들었던 정책을 연결해준다.


3. 실행 확인하기
- 빈스톡 서비스로 이동 후, 생성한 애플리케이션 이름을 클릭한다.

- 그럼 이동한 페이지에 있는 URL을 클릭한다.

- 이동하면 다음 화면을 볼 수 있고, [Sign up today] 버튼을 눌러 가입한다.

- DynamoDB 서비스로 가서 테이블을 확인해보면 사용자가 생성하지 않았지만 자동으로 테이블이 만들어져 있는 것을 확인할 수 있다.

- 테이블의 항목을 확인해보면 아까 입력했던 유저의 이메일이 들어가 있다.

4. Amazon SNS : 이메일 구독 서비스
- Amazon SNS 서비스로 이동 후 주제 탭으로 이동한다.

- 해당 이름을 누른 뒤 뜨는 페이지에서 ARN을 복사해둔다.
ARN : arn:aws:sns:us-east-1:617504766734:awseb-e-dxffrsrwik-stack-NewSignupTopic-BY82W4PU7WBZ

- 구독 탭으로 이동해서 구독 생성 버튼을 누른다.

- ARN에는 복사해둔 ARN값을 넣고, 프로토콜은 이메일로 선택 후, 엔드포인트 이메일에는 구독 할 이메일 주소를 입력해 넣는다.

- 입력했던 이메일 계정에서 메일을 확인해보면 구독 확인 메일이 도착해있다.

- 구독을 컨펌 하겠다는 링크를 누르면 아래와 같은 화면을 보게 된다.

- 아까 빈스톡의 URL로 이동하여 다시 이메일서비스 등록을 하면, 방금 SNS 구독에 등록했던 이메일로 빈스톡에서 등록했던 유저의 입력내용을 이메일로 보내준다.
