실습을 위해서 데이터를 주기적으로 생성하는 역할을 수행할 EC2 인스턴스를 생성합니다.

AWS Management Console의 UX도 지속적으로 혁신을 하고 있습니다.
좌측 상단의 New EC2 Experience를 활성화 해서 사용해 주세요.




#!/bin/sh
sudo yum -y install python-pip
pip install boto3
cd /home/ec2-user
wget https://s3.amazonaws.com/immersionday-bigdata-v20180731/banking_loss.csv
wget https://s3.amazonaws.com/immersionday-bigdata-v20180731/firehose.py
wget https://s3.amazonaws.com/immersionday-bigdata-v20180731/redshift.py
User data에 대한 정상 실행 여부는 아래와 같이 확인할 수 있습니다.
Amazon Linux 2 AMI 기준 /var/log/cloud-init-output.log 에서 user data가 실행된 로그를 확인할 수 있습니다.

Name 을 Value에는 big-data-lab 을 입력하고, 우측 하단의 Next: Configure Security Group 버튼을 클릭합니다.


| 구분 | 값 |
|---|---|
| Security Group Name | bastion |
| Description | SG for bastion |
| Type | SSH |
| Protocol | TCP |
| Port Range | 22 |
| Source | 0.0.0.0/ |
Step 7: Review Instance Launch 화면에서 우측 하단의 Launch 버튼을 클릭합니다.

EC2에 접속하기 위한 Key pair를 선택하라는 팝업 창이 열립니다. 화면과 같이 Proceed without a key pair 를 선택하고 하단의 체크박스를 체크합니다. 그리고 우측 하단의 Launch Instance 버튼을 클릭합니다.

이 실습에서는 Putty(Windows)나 Terminal(Mac)에서 Key pair를 이용해서 SSH로 접속하지 않습니다. 해당 인스턴스에 AWS EC2가 웹 브라우저에서 SSH로 접속할 수 있게 도와주는 Connect 기능을 이용해서 접속합니다.
AWS Management Console에 EC2 좌측 메뉴의 Instances를 선택한 화면에서 방금 생성한 EC2 인스터스의 체크박스를 선택 합니다. 그리고 화면의 Connect 버튼을 클릭합니다.

Connection method는 EC2 Instance Connect (Browser-based SSH connection) 옵션을 선택합니다. User name이 ec2-user 인지 확인하고 우측 하단의 Connect 버튼을 클릭합니다.

화면과 같이 웹 브라우저에 Amazon Linux 2 AMI 로 만들어진 EC2 인스턴스에 SSH로 연결된 것을 확인할 수 있습니다.
ls 명령을 통해서 화면과 같이 3개의 파일이 다운로드 되어 있는지 확인 합니다.
pip도 정상적으로 설치가 되어 있는지 pip --version 버전을 확인합니다.

EC2에 권한을 주기 위해서 IAM에서 만들었던 User의 Credential을 설정합니다.
aws configure 명령어를 실행합니다. 그리고 User를 생성하면서 다운로드한 Credential.csv 파일을 엽니다.
Access key ID 와 Secret access key 를 csv 파일 값을 복사하여 입력합니다.
Default region name은 ap-northeast-2 를 입력하고, Default output format 은 json 을 입력합니다.
설정이 완료되면 aws configure 명령어를 다시 실행합니다. 그리고 값이 정상적으로 들어가 있는지 확인합니다.
