SlideShare a Scribd company logo
AWS를 활용한 클라우드 기반 웹 개발

2주차
9. Jun. 2018
jongwon.han@hbsmith.io
1
발표자 소개
• 한종원
• Python과 Cloud Infra, Lean/Agile 방법론 그리고 애플의 제품을 사랑.
• 2012년 석사 학위를 마치고, startup을 시작

(이때부터 AWS를 production level에서 사용)
• '의미가 있는 일을, 올바르게 하고 싶다.'
• 경력
• (현) DevOps 전문 스타트업 ‘HB Smith’ 대표
• 택시 O2O 서비스 스타트업 ‘Kanizsa Lab’의 backend server / infra devops 담당
• Cloud computing 전문 스타트업 'A2 company' co-founder (‘KINX’에 인수합병)
• NEXON 'MapleStory 국내 Live Team'에서 DBA, SA로 근무 (산업 기능 요원)
2
https://www.linkedin.com/in/addnull/
https://hbsmith.io
“Startup 경력 = AWS 사용 기간”
강의 들어가기 앞서
• 이 강의는 총 5주차로 진행됩니다.
• 1, 2주차 강의는 한종원 강사가 3~5주차 강의는 윤제상 강사가 진행
• 질문은 강의 중간이라도 언제든지 환영합니다.
• 강의 대상은
• Cloud 에 대해서 처음 접하거나 아직 낯설은 분
• AWS 를 처음 사용해보거나 사용해보더라도 테스트 수준에서 써보신 분
• (필수) Linux, server, network, security에 대해서는 익숙하신 분
• (권장) 물리 서버를 운영해보신분. 개발 업무를 하시는 분
•
3
과금 확인
4
https://console.aws.amazon.com/billing/home
1주차 강의 내용 Remind
• 실습: AWS 계정 생성 및 활성화
• Cloud Computing 이해 및 특성
• Virtualization
• IaaS, PaaS, SaaS
• AWS 소개 및 차별점
• Region, Availability Zone, Edge Location
• 주요 3가지 서비스(EC2, S3, RDS) 소개
• AWS 생태계: AWS Partner Network, Marketplace
• AWS service portfolio
• 실제 사례 소개
• 실습: AWS 10분 자습서
5
Cloud Computing 이해 및 특성
6
‘Cloud Computing’ 이란 ?!?
• 나에게 Cloud Computing 이란?
7
‘Cloud Computing’ 이란 ?!?
• 여기서 '전산 자원’이란



server, storage, network 같은

물리 hardware 장비 뿐만 아니라



platform과 application이라는

software까지 포함
8
전산 자원들의 공유하는 기술과 도구의 집합
지금 당장은 안쓰는 자원(컴퓨터)을

빌려주고 돈을 받을 수 있을까?
9
빌려줄때 어디까지 빌려줘야할까?
10
피자를 먹는 네 가지 방법
11
피자를 먹는 네 가지 방법
• 음식점 피자: 돈만 있으면 OK!
• 배달 피자: 식탁과 돈 필요
• 냉동 피자: 전자렌지, 식탁, 돈 필요
• 홈피자: 집에서 AtoZ 모두 다 필요
•
12
피자를 먹는 네 가지 방법
• 음식점 피자:
• 배달 피자:
• 냉동 피자:
• 홈피자:
•
13
Software 통채로 대여
Platform 까지 대여
Infrastructure만 대여
Cloud 안 씁니다..
피자를 먹는 네 가지 방법
• 음식점 피자:
• 배달 피자:
• 냉동 피자:
• 홈피자:
•
14
Software 통채로 대여
Platform 까지 대여
Infrastructure만 대여
Cloud 안 씁니다..
피자를 먹는 네 가지 방법
• “그럼 AWS는 몇 번째 방법이지?”
15
세 가지(Infrastructure, Platform, Software)를 포함
빌리는 사람의 이득은?
16
왜 Cloud Computing 인가?
17
Hello, AWS
18
AWS 소개
19
LEGO 블럭처럼 여러 개의 AWS service들을 조합해서 나만의 Infra 구축
20
AWS Service의 3대장
21
EC2 RDSS3
2주차 강의 내용
• AWS Virtual Machine: EC2
• Virtual Machine 소개: EC2 instance, AMI
• Volume 이해: EBS, Snapshot
• Network 와 Security 이해: Security Group, EIP, Keypair
• Load Balancing 기능: (3가지 ELB) CLB, NLB, ALB
• EC2 Monitoring 소개: CloudWatch
• 실습(Amazon Linux AMI): HA 구성, scale-out
• AWS Full Managed RDBMS: RDS
• Full Managed RDBMS 소개: RDS
• RDS Aurora 소개: DB Cluster와 DB Instance
• Parameter Group / Snapshot / Read Replica
• RDS Monitoring 소개: CloudWatch
• RDS Aurora MySQL 실습: HA 구성, failover
22
2주차 강의 Mini Project Architecture
• 주요 Terms
• AWS Marketplace
• ‘WordPress’
• Load balancing
• Auto scaling group
• EC2
• RDS
• Read replica
• Failover
23
2주차 강의 Mini Project Architecture
• 주요 Terms
• AWS Marketplace
• ‘WordPress’
• Load balancing
• Auto scaling group
• EC2
• RDS
• Read replica
• Failover
24
Bottom Up Approach
2주차 강의 Mini Project Architecture
25
Top Down Approach
AWS Virtual Machine: EC2
26
AWS Virtual Machine: EC2
27
Elastic?
• AWS의 service 이름 중에 ‘E’(elastic)으로 시작되는 경우가 다수
28
EC2 : Elastic Compute Cloud
EBS: Elastic Block Store
EMR: Elastic MapReduce


EB: Elastic Beanstalk
Elastic?
29
엘라스틴 했어요
Elastic?
30
AWS Virtual Machine: EC2
• Virtualization 방식
• 예시
31
Amazon Machine Image (AMI)
32
AMI = 붕어빵틀 EC2 = 붕어빵
AWS Marketplace
• https://aws.amazon.com/marketplace/
• 미리 만들어진 AMI 를 무료 제공 또는 유료 판매
• 유료 AMI 에는 주로 SaaS(‘WordPress’, ‘OpenVPN’ 등)가 설치된 AMI

즉, SaaS 개발사는 유료 AMI를 만들어서 판매 수익을 올릴 수 있음.
33
(실습) AWS Marketplace ‘wordpress’
• AWS web console 에서 EC2 접속
• 좌측 메뉴 중에 ‘Instances’ 접속
• ‘Launch Instance’
34
(실습) AWS Marketplace ‘wordpress’
• 좌측 메뉴 중에 ‘AWS Marketplace’ 선택
• ‘wordpress’ 검색
• ‘WordPress Certified by Bitnami’를 ‘Select’
35
(실습) AWS Marketplace ‘wordpress’
• 가격 안내 확인
36
(실습) AWS Marketplace ‘wordpress’
• 적당한 EC2 type 선택 (예시: ’t2.micro’)
• 참고 https://aws.amazon.com/ec2/instance-types/
37
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 두고 ‘Next: Add Storage’
38
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 두고 ‘Next: Add Tags’
39
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 두고 ‘Next: Configure Security Group’
40
(실습) AWS Marketplace ‘wordpress’
• ‘Select an existing security group’에서 ‘default’를 선택
• ‘Review and Launch’
41
‘Security Group’는
따로 실습
(실습) AWS Marketplace ‘wordpress’
• ‘Launch’
42
(실습) AWS Marketplace ‘wordpress’
• ‘Create a new key pair’를 선택
• 적당한 이름을 적고, ‘Download Key Pair’
43
‘Key Pair’ = 공개키 암호 파일
(접속 비밀번호 파일)
(실습) AWS Marketplace ‘wordpress’
• ‘Launch Instances’
44
(실습) AWS Marketplace ‘wordpress’
• Take your time…
45
(실습) AWS Marketplace ‘wordpress’
• ‘Security Group’: a virtual firewall
• 오직 ‘allow’만 추가 가능 (’allow’ 된 접근 경로와 pattern 외에는 모두 ‘deny’)
46
(실습) AWS Marketplace ‘wordpress’
• AWS web console 에서 EC2 접속
• 좌측 메뉴 중에 ‘Security Groups’ 접속
• ‘Inbound’ 항목 선택 후 ‘Edit’
47
(실습) AWS Marketplace ‘wordpress’
• 빠른 실습을 위해서 아래와 같이 ‘My IP’는 모든 접근을 허용한다.
48
실제 서비스에서는 ‘노출 면적’이 최소한이 되도록 해야 함
(실습) AWS Marketplace ‘wordpress’
• AWS web console 에서 EC2 접속
• 좌측 메뉴 중에 ‘Instances’ 접속
• 새로 뜬 EC2 instance 선택 후 ‘IPv4 Public IP’ 주소 확인
49
(실습) AWS Marketplace ‘wordpress’
• 웹브라우저에서 새로 뜬 EC2 instance 의 ‘IPv4 Public IP’ 주소로 접속
50
(실습) AWS Marketplace ‘wordpress’
• 지금 우리는..
51
(실습) AWS Marketplace ‘wordpress’
• 앞으로 우리는...
52
Elastic Block Storage: EBS Volume and Snapshot
• AWS web console 에서 EC2 접속
• 좌측 메뉴 중에 ‘Volumes’ 접속
• 새로 뜬 EC2 instance의 ‘Volumes’ 정보 확인
53
EBS Volume and Snapshot
54
방금 전에 EC2 생성 시에
생성된 Volume
EBS Volume and Snapshot
• ‘Volume’을 선택하고 ‘Actions’에서 ‘Create Snapshot’
55
EBS Volume and Snapshot
• 적당한 이름을 쓰고 ‘Create Snapshot’
56
EBS Volume and Snapshot
• Take your time…
57
다시 AMI
• ‘Instance’를 선택하고 ‘Actions’에서 ‘Image’ -> ’Create Image’
58
다시 AMI
• 적당한 이름을 쓰고 ‘Create Image’
59
지금 만든 AMI는 뒤에서 재활용함
다시 AMI
• Take your time…
60
EBS Snapshot (VS) AMI
• EBS Snapshot
• data volume backup
• OS를 제외한 순수한 data만 포함할 경우

bootable 하지 않을 수 있음
• AMI (Amazon Machine Image)
• EC2 instance template의 backup
• 새로운 EC2 instance를 생성하기 위한 용도이므로 반드시 OS를 포함하고,
bootable 해야 machine image로서 의미가 있음
• AWS Marketplace 등을 통해서 무료 배포 또는 유료 판매
61
(실습) AWS Marketplace ‘wordpress’
• ‘wordpress’ EC2에 SSH 접속
62
Windows 환경에서 PuTTY 사용자는

교재 ‘아마존 웹 서비스를 다루는 기술’의 55쪽 참고
(실습) AWS Marketplace ‘wordpress’
• ‘cat ./bitnami_credentials’ 실행으로 username, password 조회
63
(실습) AWS Marketplace ‘wordpress’
• 웹브라우저에서 새로 뜬 EC2 instance 의 ‘IPv4 Public IP’ 주소를 참고해서

‘wordpress’ 관리자 페이지 ‘Log In’
64
(실습) AWS Marketplace ‘wordpress’
65
(실습) AWS Marketplace ‘wordpress’
• 이제 이걸...
66
(실습) AWS Marketplace ‘wordpress’
• 이렇게 확장
67
Load Balancing
68
Load Balancing
69
Load Balancing
70
Elastic Load Balancer
• 총 3가지 ELB가 존재
• ALB: Application Load Balancer (L7 switch)
• NLB: Network Load Balancer (L4 switch)
• CLB: Classic Load Balancer
71
<- 이번 강의에서 사용할 LB
<- 이전 버전이므로 되도록 ALB 또는 NLB 만 사용
ALB NLB CLB
Protocol HTTP, HTTPS TCP TCP, SSL, HTTP, HTTPS
Elastic Load Balancer: OSI 7 Layer
• https://en.wikipedia.org/wiki/OSI_model
• https://freeloadbalancer.com/load-balancing-layer-4-and-layer-7/
72
AWS ALB
AWS NLB
(실습) AWS Marketplace ‘wordpress’
• 방금 전에 만든 EC2 파기(terminate)
73
(실습) AWS Marketplace ‘wordpress’
• 좌측 메뉴에서 ‘Auto Scaling Groups’ 선택
• ‘Create Auto Scaling group’
74
(실습) AWS Marketplace ‘wordpress’
• 좌측 메뉴 중에 ‘AWS Marketplace’ 선택
• ‘wordpress’ 검색
• ‘WordPress Certified by Bitnami’를 ‘Select’
75
(실습) AWS Marketplace ‘wordpress’
• 적당한 EC2 type 선택 (예시: ’t2.micro’)
76
(실습) AWS Marketplace ‘wordpress’
• 적당한 이름을 넣고 ‘Next: Add Storage’
77
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 두고 ‘Next: Configure Security Group’
78
(실습) AWS Marketplace ‘wordpress’
• ‘Select an existing security group’에서 ‘default’를 선택
• ‘Review’
79
(실습) AWS Marketplace ‘wordpress’
• ‘Create launch configuration’
80
(실습) AWS Marketplace ‘wordpress’
• 이전에 만든 key pair 사용
81
(실습) AWS Marketplace ‘wordpress’
• 적당한 이름 작성
• Subnet 에서 Seoul region의 2개 AZ 모두 추가
• ‘Next: Configure scaling policies’
82
AWS Region and AZ
• AWS Region = 도시
• AZ: Availability Zone = IDC 건물
83
(실습) AWS Marketplace ‘wordpress’
• 아래와 같이 설정하고 ‘Next: Configure Notifications’
84
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 두고 ‘Next: Configure Tags’
85
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 두고 ‘Review’
86
(실습) AWS Marketplace ‘wordpress’
• ‘Create Auto Scaling group’
87
(실습) AWS Marketplace ‘wordpress’
• Take your time…
88
(실습) AWS Marketplace ‘wordpress’
• 좌측 메뉴에서 ‘Load Balancers’ 선택 후 ‘Create Load Balancer’
89
(실습) AWS Marketplace ‘wordpress’
• ‘Application Load Balancer’에서 ’Create’
90
(실습) AWS Marketplace ‘wordpress’
• 적당한 이름를 입력
• AZ를 2개 선택
• ‘Next: Configure Security Settings’
91
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 ‘Next: Configure Security Groups’
92
(실습) AWS Marketplace ‘wordpress’
• ‘Select an existing security group’에서 ‘default’를 선택
• ‘Next: Configure Routing’
93
(실습) AWS Marketplace ‘wordpress’
• 적당한 이름을 입력 후 ‘Next: Register Targets’
94
(실습) AWS Marketplace ‘wordpress’
• 기본값 그대로 ‘Next: Review’
95
(실습) AWS Marketplace ‘wordpress’
• ‘Create’
96
(실습) AWS Marketplace ‘wordpress’
• 좌측 메뉴에서 ‘Auto Scaling Groups’를 선택
• 이전에 만든 ‘ASG’를 선택 후 ‘Actions’에서 ‘Edit’
97
(실습) AWS Marketplace ‘wordpress’
• ‘Details’에서 ‘Target Groups’를 이전에 만든 걸 선택 후 ‘Save’
98
(실습) AWS Marketplace ‘wordpress’
• 좌측 메뉴에서 ‘Load Balancers’를 선택
• 이전에 만든 ‘ALB’를 선택 후 DNS name을 확인
99
(실습) AWS Marketplace ‘wordpress’
• 웹브라우저에서 DNS name으로 접속
100
Auto Scaling
101
부하 발생 서비스
102
https://blazemeter.com
부하 발생 서비스
103
https://blazemeter.com
부하 발생 서비스
104
https://blazemeter.com
부하 발생 서비스
105
https://blazemeter.com
부하 발생 서비스
106
https://blazemeter.com
부하 발생 서비스
107
https://blazemeter.com
부하 발생 서비스
108
https://blazemeter.com
• “이 정도론 택도 없더군요...”
109
Auto Scaling (다시 시도)
• ‘Auto Scaling Groups’에서 이전에 만든 ‘ASG’ 선택
• ‘Scaling Policies’ 선택 후 ‘Edit’
110
Auto Scaling (다시 시도)
• ‘Average CPU Utilization’을 ’40’으로 수정 후 ‘Save’
111
Auto Scaling (다시 시도)
• ‘wordpress’ EC2에 SSH 접속
112
Auto Scaling (다시 시도)
• EC2 instance의 CloudWatch(monitoring)
113
Auto Scaling (다시 시도)
• 성공 !
114
문제 발생
• 2대 EC2의 ‘wordpress’ 관리자 계정 정보(비밀번호)가 다름
115
문제 발생 원인
116
AMI = 붕어빵틀 EC2 = 붕어빵
문제 발생 원인
• AWS Marketplace에 있는 ‘wordpress’ AMI는



EC2가 생성된 다음에 관리자 계정을 생성함
• 즉, ASG에서 새로운 EC2를 생성할 때마다



각자 별도의 관리자 계정이 생김
117
AMI = 붕어빵틀
문제 해결책
• ASG 설정에서는 AWS Marketplace에 있는



‘wordpress’ AMI를 직접 쓰지 말고, 직접 만든 AMI를 대신 사용
• 즉,
• 1. ‘wordpress’ AMI로 EC2 생성
• 2. EC2 에서 AMI 생성
• 3. 생성된 AMI 로 ASG 생성
118
(실습) My AMI ‘wordpress’
• 좌측 메뉴에서 ‘Auto Scaling Groups’ 선택
• ‘Create Auto Scaling group’
119
(실습) My AMI ‘wordpress’
• 좌측에 ‘My AMIs’를 선택 후 이전에 만든 AMI ‘Select’
120
(실습) My AMI ‘wordpress’
• 여기서 부터는 앞서 과정 반복
• 1. ASG 생성
• 2. ALB 생성
• 3. ASG 의 target group을 ALB target group으로 설정
• 4. EC2 에 SSH 접속 후 부하 발생
• 5. EC2 가 2개로 늘어나는 걸 확인
• 6. 2대의 EC2 의 ‘wordpress’ 관리자 계정 정보 확인
121
(실습) My AMI ‘wordpress’
• 웹브라우저에서 2대의 EC2 중에 하나의 public IP address로 접속
• ‘wordpress’ 관리자 login 후에 ‘Posts’ 작성 화면 선택
122
(실습) My AMI ‘wordpress’
• 새로운 post 작성 후 ‘Publish’
123
문제 발생
• 2대의 EC2 ‘wordpress’의 글 목록이 다름
124
문제 발생 원인
• EC2 가 각자 따로 설치된 MySQL 서버를 사용하고 있음.
125
문제 해결책
• MySQL 서버를 따로 분리 (즉, 오른쪽 구조로 변경)
126
AWS Full Managed RDBMS: RDS
127
128
EC2 (VS) RDS
129
What does a DBA do all day?
• DBA (Database Administrator)
• General tasks
• Installation, configuration, upgrade, and migration
• Backup and recovery
• Database security
• Storage and capacity planning
• Performance monitoring and tuning
• Troubleshooting
• Special environments
• High availability
• Very Large Databases (VLDBs)
• Data Extraction, Transformation, and Loading (ETL)
130
https://www.techrepublic.com/
blog/the-enterprise-cloud/what-
does-a-dba-do-all-day/
131
Troubleshooting
API
HA
DR
Automation
Scale Out
Scale Up
Backup
Migration
Failover
RDS Aurora Cluster
• Cluster는 Instance의 집합
• Instance 종류: Master(read/write), Replica(read only)
• 내부 node computing / storage node
132
아래 이미지에서 위, 아래
아래 이미지에서 좌, 우
(실습) RDS Aurora Cluster
• AWS web console 에서 RDS 접속
• 좌측 메뉴 중에 ‘Clusters’ 접속
• ‘Launch DB Instance’
133
(실습) RDS Aurora Cluster
• ‘Amazon Aurora’ 선택
• ‘MySQL 5.7-compatible’ 선택
134
(실습) RDS Aurora Cluster
• 가장 작은 type 인



‘db.t2.small’ 선택
• 그외 설정은 이미지 참고
• ‘Next’
135
(실습) RDS Aurora Cluster
• 우측처럼 설정
• ‘Security Groups’은



‘defaults’로 선택
• (화면 밑에 설정이



더 있음)
136
(실습) RDS Aurora Cluster
• 적당한 이름 입력
• ‘Next’
137
(실습) RDS Aurora Cluster
138
(실습) RDS Aurora Cluster
139
(실습) RDS Aurora Cluster
• RDS Aurora는



cluster 단위의 2개의 주소와 instance 마다 1개의 주소가 있음
140
(주의) 특별한 경우가 아닐 때를 제외하고 대부분의 경우엔 cluster 주소를 써야한다.
(실습) RDS Aurora Cluster
• RDS Aurora cluster endpoint 2개
141
(실습) RDS Aurora Cluster
• RDS Aurora instance 마다 1개의 주소가 있음
142
(실습) RDS Aurora Cluster
• 2개 instance의 역할: reader, writer
143
(실습) RDS Aurora Cluster
• 강제 failover 시행
144
(실습) RDS Aurora Cluster
• 강제 failover 시행
145
(실습) RDS Aurora Cluster
• 2개 instance의 역할이 바뀜
146
(실습) RDS Aurora Cluster
• failover 처리 기록
147
MySQL Workbench
148
https://dev.mysql.com/downloads/workbench/
MySQL Workbench
• Aurora cluster endpoint 로 접속
149
MySQL Workbench
• Aurora cluster endpoint 로 접속
150
MySQL Workbench
• 아래 주소의 SQL 내용을 복사, 붙여넣기 후 query 실행
151
https://github.com/addnull/miscellaneous/blob/master/wordpress_database/dump.sql
MySQL Workbench
• Query 실행 후에 DB table 정상 생성 확인
152
(실습) My AMI ‘wordpress’ with RDS Aurora
• ‘wordpress’ 2대의 EC2 중에 하나에 SSH 접속
• ‘/opt/bitnami/properties.ini’ 편집
153
mysql_host 수정
mysql_user 추가
mysql_password 추가
(실습) My AMI ‘wordpress’ with RDS Aurora
• ‘/opt/bitnami/apps/phpmyadmin/htdocs/config.inc.php’ 편집
154
$cfg[‘Servers’][$i]['host'] 수정
$cfg[‘Servers’][$i]['password'] 수정
(실습) My AMI ‘wordpress’ with RDS Aurora
• ‘/opt/bitnami/apps/wordpress/htdocs/wp-config.php’ 편집
155
DB_USER 수정
DB_PASSWORD 수정
DB_HOST 수정
(실습) My AMI ‘wordpress’ with RDS Aurora
• ‘bitnami’ service 재시작



-> ‘wordpress’ service 등이 함께 모두 재시작됨
• ‘wordpress’ 2대의 EC2 중에 나머지 다른 하나도 동일한 작업 반복
156
(실습) My AMI ‘wordpress’ with RDS Aurora
• 웹브라우저에서 2대의 EC2 중에 하나의 public IP address로 접속
• ‘wordpress’ 관리자 login 후에 ‘Posts’ 작성 화면 선택
157
관리자 ID와 비밀번호는 ‘user’와 ’hbsmith@2018’ 로 입력
(실습) My AMI ‘wordpress’ with RDS Aurora
• 새로운 post 작성 후 ‘Publish’
158
(실습) My AMI ‘wordpress’ with RDS Aurora
• 2대의 EC2 ‘wordpress’의 글 목록이 동일함
159
2주차 강의 Mini Project Architecture Review
• 주요 Terms
• AWS Marketplace
• ‘WordPress’
• Load balancing
• Auto scaling group
• EC2
• RDS
• Read replica
• Failover
160
2주차 강의 Wrap Up
• AWS Virtual Machine: EC2
• Virtual Machine 소개: EC2 instance, AMI
• Volume 이해: EBS, Snapshot
• Network 와 Security 이해: Security Group, EIP, Keypair
• Load Balancing 기능: (3가지 ELB) CLB, NLB, ALB
• EC2 Monitoring 소개: CloudWatch
• 실습(Amazon Linux AMI): HA 구성, scale-out
• AWS Full Managed RDBMS: RDS
• Full Managed RDBMS 소개: RDS
• RDS Aurora 소개: DB Cluster와 DB Instance
• Parameter Group / Snapshot / Read Replica
• RDS Monitoring 소개: CloudWatch
• RDS Aurora MySQL 실습: HA 구성, failover
161
참고 Links
• AWS KRUG - https://www.facebook.com/groups/awskrug/
• Slack 채널 - http://www.awskr.org/slack/
• AWS KRUG Meetup - https://www.meetup.com/awskrug/events/calendar/
• StatusGator - https://statusgator.com/services/amazon-web-services
• 한국 AWS 파트너 - https://aws.amazon.com/ko/partners/find/results/?keyword=korea
• AWS 관리 code - https://statusgator.com/services/amazon-web-services
•
162
감사합니다
jongwon.han@hbsmith.io
010-9166-6855
163

More Related Content

What's hot

Project TIMAT - infrastructure as code
Project TIMAT - infrastructure as codeProject TIMAT - infrastructure as code
Project TIMAT - infrastructure as code
Jesang Yoon
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
Amazon Web Services Korea
 
Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학
Byeong-hak An
 
AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법
Jesang Yoon
 
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
SungChanHwang
 
AWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IP
Jongwon Han
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
Amazon Web Services Korea
 
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Amazon Web Services Korea
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
AWSKRUG - AWS한국사용자모임
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 finalGi Bong Kim
 
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
AWSKRUG - AWS한국사용자모임
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and security
Jongwon Han
 
DevOps (AWS, Docker, Ansible, Jenkins)
DevOps (AWS, Docker, Ansible, Jenkins)DevOps (AWS, Docker, Ansible, Jenkins)
DevOps (AWS, Docker, Ansible, Jenkins)
완철 김
 
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
StartupAlliance
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
AWSKRUG - AWS한국사용자모임
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
Amazon Web Services Korea
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기
iFunFactory Inc.
 
AWS로 불꺼온 나날들
AWS로 불꺼온 나날들AWS로 불꺼온 나날들
AWS로 불꺼온 나날들
AWSKRUG - AWS한국사용자모임
 
AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기
SeongHan Kim
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
AWSKRUG - AWS한국사용자모임
 

What's hot (20)

Project TIMAT - infrastructure as code
Project TIMAT - infrastructure as codeProject TIMAT - infrastructure as code
Project TIMAT - infrastructure as code
 
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
AWS에 대해 궁금했던 10가지 질문들(윤석찬) - AWS 웨비나 시리즈 2015
 
Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학Elastic beanstalk - 판교 초급자 모임 - 안병학
Elastic beanstalk - 판교 초급자 모임 - 안병학
 
AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법
 
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
 
AWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IP
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
Gaming on AWS - 6. AWS 환경에서의 유연하고 신속한 코드 관리 및 배포
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 
Aws발표자료 final
Aws발표자료 finalAws발표자료 final
Aws발표자료 final
 
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의  대량데이터 해석【株式会社fusic】
[AWSKRUG&JAWS-UG Meetup #1] 태양광발전소 원격 감시 시스템의 대량데이터 해석【株式会社fusic】
 
20180124 naver labs aws network and security
20180124 naver labs aws network and security20180124 naver labs aws network and security
20180124 naver labs aws network and security
 
DevOps (AWS, Docker, Ansible, Jenkins)
DevOps (AWS, Docker, Ansible, Jenkins)DevOps (AWS, Docker, Ansible, Jenkins)
DevOps (AWS, Docker, Ansible, Jenkins)
 
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
170718_테헤란로 런치클럽_스타트업 성공을 위한 AWS 첫걸음 _HB Smith
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기
 
AWS로 불꺼온 나날들
AWS로 불꺼온 나날들AWS로 불꺼온 나날들
AWS로 불꺼온 나날들
 
AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기AWS Native하게 Atlassian 서버 설치하기
AWS Native하게 Atlassian 서버 설치하기
 
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
[AUSG] 초보자를 위한 AWS 뿌시기 세미나 1회 - 비트코인 챗봇 만들기 가즈아ㅏㅏ
 

Similar to 20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차

AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
ssuserd4f9ff
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Jongwon Han
 
Aws serverless services
Aws serverless servicesAws serverless services
Aws serverless services
Daniel Jung
 
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
Amazon Web Services Korea
 
Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)
Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)
Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
Amazon Web Services Korea
 
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
Amazon Web Services Korea
 
KGC 2013 DevSisters
KGC 2013 DevSistersKGC 2013 DevSisters
KGC 2013 DevSisters
Amazon Web Services Korea
 
HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.
창훈 현
 
Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015
Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015
Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015
Amazon Web Services Korea
 
AWS CodeStar와 AWS Mobile Hub으로 보는 웹과 모바일의 개발 / 운영 비교
AWS CodeStar와  AWS Mobile Hub으로 보는  웹과 모바일의 개발 / 운영 비교AWS CodeStar와  AWS Mobile Hub으로 보는  웹과 모바일의 개발 / 운영 비교
AWS CodeStar와 AWS Mobile Hub으로 보는 웹과 모바일의 개발 / 운영 비교
효진 강
 
Windows Kubernetes Deep Dive
Windows Kubernetes Deep DiveWindows Kubernetes Deep Dive
Windows Kubernetes Deep Dive
Jung Hyun Nam
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
용호 최
 
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
Jongwon Han
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
Brian Hong
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타
 
AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018
AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018
AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018
Amazon Web Services Korea
 
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
Amazon Web Services Korea
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유민태 김
 

Similar to 20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차 (20)

AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
AWS DevOps와 ECR을 통한 Elastic Beanstalk 배포 환경 구축 및 타 환경과의 비교
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
 
Aws serverless services
Aws serverless servicesAws serverless services
Aws serverless services
 
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
[2017 Gaming on AWS] 도커 컨테이너 배포 자동화 실습 (롤링 및 Blue/Green 배포)
 
Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)
Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)
Amazon EC2 Container Service 자세히 보기 - 김상필 (AWS 솔루션즈 아키텍트)
 
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
 
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
 
KGC 2013 DevSisters
KGC 2013 DevSistersKGC 2013 DevSisters
KGC 2013 DevSisters
 
HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.HBSmith에서는 AWS 이렇게 사용한다.
HBSmith에서는 AWS 이렇게 사용한다.
 
Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015
Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015
Amazon EC2 제대로 사용하기(김상필) - AWS 웨비나 시리즈 2015
 
AWS CodeStar와 AWS Mobile Hub으로 보는 웹과 모바일의 개발 / 운영 비교
AWS CodeStar와  AWS Mobile Hub으로 보는  웹과 모바일의 개발 / 운영 비교AWS CodeStar와  AWS Mobile Hub으로 보는  웹과 모바일의 개발 / 운영 비교
AWS CodeStar와 AWS Mobile Hub으로 보는 웹과 모바일의 개발 / 운영 비교
 
Windows Kubernetes Deep Dive
Windows Kubernetes Deep DiveWindows Kubernetes Deep Dive
Windows Kubernetes Deep Dive
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호
 
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
 
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
20181108 HBSmith에서는 이렇게 AWS IaC로 배포한다
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
 
AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018
AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018
AWS 마켓플레이스 성공 런칭을 위한 핵심 기술 (이경수, AWS 솔루션즈아키텍트) :: AWS TechShift 2018
 
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
 
AWS 구축 경험 공유
AWS 구축 경험 공유AWS 구축 경험 공유
AWS 구축 경험 공유
 

More from Jongwon Han

20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법
Jongwon Han
 
20190518 개발하기 좋은 날
20190518 개발하기 좋은 날20190518 개발하기 좋은 날
20190518 개발하기 좋은 날
Jongwon Han
 
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 201920190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
Jongwon Han
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
Jongwon Han
 
20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다
Jongwon Han
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
Jongwon Han
 
20171221 naver labs aws 101
20171221 naver labs aws 10120171221 naver labs aws 101
20171221 naver labs aws 101
Jongwon Han
 
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 10120171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
Jongwon Han
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
Jongwon Han
 
20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop
Jongwon Han
 
HB Smith - Primer workshop
HB Smith - Primer workshopHB Smith - Primer workshop
HB Smith - Primer workshop
Jongwon Han
 
HB Smith - business plan - live hero - public
HB Smith - business plan - live hero - publicHB Smith - business plan - live hero - public
HB Smith - business plan - live hero - public
Jongwon Han
 
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Jongwon Han
 
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
Jongwon Han
 

More from Jongwon Han (14)

20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법20191226 LEGACYLAND에서 살아남는 법
20191226 LEGACYLAND에서 살아남는 법
 
20190518 개발하기 좋은 날
20190518 개발하기 좋은 날20190518 개발하기 좋은 날
20190518 개발하기 좋은 날
 
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 201920190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
20190418 Read Replicas and Django DB Router - AWS Summit Seoul 2019
 
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
20181126 AWS S3, SPA, 그리고 Vue.JS - HBSmith는 어떻게 Frontend를 Serverle...
 
20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다20180915 HBSmith에서는 Django 이렇게 사용한다
20180915 HBSmith에서는 Django 이렇게 사용한다
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
 
20171221 naver labs aws 101
20171221 naver labs aws 10120171221 naver labs aws 101
20171221 naver labs aws 101
 
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 10120171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop20170422 HB Smith - Primer workshop
20170422 HB Smith - Primer workshop
 
HB Smith - Primer workshop
HB Smith - Primer workshopHB Smith - Primer workshop
HB Smith - Primer workshop
 
HB Smith - business plan - live hero - public
HB Smith - business plan - live hero - publicHB Smith - business plan - live hero - public
HB Smith - business plan - live hero - public
 
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
Backend server monitoring and alarm system (collectd, graphite, grafana, zabb...
 
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
 

20180609 BIT computer - AWS를 활용한 클라우드 기반 웹 개발 2주차

  • 1. AWS를 활용한 클라우드 기반 웹 개발
 2주차 9. Jun. 2018 jongwon.han@hbsmith.io 1
  • 2. 발표자 소개 • 한종원 • Python과 Cloud Infra, Lean/Agile 방법론 그리고 애플의 제품을 사랑. • 2012년 석사 학위를 마치고, startup을 시작
 (이때부터 AWS를 production level에서 사용) • '의미가 있는 일을, 올바르게 하고 싶다.' • 경력 • (현) DevOps 전문 스타트업 ‘HB Smith’ 대표 • 택시 O2O 서비스 스타트업 ‘Kanizsa Lab’의 backend server / infra devops 담당 • Cloud computing 전문 스타트업 'A2 company' co-founder (‘KINX’에 인수합병) • NEXON 'MapleStory 국내 Live Team'에서 DBA, SA로 근무 (산업 기능 요원) 2 https://www.linkedin.com/in/addnull/ https://hbsmith.io “Startup 경력 = AWS 사용 기간”
  • 3. 강의 들어가기 앞서 • 이 강의는 총 5주차로 진행됩니다. • 1, 2주차 강의는 한종원 강사가 3~5주차 강의는 윤제상 강사가 진행 • 질문은 강의 중간이라도 언제든지 환영합니다. • 강의 대상은 • Cloud 에 대해서 처음 접하거나 아직 낯설은 분 • AWS 를 처음 사용해보거나 사용해보더라도 테스트 수준에서 써보신 분 • (필수) Linux, server, network, security에 대해서는 익숙하신 분 • (권장) 물리 서버를 운영해보신분. 개발 업무를 하시는 분 • 3
  • 5. 1주차 강의 내용 Remind • 실습: AWS 계정 생성 및 활성화 • Cloud Computing 이해 및 특성 • Virtualization • IaaS, PaaS, SaaS • AWS 소개 및 차별점 • Region, Availability Zone, Edge Location • 주요 3가지 서비스(EC2, S3, RDS) 소개 • AWS 생태계: AWS Partner Network, Marketplace • AWS service portfolio • 실제 사례 소개 • 실습: AWS 10분 자습서 5
  • 6. Cloud Computing 이해 및 특성 6
  • 7. ‘Cloud Computing’ 이란 ?!? • 나에게 Cloud Computing 이란? 7
  • 8. ‘Cloud Computing’ 이란 ?!? • 여기서 '전산 자원’이란
 
 server, storage, network 같은
 물리 hardware 장비 뿐만 아니라
 
 platform과 application이라는
 software까지 포함 8 전산 자원들의 공유하는 기술과 도구의 집합
  • 9. 지금 당장은 안쓰는 자원(컴퓨터)을
 빌려주고 돈을 받을 수 있을까? 9
  • 11. 피자를 먹는 네 가지 방법 11
  • 12. 피자를 먹는 네 가지 방법 • 음식점 피자: 돈만 있으면 OK! • 배달 피자: 식탁과 돈 필요 • 냉동 피자: 전자렌지, 식탁, 돈 필요 • 홈피자: 집에서 AtoZ 모두 다 필요 • 12
  • 13. 피자를 먹는 네 가지 방법 • 음식점 피자: • 배달 피자: • 냉동 피자: • 홈피자: • 13 Software 통채로 대여 Platform 까지 대여 Infrastructure만 대여 Cloud 안 씁니다..
  • 14. 피자를 먹는 네 가지 방법 • 음식점 피자: • 배달 피자: • 냉동 피자: • 홈피자: • 14 Software 통채로 대여 Platform 까지 대여 Infrastructure만 대여 Cloud 안 씁니다..
  • 15. 피자를 먹는 네 가지 방법 • “그럼 AWS는 몇 번째 방법이지?” 15 세 가지(Infrastructure, Platform, Software)를 포함
  • 17. 왜 Cloud Computing 인가? 17
  • 19. AWS 소개 19 LEGO 블럭처럼 여러 개의 AWS service들을 조합해서 나만의 Infra 구축
  • 20. 20
  • 22. 2주차 강의 내용 • AWS Virtual Machine: EC2 • Virtual Machine 소개: EC2 instance, AMI • Volume 이해: EBS, Snapshot • Network 와 Security 이해: Security Group, EIP, Keypair • Load Balancing 기능: (3가지 ELB) CLB, NLB, ALB • EC2 Monitoring 소개: CloudWatch • 실습(Amazon Linux AMI): HA 구성, scale-out • AWS Full Managed RDBMS: RDS • Full Managed RDBMS 소개: RDS • RDS Aurora 소개: DB Cluster와 DB Instance • Parameter Group / Snapshot / Read Replica • RDS Monitoring 소개: CloudWatch • RDS Aurora MySQL 실습: HA 구성, failover 22
  • 23. 2주차 강의 Mini Project Architecture • 주요 Terms • AWS Marketplace • ‘WordPress’ • Load balancing • Auto scaling group • EC2 • RDS • Read replica • Failover 23
  • 24. 2주차 강의 Mini Project Architecture • 주요 Terms • AWS Marketplace • ‘WordPress’ • Load balancing • Auto scaling group • EC2 • RDS • Read replica • Failover 24 Bottom Up Approach
  • 25. 2주차 강의 Mini Project Architecture 25 Top Down Approach
  • 28. Elastic? • AWS의 service 이름 중에 ‘E’(elastic)으로 시작되는 경우가 다수 28 EC2 : Elastic Compute Cloud EBS: Elastic Block Store EMR: Elastic MapReduce 
 EB: Elastic Beanstalk
  • 31. AWS Virtual Machine: EC2 • Virtualization 방식 • 예시 31
  • 32. Amazon Machine Image (AMI) 32 AMI = 붕어빵틀 EC2 = 붕어빵
  • 33. AWS Marketplace • https://aws.amazon.com/marketplace/ • 미리 만들어진 AMI 를 무료 제공 또는 유료 판매 • 유료 AMI 에는 주로 SaaS(‘WordPress’, ‘OpenVPN’ 등)가 설치된 AMI
 즉, SaaS 개발사는 유료 AMI를 만들어서 판매 수익을 올릴 수 있음. 33
  • 34. (실습) AWS Marketplace ‘wordpress’ • AWS web console 에서 EC2 접속 • 좌측 메뉴 중에 ‘Instances’ 접속 • ‘Launch Instance’ 34
  • 35. (실습) AWS Marketplace ‘wordpress’ • 좌측 메뉴 중에 ‘AWS Marketplace’ 선택 • ‘wordpress’ 검색 • ‘WordPress Certified by Bitnami’를 ‘Select’ 35
  • 36. (실습) AWS Marketplace ‘wordpress’ • 가격 안내 확인 36
  • 37. (실습) AWS Marketplace ‘wordpress’ • 적당한 EC2 type 선택 (예시: ’t2.micro’) • 참고 https://aws.amazon.com/ec2/instance-types/ 37
  • 38. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 두고 ‘Next: Add Storage’ 38
  • 39. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 두고 ‘Next: Add Tags’ 39
  • 40. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 두고 ‘Next: Configure Security Group’ 40
  • 41. (실습) AWS Marketplace ‘wordpress’ • ‘Select an existing security group’에서 ‘default’를 선택 • ‘Review and Launch’ 41 ‘Security Group’는 따로 실습
  • 42. (실습) AWS Marketplace ‘wordpress’ • ‘Launch’ 42
  • 43. (실습) AWS Marketplace ‘wordpress’ • ‘Create a new key pair’를 선택 • 적당한 이름을 적고, ‘Download Key Pair’ 43 ‘Key Pair’ = 공개키 암호 파일 (접속 비밀번호 파일)
  • 44. (실습) AWS Marketplace ‘wordpress’ • ‘Launch Instances’ 44
  • 45. (실습) AWS Marketplace ‘wordpress’ • Take your time… 45
  • 46. (실습) AWS Marketplace ‘wordpress’ • ‘Security Group’: a virtual firewall • 오직 ‘allow’만 추가 가능 (’allow’ 된 접근 경로와 pattern 외에는 모두 ‘deny’) 46
  • 47. (실습) AWS Marketplace ‘wordpress’ • AWS web console 에서 EC2 접속 • 좌측 메뉴 중에 ‘Security Groups’ 접속 • ‘Inbound’ 항목 선택 후 ‘Edit’ 47
  • 48. (실습) AWS Marketplace ‘wordpress’ • 빠른 실습을 위해서 아래와 같이 ‘My IP’는 모든 접근을 허용한다. 48 실제 서비스에서는 ‘노출 면적’이 최소한이 되도록 해야 함
  • 49. (실습) AWS Marketplace ‘wordpress’ • AWS web console 에서 EC2 접속 • 좌측 메뉴 중에 ‘Instances’ 접속 • 새로 뜬 EC2 instance 선택 후 ‘IPv4 Public IP’ 주소 확인 49
  • 50. (실습) AWS Marketplace ‘wordpress’ • 웹브라우저에서 새로 뜬 EC2 instance 의 ‘IPv4 Public IP’ 주소로 접속 50
  • 51. (실습) AWS Marketplace ‘wordpress’ • 지금 우리는.. 51
  • 52. (실습) AWS Marketplace ‘wordpress’ • 앞으로 우리는... 52
  • 53. Elastic Block Storage: EBS Volume and Snapshot • AWS web console 에서 EC2 접속 • 좌측 메뉴 중에 ‘Volumes’ 접속 • 새로 뜬 EC2 instance의 ‘Volumes’ 정보 확인 53
  • 54. EBS Volume and Snapshot 54 방금 전에 EC2 생성 시에 생성된 Volume
  • 55. EBS Volume and Snapshot • ‘Volume’을 선택하고 ‘Actions’에서 ‘Create Snapshot’ 55
  • 56. EBS Volume and Snapshot • 적당한 이름을 쓰고 ‘Create Snapshot’ 56
  • 57. EBS Volume and Snapshot • Take your time… 57
  • 58. 다시 AMI • ‘Instance’를 선택하고 ‘Actions’에서 ‘Image’ -> ’Create Image’ 58
  • 59. 다시 AMI • 적당한 이름을 쓰고 ‘Create Image’ 59 지금 만든 AMI는 뒤에서 재활용함
  • 60. 다시 AMI • Take your time… 60
  • 61. EBS Snapshot (VS) AMI • EBS Snapshot • data volume backup • OS를 제외한 순수한 data만 포함할 경우
 bootable 하지 않을 수 있음 • AMI (Amazon Machine Image) • EC2 instance template의 backup • 새로운 EC2 instance를 생성하기 위한 용도이므로 반드시 OS를 포함하고, bootable 해야 machine image로서 의미가 있음 • AWS Marketplace 등을 통해서 무료 배포 또는 유료 판매 61
  • 62. (실습) AWS Marketplace ‘wordpress’ • ‘wordpress’ EC2에 SSH 접속 62 Windows 환경에서 PuTTY 사용자는
 교재 ‘아마존 웹 서비스를 다루는 기술’의 55쪽 참고
  • 63. (실습) AWS Marketplace ‘wordpress’ • ‘cat ./bitnami_credentials’ 실행으로 username, password 조회 63
  • 64. (실습) AWS Marketplace ‘wordpress’ • 웹브라우저에서 새로 뜬 EC2 instance 의 ‘IPv4 Public IP’ 주소를 참고해서
 ‘wordpress’ 관리자 페이지 ‘Log In’ 64
  • 65. (실습) AWS Marketplace ‘wordpress’ 65
  • 66. (실습) AWS Marketplace ‘wordpress’ • 이제 이걸... 66
  • 67. (실습) AWS Marketplace ‘wordpress’ • 이렇게 확장 67
  • 71. Elastic Load Balancer • 총 3가지 ELB가 존재 • ALB: Application Load Balancer (L7 switch) • NLB: Network Load Balancer (L4 switch) • CLB: Classic Load Balancer 71 <- 이번 강의에서 사용할 LB <- 이전 버전이므로 되도록 ALB 또는 NLB 만 사용 ALB NLB CLB Protocol HTTP, HTTPS TCP TCP, SSL, HTTP, HTTPS
  • 72. Elastic Load Balancer: OSI 7 Layer • https://en.wikipedia.org/wiki/OSI_model • https://freeloadbalancer.com/load-balancing-layer-4-and-layer-7/ 72 AWS ALB AWS NLB
  • 73. (실습) AWS Marketplace ‘wordpress’ • 방금 전에 만든 EC2 파기(terminate) 73
  • 74. (실습) AWS Marketplace ‘wordpress’ • 좌측 메뉴에서 ‘Auto Scaling Groups’ 선택 • ‘Create Auto Scaling group’ 74
  • 75. (실습) AWS Marketplace ‘wordpress’ • 좌측 메뉴 중에 ‘AWS Marketplace’ 선택 • ‘wordpress’ 검색 • ‘WordPress Certified by Bitnami’를 ‘Select’ 75
  • 76. (실습) AWS Marketplace ‘wordpress’ • 적당한 EC2 type 선택 (예시: ’t2.micro’) 76
  • 77. (실습) AWS Marketplace ‘wordpress’ • 적당한 이름을 넣고 ‘Next: Add Storage’ 77
  • 78. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 두고 ‘Next: Configure Security Group’ 78
  • 79. (실습) AWS Marketplace ‘wordpress’ • ‘Select an existing security group’에서 ‘default’를 선택 • ‘Review’ 79
  • 80. (실습) AWS Marketplace ‘wordpress’ • ‘Create launch configuration’ 80
  • 81. (실습) AWS Marketplace ‘wordpress’ • 이전에 만든 key pair 사용 81
  • 82. (실습) AWS Marketplace ‘wordpress’ • 적당한 이름 작성 • Subnet 에서 Seoul region의 2개 AZ 모두 추가 • ‘Next: Configure scaling policies’ 82
  • 83. AWS Region and AZ • AWS Region = 도시 • AZ: Availability Zone = IDC 건물 83
  • 84. (실습) AWS Marketplace ‘wordpress’ • 아래와 같이 설정하고 ‘Next: Configure Notifications’ 84
  • 85. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 두고 ‘Next: Configure Tags’ 85
  • 86. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 두고 ‘Review’ 86
  • 87. (실습) AWS Marketplace ‘wordpress’ • ‘Create Auto Scaling group’ 87
  • 88. (실습) AWS Marketplace ‘wordpress’ • Take your time… 88
  • 89. (실습) AWS Marketplace ‘wordpress’ • 좌측 메뉴에서 ‘Load Balancers’ 선택 후 ‘Create Load Balancer’ 89
  • 90. (실습) AWS Marketplace ‘wordpress’ • ‘Application Load Balancer’에서 ’Create’ 90
  • 91. (실습) AWS Marketplace ‘wordpress’ • 적당한 이름를 입력 • AZ를 2개 선택 • ‘Next: Configure Security Settings’ 91
  • 92. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 ‘Next: Configure Security Groups’ 92
  • 93. (실습) AWS Marketplace ‘wordpress’ • ‘Select an existing security group’에서 ‘default’를 선택 • ‘Next: Configure Routing’ 93
  • 94. (실습) AWS Marketplace ‘wordpress’ • 적당한 이름을 입력 후 ‘Next: Register Targets’ 94
  • 95. (실습) AWS Marketplace ‘wordpress’ • 기본값 그대로 ‘Next: Review’ 95
  • 96. (실습) AWS Marketplace ‘wordpress’ • ‘Create’ 96
  • 97. (실습) AWS Marketplace ‘wordpress’ • 좌측 메뉴에서 ‘Auto Scaling Groups’를 선택 • 이전에 만든 ‘ASG’를 선택 후 ‘Actions’에서 ‘Edit’ 97
  • 98. (실습) AWS Marketplace ‘wordpress’ • ‘Details’에서 ‘Target Groups’를 이전에 만든 걸 선택 후 ‘Save’ 98
  • 99. (실습) AWS Marketplace ‘wordpress’ • 좌측 메뉴에서 ‘Load Balancers’를 선택 • 이전에 만든 ‘ALB’를 선택 후 DNS name을 확인 99
  • 100. (실습) AWS Marketplace ‘wordpress’ • 웹브라우저에서 DNS name으로 접속 100
  • 109. • “이 정도론 택도 없더군요...” 109
  • 110. Auto Scaling (다시 시도) • ‘Auto Scaling Groups’에서 이전에 만든 ‘ASG’ 선택 • ‘Scaling Policies’ 선택 후 ‘Edit’ 110
  • 111. Auto Scaling (다시 시도) • ‘Average CPU Utilization’을 ’40’으로 수정 후 ‘Save’ 111
  • 112. Auto Scaling (다시 시도) • ‘wordpress’ EC2에 SSH 접속 112
  • 113. Auto Scaling (다시 시도) • EC2 instance의 CloudWatch(monitoring) 113
  • 114. Auto Scaling (다시 시도) • 성공 ! 114
  • 115. 문제 발생 • 2대 EC2의 ‘wordpress’ 관리자 계정 정보(비밀번호)가 다름 115
  • 116. 문제 발생 원인 116 AMI = 붕어빵틀 EC2 = 붕어빵
  • 117. 문제 발생 원인 • AWS Marketplace에 있는 ‘wordpress’ AMI는
 
 EC2가 생성된 다음에 관리자 계정을 생성함 • 즉, ASG에서 새로운 EC2를 생성할 때마다
 
 각자 별도의 관리자 계정이 생김 117 AMI = 붕어빵틀
  • 118. 문제 해결책 • ASG 설정에서는 AWS Marketplace에 있는
 
 ‘wordpress’ AMI를 직접 쓰지 말고, 직접 만든 AMI를 대신 사용 • 즉, • 1. ‘wordpress’ AMI로 EC2 생성 • 2. EC2 에서 AMI 생성 • 3. 생성된 AMI 로 ASG 생성 118
  • 119. (실습) My AMI ‘wordpress’ • 좌측 메뉴에서 ‘Auto Scaling Groups’ 선택 • ‘Create Auto Scaling group’ 119
  • 120. (실습) My AMI ‘wordpress’ • 좌측에 ‘My AMIs’를 선택 후 이전에 만든 AMI ‘Select’ 120
  • 121. (실습) My AMI ‘wordpress’ • 여기서 부터는 앞서 과정 반복 • 1. ASG 생성 • 2. ALB 생성 • 3. ASG 의 target group을 ALB target group으로 설정 • 4. EC2 에 SSH 접속 후 부하 발생 • 5. EC2 가 2개로 늘어나는 걸 확인 • 6. 2대의 EC2 의 ‘wordpress’ 관리자 계정 정보 확인 121
  • 122. (실습) My AMI ‘wordpress’ • 웹브라우저에서 2대의 EC2 중에 하나의 public IP address로 접속 • ‘wordpress’ 관리자 login 후에 ‘Posts’ 작성 화면 선택 122
  • 123. (실습) My AMI ‘wordpress’ • 새로운 post 작성 후 ‘Publish’ 123
  • 124. 문제 발생 • 2대의 EC2 ‘wordpress’의 글 목록이 다름 124
  • 125. 문제 발생 원인 • EC2 가 각자 따로 설치된 MySQL 서버를 사용하고 있음. 125
  • 126. 문제 해결책 • MySQL 서버를 따로 분리 (즉, 오른쪽 구조로 변경) 126
  • 127. AWS Full Managed RDBMS: RDS 127
  • 128. 128
  • 130. What does a DBA do all day? • DBA (Database Administrator) • General tasks • Installation, configuration, upgrade, and migration • Backup and recovery • Database security • Storage and capacity planning • Performance monitoring and tuning • Troubleshooting • Special environments • High availability • Very Large Databases (VLDBs) • Data Extraction, Transformation, and Loading (ETL) 130 https://www.techrepublic.com/ blog/the-enterprise-cloud/what- does-a-dba-do-all-day/
  • 132. RDS Aurora Cluster • Cluster는 Instance의 집합 • Instance 종류: Master(read/write), Replica(read only) • 내부 node computing / storage node 132 아래 이미지에서 위, 아래 아래 이미지에서 좌, 우
  • 133. (실습) RDS Aurora Cluster • AWS web console 에서 RDS 접속 • 좌측 메뉴 중에 ‘Clusters’ 접속 • ‘Launch DB Instance’ 133
  • 134. (실습) RDS Aurora Cluster • ‘Amazon Aurora’ 선택 • ‘MySQL 5.7-compatible’ 선택 134
  • 135. (실습) RDS Aurora Cluster • 가장 작은 type 인
 
 ‘db.t2.small’ 선택 • 그외 설정은 이미지 참고 • ‘Next’ 135
  • 136. (실습) RDS Aurora Cluster • 우측처럼 설정 • ‘Security Groups’은
 
 ‘defaults’로 선택 • (화면 밑에 설정이
 
 더 있음) 136
  • 137. (실습) RDS Aurora Cluster • 적당한 이름 입력 • ‘Next’ 137
  • 138. (실습) RDS Aurora Cluster 138
  • 139. (실습) RDS Aurora Cluster 139
  • 140. (실습) RDS Aurora Cluster • RDS Aurora는
 
 cluster 단위의 2개의 주소와 instance 마다 1개의 주소가 있음 140 (주의) 특별한 경우가 아닐 때를 제외하고 대부분의 경우엔 cluster 주소를 써야한다.
  • 141. (실습) RDS Aurora Cluster • RDS Aurora cluster endpoint 2개 141
  • 142. (실습) RDS Aurora Cluster • RDS Aurora instance 마다 1개의 주소가 있음 142
  • 143. (실습) RDS Aurora Cluster • 2개 instance의 역할: reader, writer 143
  • 144. (실습) RDS Aurora Cluster • 강제 failover 시행 144
  • 145. (실습) RDS Aurora Cluster • 강제 failover 시행 145
  • 146. (실습) RDS Aurora Cluster • 2개 instance의 역할이 바뀜 146
  • 147. (실습) RDS Aurora Cluster • failover 처리 기록 147
  • 149. MySQL Workbench • Aurora cluster endpoint 로 접속 149
  • 150. MySQL Workbench • Aurora cluster endpoint 로 접속 150
  • 151. MySQL Workbench • 아래 주소의 SQL 내용을 복사, 붙여넣기 후 query 실행 151 https://github.com/addnull/miscellaneous/blob/master/wordpress_database/dump.sql
  • 152. MySQL Workbench • Query 실행 후에 DB table 정상 생성 확인 152
  • 153. (실습) My AMI ‘wordpress’ with RDS Aurora • ‘wordpress’ 2대의 EC2 중에 하나에 SSH 접속 • ‘/opt/bitnami/properties.ini’ 편집 153 mysql_host 수정 mysql_user 추가 mysql_password 추가
  • 154. (실습) My AMI ‘wordpress’ with RDS Aurora • ‘/opt/bitnami/apps/phpmyadmin/htdocs/config.inc.php’ 편집 154 $cfg[‘Servers’][$i]['host'] 수정 $cfg[‘Servers’][$i]['password'] 수정
  • 155. (실습) My AMI ‘wordpress’ with RDS Aurora • ‘/opt/bitnami/apps/wordpress/htdocs/wp-config.php’ 편집 155 DB_USER 수정 DB_PASSWORD 수정 DB_HOST 수정
  • 156. (실습) My AMI ‘wordpress’ with RDS Aurora • ‘bitnami’ service 재시작
 
 -> ‘wordpress’ service 등이 함께 모두 재시작됨 • ‘wordpress’ 2대의 EC2 중에 나머지 다른 하나도 동일한 작업 반복 156
  • 157. (실습) My AMI ‘wordpress’ with RDS Aurora • 웹브라우저에서 2대의 EC2 중에 하나의 public IP address로 접속 • ‘wordpress’ 관리자 login 후에 ‘Posts’ 작성 화면 선택 157 관리자 ID와 비밀번호는 ‘user’와 ’hbsmith@2018’ 로 입력
  • 158. (실습) My AMI ‘wordpress’ with RDS Aurora • 새로운 post 작성 후 ‘Publish’ 158
  • 159. (실습) My AMI ‘wordpress’ with RDS Aurora • 2대의 EC2 ‘wordpress’의 글 목록이 동일함 159
  • 160. 2주차 강의 Mini Project Architecture Review • 주요 Terms • AWS Marketplace • ‘WordPress’ • Load balancing • Auto scaling group • EC2 • RDS • Read replica • Failover 160
  • 161. 2주차 강의 Wrap Up • AWS Virtual Machine: EC2 • Virtual Machine 소개: EC2 instance, AMI • Volume 이해: EBS, Snapshot • Network 와 Security 이해: Security Group, EIP, Keypair • Load Balancing 기능: (3가지 ELB) CLB, NLB, ALB • EC2 Monitoring 소개: CloudWatch • 실습(Amazon Linux AMI): HA 구성, scale-out • AWS Full Managed RDBMS: RDS • Full Managed RDBMS 소개: RDS • RDS Aurora 소개: DB Cluster와 DB Instance • Parameter Group / Snapshot / Read Replica • RDS Monitoring 소개: CloudWatch • RDS Aurora MySQL 실습: HA 구성, failover 161
  • 162. 참고 Links • AWS KRUG - https://www.facebook.com/groups/awskrug/ • Slack 채널 - http://www.awskr.org/slack/ • AWS KRUG Meetup - https://www.meetup.com/awskrug/events/calendar/ • StatusGator - https://statusgator.com/services/amazon-web-services • 한국 AWS 파트너 - https://aws.amazon.com/ko/partners/find/results/?keyword=korea • AWS 관리 code - https://statusgator.com/services/amazon-web-services • 162