AWS를 활용한 클라우드
기반 웹 개발
1주차
고 강 태
010-8269-3535
james@thinkbee.kr
https://www.linkedin.com/in/thinkbeekr/
http://www.facebook.com/gangtai.goh
강의 전에...
이 강의는 총 4주차로 진행된다.
강의 대상은
•Cloud Computing 이용을 시작하는 분
•AWS 로 클라우드 기반 서비스 시작하려는 분
•물리 서버 운영을 클라우드 기반으로 이전 계획하는 분
•(조건) Linux 기반 클라이언트/서버 활용에 어려움 없는 분
현 IT분야 전문 강의:
- Linux System programming
- IoT Raspberry Pi / Opensource ARM Programming / Arduio
- Python IoT / Python Datascience
- Android App / 스마트TV / Node.js 전문 강사
미주제강 전산팀장
- ERP / Groupware
LG전자 연구소
- Web application / Network engineer / Unix system Admin.
주요 개발 경력
- Android: 신한카드 / KT향 4종 앱 / 메트로놈 / 트윗메모
- 웹 메일 서버, 그룹웨어, 도서/자산/바코드 관리, 채팅, 8좌화상회의용 서버
강사 약력
모바일 하이브리드 & 웹앱 프로그래밍
- 2014/9, 디지털북스, http://goo.gl/9C94gT
Android 기반 태블릿 호환 개발
- 2012, 한빛미디어 eBook, http://goo.gl/NUZEk
마이크로소프트웨어
- 마이크로소프트웨어 Google TV 플랫폼(2012/6)
- 마이크로소프트웨어 LG전자 스마트TV 프로그래밍
- ICS vs. iOS5
삼성전자
- 삼성전자 안드로이드 기반 S Pen SDK 응용과정 교재
- 안드로이드 개발자를 위한 bada 포팅 가이드, 2011, 삼성전자
주요 저술
주요 강의
• 삼성SDK 멀티캠퍼스 / 삼성전자 Mobile SDK 과정
• Node.js 기본 / Express 과정
• Android 기본, 심화, 전문 과정
• Smart TV 과정
• 대외 활동
• 산업인력공단 NCS표준 심의위원
• 삼성전자 Android Developer Guide to bada 저술
• 경희대학교 bada 교재 감수
• 구글코리아 2011 개발자랩 튜터 참여
• NIPA 한국공개소프트웨어협회 멘토 참여
• OSS OpenTech Day 다수 강연
주요 클라우드 기반 강의
2013~14
서강대 게임아카데미 스터디,
신한, KT 등 프리랜서
2009
삼성 Ocean Center
- Startup 준비
- 강의 및 다수 Startup 컨설팅
2016~
Open API 강의
- 대구대, 원광대, 기타
- Cloud, ThinkQ, Azure, AWS
2015~
Open source ERP/CRM
cloud / docker
2015~
MQTT, Open API
- Cloud, ThinkQ, Azure, AWS
강의 내용 1주차
•1주차:
•2주차:
•3주차
•4주차
• 실습: AWS 제품과 계정 활성화
• Cloud Computing 이해
• AWS로 빌릴 수 있는 것...
• AWS Region & Edge Location
• AWS 서비스 사용 튜토리얼
• 실습: AWS 10분 자습서
• 1.리눅스 가상머신 시작
• - ssh authorized_key 이용
• 2. 파일 버켓
• 3. Web Application
실습: AWS 제품과 계정 활성화
실습: AWS 제품 살펴보기
https://aws.amazon.com/ko
실습: AWS 제품 살펴보기
https://aws.amazon.com/ko
실습: AWS 제품 살펴보기
https://aws.amazon.com/ko
실습: AWS 제품 살펴보기
https://aws.amazon.com/ko
실습: AWS 계정 생성 및 활성화
https://aws.amazon.com/ko
실습: AWS 계정 생성 및 활성화
https://aws.amazon.com/ko
실습: AWS 계정 생성 및 활성화
https://aws.amazon.com/ko
aws 티어를 사용하기 위해서는 신용카
드 정보를 입력해야 한다.
SMS 전송 코드 통한 본인 인증
실습: AWS 계정 생성 및 활성화
https://aws.amazon.com/ko
실습: AWS 계정 생성 및 활성화
Free Tier 기간 확인
- AWS console / 계정이름 -> My Billing Dashboard
실습: AWS 계정 생성 및 활성화
Free Tier 기간 확인
- AWS console / 계정이름 -> My Billing Dashboard
Cloud Computing 이해
클라우드 컴퓨팅이란?
비지니스의 방식을 바꾸다!
CIO, CTO가 시간을 트레이딩한다
클라우드 컴퓨팅이란?
https://www.slideshare.net/awskorea/aws-cloud-cost-optimzation-57160936
클라우드 컴퓨팅이란?
https://www.slideshare.net/awskorea/aws-cloud-cost-optimzation-57160936
클라우드 컴퓨팅 기술은...
"인터넷을 통해 물리적 서버와 네트워크와 같은, 

IT 리소스와 (데이터 분석과 같은) 애플리케이션을

원할 때 언제든지(On- demand) 사용한 만큼만 요금을 내는 서
비스입니다" http://aws.amazon.com/ko/what-is-cloud-computing/
https://www.slideshare.net/awskorea/aws-cloud-cost-optimzation-57160936
가상화 대상 '자원’
server, storage, network 같은 물리 hardware 장비 뿐만 아니라

platform과 application이라는 software까지 포함
전통적 컴퓨팅의 가상화
프로세서가 메모리를 이용 처리
원격 프로시저 호출
- Local API 호출이 Remote API 호출을 발생시킨다.
프로세서가 외부 장치와 통신
전통적 컴퓨팅의 가상화
1960년대 메인프레임에서 애플리케이션 사이에 자원을 공유
- 1980년대 SNA 기반 아키텍처
https://player.slideplayer.com/29/9445294/#
전통적 컴퓨팅의 가상화
멀티 프로세서 + 멀티 프로세싱
100%100% 100%100%
100%100% 100%100%
100%100% 100%100%
100%100% 100%100%
multi core multi core multi core multi core
multi core multi core multi core multi core
multi core multi core multi core multi core
multi core multi core multi core multi core
전통적 컴퓨팅의 가상화
비어 있는 공간이 많다...
10%100% 10%20%
0%80% 50%45%
10%10% 15%100%
80%0% 5%0%
multi core multi core multi core multi core
multi core multi core multi core multi core
multi core multi core multi core multi core
multi core multi core multi core multi core
전통적 컴퓨팅의 가상화
유휴 서버의 서비스 앱을 집적해 서비스
https://slideplayer.com/slide/9445294/
컴퓨팅의 가상화
Full Virtualization
https://slideplayer.com/slide/9445294/
Host 기반의 Virtual Machine 아키텍처
컴퓨팅의 가상화
Host 기반의 Virtual Machine에서 네트워크 트래픽을 스위칭
컴퓨팅의 가상화
http://home.sogang.ac.kr/sites/gsinfotech/study/jgs160724/
전통적 컴퓨팅의 가상화
주요 가상화 기업 및 제품
•IBM System Z/VM, System p/Hypervisor
•VMWare : VMware Server, VMware ESXi
•Microsoft: MS Hyper-V server
•Xen: Open source Hypervisor
Hypervisor 란
"물리적 서버 위에 존재하는 가상화 레이어, 게스트 OS 구동을 위
한 HW환경을 가상으로 제공해서, 프로세서, 메모리 등 컴퓨터
자원에 각 게스트 접근을 통제"
IBM 클라우드 컴퓨팅 기술 및 솔루션 소개 ppt
전통적 컴퓨팅의 가상화
Hypervisor는 크게 두가지 방식:
Bare Metal Hypervisor
O/S
App
Hypervisor
SMP Server
O/S
App
Hosted Hypervisor
O/S
App
SMP Server
Hypervisor
Host O/S
O/S
App
O/S가 Program을 제어하듯이
hypervisor가 해당 H/W에서 직접 실행
되며 Guest O/S는 H/W 위에서 2번째
수준으로 실행됩니다.
Hypervisor는 일반 Program과 같이
O/S 안에서 실행되며 Guest O/S는
H/W에서 3번째 수준으로 실행툅니다.
VMWare V13
Virtual Iron
Microsoft Hyper-V
Microsoft Virtual Server
VMware server
IBM 클라우드 컴퓨팅 기술 및 솔루션 소개 ppt
전통적 컴퓨팅의 가상화
Xen에서 full or Para-Virtualization 지원
GuestOS의 코드수정 없이 기존의 바이너리를 그대로
수행할 수 있다.
VMM은 실제 I/O 장치를 에뮬레이션 하고, GuestOS
의 요청을 해석하여 하드웨어에 전송한다.
구현에 따라 성능저하가 발생할 수 있다
Hypercall이라고 부르는 인터페이스를 통하여
GuestOS는 Hypervisor에 요청 한다.
코드의 해석작업이 생략되기 때문에 성능이 뛰어나다.
Hypercall 호출을 위하여 GuestOS 커널의 수정이 필
요하다.
IBM 클라우드 컴퓨팅 기술 및 솔루션 소개 ppt
Para Virtualization
Full Virtualization
Hypercall Hypercall
Billing 가상화 컴퓨터란!
유틸리티 컴퓨팅(utility computing) 에서 컴퓨터 자원을 패키지
화 해서 연산, 저장 등과 서비스를 패키지화 하는 개념
On Demand Computing
PaaS, Iaas, SaaS
Cloud Computing
http://www.igloosec.co.kr/ 블로그
일반적 클라우드 모델
•SaaS : 소프트웨어/어플리케이션을 제공하는 목적으로 만들어진 모델, 표준
화된 어플리케이션 프로세스 제공 (웹메일 서비스, iCloud, Dropbox,
Google Docs, One note 등)
•PaaS : 개발자가 자신의 어플리케이션을 개발, 테스트, 실행 할 수 있는 컴퓨
팅 플랫폼을 제공 제공하는 서비스 (Linux, Apache, PHP, MySQL, MS
Azure, Google Apps 등)
•IaaS : 서버, 스토리지, 네트워크 등 인프라 자원을 사용량 기반으로 제공, 기
본 스토리지와 컴퓨팅 능력을 제공(CPU, Disk 등)(Amazon EC2, S3 등)
퍼블릭 클라우드 선호
http://www.ciokorea.com/news/33252
왜? 클라우드가 유리한가?
https://www.slideshare.net/awskorea/aws-cloud-cost-optimzation-57160936
왜? 클라우드가 유리한가?
https://www.slideshare.net/awskorea/aws-cloud-cost-optimzation-57160936
왜? 클라우드가 유리한가?
https://www.slideshare.net/awskorea/aws-cloud-cost-optimzation-57160936
사례: SundayToz
SundayToz 의 IDC 운영시 문제점과 AWS cloud 이전
https://www.slideshare.net/awskorea/idc-sundaytoz-td-sunday-toz-aws-summit-seoul-2019
사례: SundayToz
SundayToz 의 IDC 운영시 문제점과 AWS cloud 이전
https://www.slideshare.net/awskorea/idc-sundaytoz-td-sunday-toz-aws-summit-seoul-2019
사례: SundayToz
SundayToz 의 IDC 운영시 문제점과 AWS cloud 이전
https://www.slideshare.net/awskorea/idc-sundaytoz-td-sunday-toz-aws-summit-seoul-2019
AWS로 빌릴 수 있는 것...
피자를 먹는 네 가지 방법
피자를 먹는 네 가지 방법
https://medium.com/@pkerrison/pizza-as-a-service-2-0-5085cd4c365e
음식점 피자: 돈만 있으면 OK!
배달 피자: 식탁과 돈 필요
냉동 피자: 전자렌지, 식탁, 돈 필요
홈피자: 집에서 AtoZ 모두 다 필요
피자를 먹는 네 가지 방법
https://medium.com/@pkerrison/pizza-as-a-service-2-0-5085cd4c365e
음식점 피자: Software 통채로 대여
배달 피자: Platform까지대여
냉동 피자: Infrastructure만 대여
홈피자: Cloud 안 씁니다
피자를 먹는 네 가지 방법
http://azuredummies.com/2016/01/05/azure-sql-services-paas-concept-overview/
음식점 피자: Software 통채로 대여
배달 피자: Platform까지대여
냉동 피자: Infrastructure만 대여
홈피자: Cloud 안 씁니다
피자를 먹는 네 가지 방법
AWS 는 - Infrastructor, Platform, Software 제공
http://azuredummies.com/2016/01/05/azure-sql-services-paas-concept-overview/
2004년 Amazon 의 고민
•1년 중에 traffic peak 일 때(예: Christmas season)는 수 많은
서버가 필요.
•하지만 이런 기간은 1년 중에 매우 짧음 (2~3주)

•대부분의 기간은 traffic peak 대비 적은 수의 서버로도 충분함

•이는 대부분의 시간 동안 많은 서버들의 사용률이 매우 낮은 문
제 발생
2004년 Amazon 의 고민
•2004년 아직 ‘Cloud’라는 용어가 흔히 쓰이지 않던 시절
•‘Amazon Web Service’라는 이름으로 SQS 발표
• ‘Amazon Web Service’는 130개가 넘는 service의 집합
AWS 이득은?
https://www.slideshare.net/awskorea/aws-9-aws-80631736
초기 선투자 비용 없음
https://www.slideshare.net/awskorea/aws-9-aws-80631736
운영비용 절감
간과하기 쉬운 숨은 비용들:
- on-premise
- IDC 이용시
https://www.slideshare.net/awskorea/aws-9-aws-80631736
탄력적 운영 확장
AWS에서는 프로그램 코드를 필요한 자원을 자동 증설 및 감소 할
수 있어 비용-효율적 뿐만 아니라 최적 성능 및 안정성을 제공
https://www.slideshare.net/awskorea/aws-9-aws-80631736
속도 및 민첩성
AWS로 수분 내 인프라를 창출할 수 있다
https://www.slideshare.net/awskorea/aws-9-aws-80631736
비즈니스에만 집중
https://www.slideshare.net/awskorea/aws-9-aws-80631736
글로벌 확장
전 세계 어디라고 수 분 내 확장해 서비스 제공 가능
https://www.slideshare.net/awskorea/aws-9-aws-80631736
가격 철학
https://www.slideshare.net/awskorea/aws-9-aws-80631736
AWS Region & Edge Location
AWS 글로벌 인프라
https://www.slideshare.net/awskorea/aws-9-aws-80631736
AWS Region and Availability
AWS Region = 도시
Availability Zone = IDC 건물
AWS Region
전 세계 21개 지리적 Region 내에 64개 Availability zone
AWS Edge Location
AWS Edge Location: CDN
https://aws.amazon.com/ko/cloudfront/features/
https://aws.amazon.com/ko/about-aws/global-infrastructure/regions_az/
아시아 태평양(서울) 리전
EC2 가용 영역: 2
2016년에 시작
아시아 태평양(홍콩) 리전
EC2 가용 영역: 3
2019년 출시
아시아 태평양(시드니) 리전
EC2 가용 영역: 3
2012년에 시작
아시아 태평양(도쿄) 리전
EC2 가용 영역: 4*
2011년에 시작
아시아 태평양(싱가포르) 리전
EC2 가용 영역: 3
2010년에 시작
AWS 보안 포트폴리오
https://www.slideshare.net/awskorea/aws-9-aws-80631736
Security
Amazon CloudFront, AWS Shield, AWS Web Application
Firewall(WAF), Amazon Route 53은 네트워크 및 애플리케이션 계
층 DDoS 공격을 비롯한 여러 유형의 공격에 대해 유연한 계층형 보안
방어를 구축하고 있다.
https://d0.awsstatic.com/whitepapers/Security/DDoS_White_Paper.pdf
Security
네트워크 계층별 공격 유형
https://d0.awsstatic.com/whitepapers/Security/DDoS_White_Paper.pdf
UDP Reflection AttackDDOSAttack
SYN Flood Attacks
Infrastructure Layer Attacks
Application Layer Attacks
HTTP flood attack, cache-busting attacks, and WordPress XML-RPC floods.
Security: Protects
네트워크 계층별 대응 사례
https://d0.awsstatic.com/whitepapers/Security/DDoS_White_Paper.pdf
Protecting API Endpoints (BP4)
Detect and Filter Malicious Web Requests (BP1, BP2)
Scale to Absorb (BP6)
Security Groups and Network Access Control Lists (NACLs) (BP5)
Protecting Your Origin (BP1, BP5)
Deliver at Scale Using AWS Edge Locations (BP1, BP3)
Security: Protects
Edge & Regions 에서의 공격 대응
https://d0.awsstatic.com/whitepapers/Security/DDoS_White_Paper.pdf
실습: 10분 자습
1. Linux 가상머신 시작
2. 파일 버켓 사용
https://aws.amazon.com/ko/getting-started/tutorials/
AWS 서비스 사용 튜토리얼
https://aws.amazon.com/ko/getting-started/tutorials/
AWS 튜토리얼 시작!
AWS에서 제일 핵심인 EC2, S3, RDS 를 실습해 보자.
https://aws.amazon.com/ko/getting-started/tutorials/
AWS 서비스 포트폴리오
필요한 만큼 원하는 서비스를 사용한다
LEGO 블럭처럼 서비스를 조합해 나만의 인프라를 구축한다.
https://www.slideshare.net/awskorea/aws-9-aws-80631736
AWS 서비스 포트폴리오
AWS 서비스들은 하나씩 개별적으로 사용 가능하지만,
AWS 서비스 포트폴리오
함께 힘을 합치면 우주를 초월합니다.
EC2
Elastic Compute Cloud
* 2017/10/2 부터 초당 과금 적용 중.
https://www.slideshare.net/awskorea/aws-9-aws-80631736
EC2: 인스턴스 패밀리 종류
https://www.slideshare.net/awskorea/aws-9-aws-80631736
EC2: 과금 옵션 및 비용 최적화
https://www.slideshare.net/awskorea/aws-9-aws-80631736
Auto Scaling
자동 서버 확장/축소
https://www.slideshare.net/awskorea/aws-9-aws-80631736
Auto Scaling
자동 확장/축소 없이 최대 용량을 사용한다면
https://www.slideshare.net/awskorea/aws-9-aws-80631736
Auto Scaling
자동 확장/축소로 최대 용량을 사용한다
https://www.slideshare.net/awskorea/aws-9-aws-80631736
Auto Scaling
자동 확장/축소로 최대 용량을 사용한다
https://www.slideshare.net/awskorea/aws-9-aws-80631736
AWS Storages:
https://www.slideshare.net/awskorea/aws-9-aws-80631736
S3
Simple Storage Service
https://www.slideshare.net/awskorea/aws-9-aws-80631736
S3: 스토리지 옵션
S3, Glacier 와의 라이프사이클 관리
https://www.slideshare.net/awskorea/aws-9-aws-80631736
AWS Database 서비스
https://www.slideshare.net/awskorea/aws-9-aws-80631736
RDS
AWS의 Managed 관계형 데이터베이스 서비스
https://www.slideshare.net/awskorea/aws-9-aws-80631736
일반적 AWS 사례
EC2로 서버를 구성한다.
1. 직접 서비스 구성
2. S3 인스턴스와 구성
3. RDS 인스턴스와 구성
EC2
AWS 사례 예시
먼저 서버 1대로 시작
EC2
AWS 사례 예시
EC2 하나에 모두 설치
EC2
AWS 사례 예시
RDS 라는 Full managed DB를 연결
EC2
AWS 사례 예시
확장을 위해 EC2 추가
EC2EC2EC2
AWS 사례 예시
정적 파일을 위한 무제한 용량의 S3 Storage
EC2EC2EC2
S3
AWS 사례 예시
서버 이중화(HA)를 위해서 ELB를 사용할 수 있다.
AWS 사례 예시
비동기 작업을 위해서 SQS (Simple Queue Service)
https://aws.amazon.com/sqs/
AWS 사례 예시
Mobile App Push 알림을 제공하는 SNS(Simple Notification
Service)
https://aws.amazon.com/sns/
AWS 사례 예시
가끔 있는 비동기 작업을 위해서 Lamda
https://aws.amazon.com/ko/lambda/
https://www.slideshare.net/awskorea/aws-9-aws-80631736
1. Linux 가상머신 시작
EC2
Amazon Elastic Compute Cloud(EC2)
https://aws.amazon.com/ko/ec2/?nc2=h_m1
Virtual Machine
재구성이 가능한 컴퓨팅 리소스
쉽게 확장/축소 되는 컴퓨팅 용량
서비스 대상에 따른 다양한 인스턴스
사용한 만큼만 과금(pay-as-you-go)
EC2
1. 계정생성과 로그인
https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine
2.Amazon EC2 인스턴스 시작
Amazon Elastic Compute Cloud(EC2)에서는 가상 머신을 '인
스턴스'라고 한다.
• AWS Management Console

https://console.aws.amazon.com/console/home
2.Amazon EC2 인스턴스 시작
Launch Instance를 선택하여 가상 머신을 생성 및 구성한다.
3.인스턴스 구성
EC2 Launch Instance 마법사에서 AMI(Amazone Machine
Image)를 선택한다.
3.인스턴스 구성
인스턴스 유형을 선택합니다. 인스턴스 유형은 다양한 CPU, 메모
리, 스토리지 및 네트워킹 용량의 조합으로 구성
리뷰
3.인스턴스 구성
Review & Launch 페이지에서 선택된 구성, 스토리지, 태깅 및 보
안 설정을 검토할 수 있다.
실행
E2: 인스턴스의 구분
https://www.slideshare.net/awskorea/aws-9-aws-80631736
3.인스턴스 구성
Create a new key pair 를 선택하고 MyKeyPair 이름을 입력한 후
에 Download Key Pair
새 Key file
다운로드한
Key file
Launch Instance를 클릭하여
Linux 인스턴스를 시작합니다.
3.인스턴스 구성
다운로드한 Key Pair인 MyKeyPair 주의해서 보관.
•Windows 사용자
•키 페어를 .ssh라는 하위 디렉터리
•예) C:user{yourusername}.sshMyKeyPair.pem
•Mac/Linux 사용자:
•키 페어를 홈 디렉터리의 .ssh 하위 디렉터리
•예) ~/.ssh/MyKeyPair.pem
3.인스턴스 구성
View Instance 로 실제 구성한 인스턴스 내용을 확인
3.인스턴스 구성
Instance State 열이 ‘running’으로 변경되고 퍼블릭 IP 주소가 표
시
3.인스턴스 구성
선택한 Instance의 세부 내역
4.인스턴스에 연결
인스턴스를 시작한 후에는 SSH를 사용해 연결한다.
•Windows 사용자:
•Windows에서 Git Bash 설치(SSH 포함)
•https://git-scm.com/download/win
•Mac/Linux 사용자:
•Mac / Linux는 터미널 창 사용
Windows에 Git Bash 설치
- https://git-scm.com/download/win
Windows에 Git Bash 설치
다운로드 설치 프로그램을 실행하고 기본 설정을 선택하면, Git
Bash를 Git의 일부로 설치한다.
Windows에 Git Bash 설치
다운로드 설치 프로그램을 실행하고 기본 설정을 선택하면, Git
Bash를 Git의 일부로 설치한다.
Windows에 Git Bash 설치
다운로드 설치 프로그램을 실행하고 기본 설정을 선택하면, Git
Bash를 Git의 일부로 설치한다.
데스크톱 아이콘, 혹은 마우스 오른
쪽 버튼으로 클릭하고

Git Bash Here로 실행
4.인스턴스에 연결
클라이언트에서 SSH를 사용해 EC2 인스턴스에 연결한다.
Linux 인스턴스 유형의 시스템 사용자 계정
- Amazon Linux 2, Amazon Linux AMI: ec2-user
- CentOS: centos
- Debian: admin 또는 root
- Fedora: ec2-user 또는 fedora
- RHEL: ec2-user 또는 root
- SUSE: ec2-user 또는 root
- Ubuntu: ubuntu
ssh -i {path of.pem file} ec2-user@{instance IP address}
4.인스턴스에 연결
절대 경로
상대 경로
Authentication 메시지
인스턴스의 Public IP
ssh -i 'c:Usersadamglic.sshMyKeyPair.pem' ubuntu@52.27.212.125
ssh -i '.sshMyKeyPair.pem' ubuntu@52.27.212.125
인스턴스 OS 기본 계정
다운로드한 MyKeyPair.pem
4.인스턴스에 연결
이제 클라우드의 AWS Linux 가상 머신에 연결됐다.
5. 인스턴스의 종료
인스턴스는 EC2 콘솔에서 Stop, Reboot, Terminate 할 수 있다.
- Stop 으로 실행을 멈출 수 있다.
5. 인스턴스의 종료
사용 않는 인스턴스를 종료해 더는 비용이 부과되지 않도록 한다.
Terminate는 인스턴스
를 제거한다
2. 파일 버켓 사용
S3
Simple Storage Service
https://aws.amazon.com/ko/ec2/?nc2=h_m1
객체 기반 무제한 파일 저장

스토리지
99.9999999999% 내구성
사용한 만큼만 지불
URL 통해 손쉽게 파일 공유
정적 웹 사이트 호스팅 가능
1. Amazon S3 콘솔 열기
AWS Management Console에서 검색 창에 S3를 입력하고 

S3를 선택하여 콘솔을 엽니다.
2. S3 버킷 생성
Amazon S3 버킷을 생성한다. 버킷은 파일 저장 컨테이너이다.
a. Create Bucket 을 클릭한다.
2. S3 버킷 생성
b. 버킷 이름을 입력한다.
- 버킷 이름은 S3에 있는 어떤 기존 버킷 이름과도 중복되지 않아
야 한다
2. S3 버킷 생성
b. 버킷 이름을 입력한다.
- 도메인 이름 규칙으로 입력하는 것을 권한다
예) mys3.thinkbee.kr
2. S3 버킷 생성
c. 버전 관리, 서버 액세스 로깅, 태그, 객체 수준 로깅 및 기본 암호
화 등 옵션은 기본으로 두자!
2. S3 버킷 생성
d. S3 버킷에 대한 권한을 설정은 기본값을 그대로 두자!
2. S3 버킷 생성
e. 구성 설정을 확인하고 Create bucket을 선택
3. 파일 업로드
이 단계에서는 파일을 새로운 Amazon S3 버킷에 업로드한다.
a. 사용할 버킷을 선택해 이동한다.
버킷의 이름을 클릭하여 버킷
으로 이동한다.
3. 파일 업로드
b. 버킷 홈페이지로 이동해서 Upload를 선택한다.
파일을 선택한다
3. 파일 업로드
c. 업로드 파일 확인
d. 객체에 대한 권한을 설정에서 Next
3. 파일 업로드
e. 스토리지 클래스, 암호화 및 메타데이터와 같이 객체의 속성
f. 구성을 확인하고 Upload를 선택
4. 객체 검색
이 단계에서는 Amazon S3 버킷에서 파일을 다운로드한다.
4. 객체 검색
이 단계에서는 Amazon S3 버킷에서 파일을 다운로드한다.
4. 객체 검색
파일 객체를 Download, Delete 할 수 있다.
3. 웹 애플리케이션 시작
Elastic Beanstalks 이용
웹 애플리케이션
사전에 구축된 샘플 PHP 애플리케이션을 사용.
AWS Console 에서 검색 창에 "elastic beanstalk"를 입력하고
Enter를 누릅니다.
1. 새 애플리케이션 생성
AWS Elastic Beanstalk 대시보드에서 Create New Application
을 클릭하여 애플리케이션을 생성 및 구성한다.
Elastic Beanstalk
2. 애플리케이션 구성
a. Application name에는 "php-sample-app" 을 입력
b. Description 필드에는 Sample PHP App을 입력
3. 환경 구성
샘플 PHP 애플리케이션을 위한 웹 서버 환경을 생성합니다.
Create one now 를 클릭한다.
php-sample-app
3. 환경 구성
b.Environment Information에서 도메인 이름을 입력한다.
도메인 이름을 넣고 체크한다.
3. 환경 구성
c. Predefined configuration 옆에 있는 Select a platform을 클
릭한 후 PHP를 선택
PHP 선택
3. 환경 구성
d. 샘플 코드 업로드
Upload 한다
3. 환경 구성
e. 환경생성
3. 환경 구성
f. 환경생성해서 애플리케이션 시작
- 애플리케이션을 시작하는 데 몇 분 정도 걸릴 수 있습니다.
4. Elastic Beanstalk 애플리케이션
성공적으로 생성하면 앱 구성 화면이 표시되고,
- 앱 이름을 클릭하면 Elastic Beanstalk 대시보드 페이지로 이동.
Elastic Beanstalk
4. Elastic Beanstalk 애플리케이션
실제 웹 앱은 상단 도메인을 클릭한다.
웹 앱을 실행한다
4. Elastic Beanstalk 애플리케이션
실제 웹 앱은 상단 도메인을 클릭한다.
5. 앱 수정
다운 받은 샘플 php-v1.zip 소스 압축을 푼다
5. 앱 수정
에디터 (여기서 Atom 에디터)를 사용하자
- https://atom.io
5. 앱 수정
에디터로 index.php 를 열고 <title> 부분과 적당한 부분을 수정하
고 저장한다.
타이틀과 h1 을 수정했다
5. 앱 수정
php-v1 폴더 안에서 모든 파일을 압축한다.
5. 앱 수정
Elastic Beans 콘솔에서 php-sample-app 을 선택한다.
Upload 로 새 버전을
업로드하자
5. 앱 수정
새 버전 zip 압축 파일을 업로드한다.
새 버전 압축 파일을
선택한다
5. 앱 수정
새 버전 zip 압축 파일을 업로드한다.
새 버전 압축 파일이 배
포가 성공하면 현재 실
행 버전 표시가 된다.
5. 앱 수정
Application Versions 메뉴에서 

업로드한 버전들을 확인할 수 있다.
5. 앱 수정
변경 사항을 확인한다
참조
a. 아마존 웹서비스와 함께 하는 클라우드 비용 최적화 전략, slideshare, 윤석찬

https://www.slideshare.net/awskorea/aws-9-aws-80631736
b. Virtualization(https://slideplayer.com/slide/9445294/), Danny Silver
c. AWS Solutions, Case study(https://aws.amazon.com/ko/solution)
d. 자습서: https://aws.amazon.com/ko/getting-started/tutorials/

비트교육센터-AWS활용 1주차: EC2, S3, Elastic Beanstalks 사용