AWS 웨비나 시리즈를 마감하면서 첫 강연부터 마지막 강연까지 여러분이 가장 궁금해 했던 10가지 질문에 대해 심층적으로 다루어 보고자 합니다. 각 강연에서 공통으로 다루어졌던 주제 및 질문 시간을 통해서 가장 많이 물어보신 사항과 모든 분들이 꼭 알고 계시면 좋을 내용을 모을 예정입니다.
이번 월간 웨비나에서는 AWS 클라우드를 통해 어떻게 손쉽게 소프트웨어를 개발하고, 배포하는 과정을 자동화 할 수 있는지를 알아 봅니다. 이를 위해 Amazon.com의 소프트웨어 개발 과정 상의 경험과 이를 토대로 만들어진 AWS CodeDeploy와 CodePipeline 서비스를 소개해 드리고, 이를 통해 EC2 인스턴스 뿐만 아니라 기존 서버에 손쉽게 배포하는 방법을 알려드립니다. 본 세션을 통해 클라우드를 통한 민첩하고 빠른 개발 및 배포를 통해 진화된 데브옵스(DevOps) 프로세스를 정립할 수 있는 방법을 안내해 드립니다.
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
사이드프로젝트를 진행하면서 겪은 다양한 인프라 구축 노하우를 소개합니다.왜 EKS가 아닌 Elastic Beanstalk를 사용했는지, Codepipeline을 이용한 깃헙에서 배포까지의 플로우, AWS ChatBot을 사용한 모니터링과 CodeBuild로 빌드하기 등을 소개합니다.
AWS 웨비나 시리즈를 마감하면서 첫 강연부터 마지막 강연까지 여러분이 가장 궁금해 했던 10가지 질문에 대해 심층적으로 다루어 보고자 합니다. 각 강연에서 공통으로 다루어졌던 주제 및 질문 시간을 통해서 가장 많이 물어보신 사항과 모든 분들이 꼭 알고 계시면 좋을 내용을 모을 예정입니다.
이번 월간 웨비나에서는 AWS 클라우드를 통해 어떻게 손쉽게 소프트웨어를 개발하고, 배포하는 과정을 자동화 할 수 있는지를 알아 봅니다. 이를 위해 Amazon.com의 소프트웨어 개발 과정 상의 경험과 이를 토대로 만들어진 AWS CodeDeploy와 CodePipeline 서비스를 소개해 드리고, 이를 통해 EC2 인스턴스 뿐만 아니라 기존 서버에 손쉽게 배포하는 방법을 알려드립니다. 본 세션을 통해 클라우드를 통한 민첩하고 빠른 개발 및 배포를 통해 진화된 데브옵스(DevOps) 프로세스를 정립할 수 있는 방법을 안내해 드립니다.
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
사이드프로젝트를 진행하면서 겪은 다양한 인프라 구축 노하우를 소개합니다.왜 EKS가 아닌 Elastic Beanstalk를 사용했는지, Codepipeline을 이용한 깃헙에서 배포까지의 플로우, AWS ChatBot을 사용한 모니터링과 CodeBuild로 빌드하기 등을 소개합니다.
최근 Docker 콘테이너를 기반으로 하는 효율적인 애플리케이션 배포 및 운영에 대해 관심이 높아지고 있습니다.
Amazon EC2 Container Service(ECS)는 Docker 콘테이너를 지원하는 확장성과 성능이 뛰어난 콘테이너 관리 서비스입니다. Amazon ECS를 사용하면 자체적인 클러스터 관리 인프라를 설치, 운영 및 확장할 필요가 없으며, 다른 AWS 서비스와 연동하도록 설계 되어 있습니다.
본 강의를 통해 Amazon ECS의 소개 및 장점, 그리고 관리 방법 등에 대한 소개를 통해 어떻게 AWS 클라우드에서 효율적으로 확장 가능한 콘테이너 서비스를 운영할 수 있을지 알려드립니다.
AWS 상에서 컨테이너를 활용하여 클라우드 인프라를 더욱 효과적으로 사용하는 방법에 대하여 다룹니다. 컨테이너를 업무 환경에 적용하기 위해서 고려해야 할 사항이 많아 어렵게만 느껴지던 주제들을 간편한 실습 과제를 해보면서 어렵지 않게 적용 할 수 있게 구성된 워크샵입니다.
단순한 컨테이너 프로비저닝을 시작으로, 스팟 인스턴스를 활용한 컨테이너 배포와 사용량에 따른 인스턴스 최적화 및 어플리케이션 로드밸런서를 활용한 컨테이너 오케스트레이션 구성에 대해서도 실습해 볼 수 있습니다.
이를 통하여 컨테이너를 실제 업무에 적용함으로서 보다 유연하고 비용효율적인 클라우드 인프라를 구성할 수 있는 방법을 습득 하실 수 있습니다.
최근 입문용 혹은 개발 및 데이터 분석 용도로 파이썬을 사용하는 개발자들이 많이 늘고 있습니다. 본 세션에서는 파이썬을 활용하여 AWS에서 해 볼 수 있는 다양한 서비스와 기능을 소개하고자 합니다. 그 중에서도 Django 및 Flask 같은 웹 프레임워크를 AWS Elastic Beanstalk으로 손쉽게 배포하고 운영하는 방법, AWS Lambda를 통해 Python 기반 서버리스 애플리케이션을 제작하는 방법 그리고, Boto3와 AWS Python SDK를 통해 AWS의 다양한 서비스 API를 다루는 방법을 살펴 봅니다. Python으로 구성된 AWS 기반 인기 오픈 소스 프로젝트를 소개하여 직접 참여하는 방법을 안내합니다. 특히, 가상 서버 호스팅인 AWS re:Invent에서 새로 소개된 Amazon Lightsail 등도 함께 소개합니다.
Amazon Elastic Compute Cloud (Amazon EC2)는 손쉽게 확장 가능한 컴퓨팅 자원을 클라우드로 제공하며, 대부분 EC2 사용으로 AWS 사용을 시작하는 것이 보통입니다. 본 강연에서는 Amazon EC2의 기초 개념과 클라우드 컴퓨팅으로 빠르고 가볍게 가상머신을 실행하는 법에 대해 알아봅니다.
또한 이 강연에서는 EC2 인스턴스의 종류와 Amazon Machine Image (AMI) 사용 방법, 이를 통해 손쉽게 인스턴스를 동적으로 제공하는 부트스트래핑(Bootstrapping), 그리고 CloudWatch를 통한 EC2 모니터링 방법, 마지막으로 오토스케일링 (Autoscaling)으로 확장성 아키텍처를 구성하는 방법에 대해서도 알아볼 수 있습니다.
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타
Microsoft 워크로드에 대한 탁월한 전문성을 바탕으로 AWS의 Microsoft Competency인증을 취득한 Advanced 컨설팅 파트너사인 테크데이타에서 실제 마이그레이션 수행 시 고객사 인프라 환경을 빠르게 분석하고 자동화를 할 수 있는 AWS OLA(Optimization & License Assessment) 프로그램을 소개하고, Microsoft 워크로드를 마이그레이션시 고려해야 할 몇가지 서비스에 대해서 소개를 하였습니다.
발표영상 다시보기: https://youtu.be/eKtxHtVOlCw
AWS에서 제공하는 컨테이너 관련 서비스에 대해 이야기 합니다. 왜 오케스트레이션이 필요한지 이야기하고, 관리형 컨테이너 오케스트레이션 서비스인 EKS, ECS를 알아봅니다. 더 나아가 클러스터를 관리할 필요 없는 Fargate에게 컨테이너를 맡기시면 여러분은 비지니스 코드에만 집중할 수 있습니다.
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
8. ‘Cloud Computing’ 이란 ?!?
• 여기서 '전산 자원’이란
server, storage, network 같은
물리 hardware 장비 뿐만 아니라
platform과 application이라는
software까지 포함
8
전산 자원들의 공유하는 기술과 도구의 집합
28. Elastic?
• AWS의 service 이름 중에 ‘E’(elastic)으로 시작되는 경우가 다수
28
EC2 : Elastic Compute Cloud
EBS: Elastic Block Store
EMR: Elastic MapReduce
EB: Elastic Beanstalk
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쪽 참고
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
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/
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