실습0. 사전 준비

실습 소개

본격적인 Lab 시작에 앞서 구성에 필요한 IAM User, EC2, S3를 생성 및 구성합니다.


IAM User 생성

Lab 전체에서 사용할 IAM User를 생성합니다.

  1. AWS Management Console에 로그인 한 뒤 IAM 서비스에 접속합니다.

  2. 왼쪽 메뉴에서 Users를 선택합니다. image01

  3. Add user 버튼을 클릭하여 사용자 추가 페이지로 들어갑니다.

  4. User name<원하는 사용자 이름> 을 입력하고, Access typeProgrammatic accessAWS Management Console access 둘 모두를 선택합니다. Console password<원하는 패스워드>를 입력하고, 마지막 Require password reset의 체크는 해제합니다. image02 image03

  5. Next: Permissions 버튼을 클릭하고 Attach existing policies directly를 선택한 뒤 AdministratorAccess 권한을 추가해줍니다. image04

  6. Next: Review 버튼을 클릭하고 정보를 확인한 뒤 Create user 버튼을 클릭하여 사용자 생성을 완료합니다. image05

  7. Download.csv 버튼을 클릭하여 생성한 사용자의 정보를 다운 받습니다. EC2 설정에 꼭 필요한 파일이므로 기억하기 쉬운 위치에 저장합니다. image06

  8. AWS Management Console에 로그인 한 뒤 IAM 서비스에 접속합니다.

  9. 왼쪽 메뉴에서 Roles를 선택합니다. 상단의 Create role 버튼 클릭하여 role 생성 page로 들어갑니다. image9-1

  10. AWS service 선택, EC2 service 를 선택 합니다. Next: Permissions를 선택합니다. image10-1

  11. Filter에 “SSM” 을 입력하고, AmazonEC2RoleforSSM를 선택합니다. Next:Tags 버튼을 클릭해서 tags 입력 부분으로 들어가서, Next:Review 버튼을 클릭합니다. image11-1

  12. Role name에는 EC2RoleforSSM을 입력하고, Create role 버튼을 클릭합니다. image12-1

EC2 생성

Lab에서 데이터를 실시간으로 발생시킬 EC2 인스턴스를 생성합니다.

  1. AWS Management Console에서 EC2 서비스에 접속합니다.
  2. 우측 상단에서 Region은 **미국 동부(버지니아 북부)**를 선택합니다.
  3. Launch Instance를 선택하여 새로운 인스턴스 생성을 시작합니다. image07
  4. Step 1: Choose an Amazon Machine Image (AMI) 화면에서 Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-0761dd91277e34178 를 선택합니다. image08
  5. Step 2 : Choose an Instance Type 화면에서 인스턴스 타입은 t2.micro를 선택합니다. Next: Configure Instance Details 을 클릭합니다. image09
  6. Step 3: Configure Instance Details 화면에서 IAM role에서 미리 생성한 EC2RoleforSSM을 선택 합니다. image7-2
  7. Step 3: Configure Instance Details 화면에서 Advanced Details을 클릭하고 아래 userdata를 복사하여 붙여 넣습니다.
#include
https://s3.amazonaws.com/immersionday-bigdata-v20180731/userdata.sh

image10 8. Step 4: Add Storage 화면에서 기본값을 그대로 두고 Next: Add Tags를 클릭합니다. 9. Step 5: Add Tags 화면에서 Add Tag 버튼을 한 번 클릭한 뒤, Key/Value : Name/AnalyticsStream 를 입력하고 Next: Configure Security Group 을 클릭합니다. image11 10. Step 6: Configure Security Group 화면에서 Security Group에 필요한 정보를 입력한 후 Review and Launch를 클릭합니다. * Security Group Name : bastion * Description : SG for bastion * Type : SSH * Protocol : TCP * Port Range : 22 * Source : 0.0.0.0/0 image12 11. Step 7: Review Instance Launch 화면에서 Launch를 클릭합니다. 12. EC2 Instance에 접속하기 위한 Key pair를 생성합니다. Create a new key pair를 선택하고 Key pair nameanalytics-hol 을 입력한 후 Download Key Pair를 클릭합니다. image13 13. Key PairPC의 임의 위치에 저장한 후 Launch Instances를 클릭합니다. (인스턴스 기동에 몇 분이 소요될 수 있습니다.) image14 14. (MacOS 사용자) 다운로드 받은 Key Pair 파일의 File Permission400으로 변경합니다.

$ chmod 400 ./analytics-hol.pem
$ ls -lat analytics-hol.pem
-r-------- 1 ****** ****** 1692 Jun 25 11:49 analytics-hol.pem

EC2 설정 - System manager (seesion manager를 통해 ec2 ssh 접속)

생성한 EC2 인스턴스가 다른 AWS 리소스에 접근 및 제어할 수 있도록 다음과 같이 구성합니다.

  1. AWS Management Console에서 Systems Manager 서비스에 접속합니다.
  2. 왼쪽 하단의 Session Manager 를 선택 합니다. image2-3
  3. Session manager console에서 Start session 버튼을 클릭합니다. image2-4
  4. 앞에서 생성한 AnalyticsStream instance를 선택하고, 하단의 Start session 버튼을 클릭합니다. image4-3
  5. instance session에 들어가서 /home/ec2-user/ 에 있는 3개의 files을 /home/ssm-user/ 로 copy 합니다.
sudo cp /home/ec2-user/redshift.py /home/ssm-user/

sudo cp /home/ec2-user/firehose.py /home/ssm-user/

sudo cp /home/ec2-user/banking_loss.csv /home/ssm-user/

image5-3

  1. User Data를 통해 3가지 파일(banking_loss.csv, firehose.py, redshift.py)이 잘 다운로드 받아졌는지 확인합니다.
ls /home/ssm-user/

image6-3

  1. AWS의 다른 리소스 접근을 위해 AWS Configure를 진행합니다. 이때 앞서 생성한 IAM User 데이터를 활용합니다. 이전에 다운로드 받은 .csv 파일을 열어 Access key ID와 Secret access key를 확인하고 입력합니다. region은 us-west-2 로 입력 합니다.
aws configure
AWS Access Key ID [None]: <Access key ID>
AWS Secret Access Key [None]: <Secret access key>
Default region name [None]: us-west-2
Default output format [None]:

image7-3

  1. 설정이 완료 되었다면, aws configure list 로 다음과 같이 입력하신 정보가 마스킹 되어 보이게 됩니다.
aws configure list

image8-3

S3 Bucket 생성

발생한 실시간 데이터를 저장할 S3 Bucket을 생성합니다.

  1. AWS Management Console에서 S3 서비스에 접속합니다.
  2. Create bucket 버튼을 클릭하고 다음과 같은 정보를 입력한 뒤 Create 버튼을 클릭하여 bucket을 생성합니다.
   
Bucket name analytics-workshop-[개인식별자] (예 : analytics-workshop-foobar)
Region 버지니아 북부 (us-east-1)
그 외 default

실습0이 완료 되었습니다, 실습1을 진행해 주세요^^