Upload
amazon-web-services-korea
View
232
Download
5
Embed Size (px)
Citation preview
박철수 | 솔루션즈 아키텍트
2016 년 10 월 25 일
AWS 에서 MS 윈도우 운영 , 관리 및 개발 손쉽게 하기
목차
• AWS 상에서의 MS 윈도우 특징• AWS 상에서 윈도우 설치 , 운영 , 관리
• 설치 옵션 , 인스턴스 종류 , 부트스트래핑 , 모니터링 및 관리 , 이미지 가져오기 등
• AWS 상에서 윈도우 개발 환경• 기타 문제 해결 도구
AWS 상에서의 MS 윈도우
AWS 기반의 MS 윈도우
2008 년 이후 Microsoft 워크로드는 AWS 에서 완벽히 지원됨
Microsoft 워크로드를 위한 전용팀 운영 :• 아마존 머신 이미지 (AMI), EC2Config 서비스 ,
드라이버 , 패치• 시작 가이드 , 문서• 백서 , 참조 아키텍처 , 퀵랩 (qwikLABS)• 라이선스 가이드를 포함한 Microsoft FAQAWS 고객들은 가용한 모든 Microsoft 서버 애플리케이션을 성공적으로 배포해서 사용 중입니다
팀에 문의하기 : [email protected]리소스 찾기 : http://aws.amazon.com/windows
보안 안정성 고성능 친숙함 비용 최적화 범용 유연성
AWS 기반의 MS 윈도우 특징클라우드에서 기업 애플리케이션 실행
윈도우 서버 애플리케이션을 손쉽게 관리
애플리케이션의 보안 상태 강화
Microsoft 애플리케이션과 관리된 비용 절감
비즈니스에 대한 세계적 수준의 엔드 - 투 - 엔드 지원 받기
AWS 기반의 MS 윈도우 특징다양한 비즈니스 애플리케이션
새로운 비즈니스 애플리케이션을 신속하게 배포 및 확장
유연한 구매 옵션으로 조달을 간소화
완전 관리형 인프라에 애플리케이션 배포
AWS 기반의 MS 윈도우 특징새로운 애플리케이션 개발 및 배포
Microsoft 애플리케이션을 더 빠르게 구축
익숙한 도구 활용 DevOps 접근 방식으로 자동화
AWS 기반의 MS 윈도우 특징하이브리드 클라우드 접근 방식 활용
간단하게 AWS 클라우드 내에 격리된 전용 사설 데이터 센터 생성
AWS 를 온 - 프레미스 데이터 센터의 자연스러운 확장으로 사용
AWS 에서의 기업 애플리케이션
• 고 - 가용성 애플리케이션 배포
• BYOL 또는 사용당 지불 (PAYG)
• 규정 준수에 도움을 주는 계층 방식의 보안 접근
• 신뢰성과 가용성을 위한 다중 -AZ 아키텍처 활용
AWS Quick Start
http://aws.amazon.com/quickstart/
• 고 - 가용성을 위한 참조 아키텍처
• 광범위한 문서• 고객 배포 및 AWS 모범 사례
기반• DevOps 팀과 완벽하게 작동• 아래 내용 포함 :
• SQL Server 의 WSFC• SharePoint, Lync,
Exchange• Active Directory DS• WAP & AD FS
AWS Quick Start
정보 보안
기업 애플리케이션 최종 사용자 컴퓨팅비즈니스 애플리케이션Amazon EC2 for Windows Server, Amazon RDS, AWS CloudFormation, Amazon CloudFront
Amazon EC2 for Windows Server, AWS Directory Service, Amazon RDS, AWS Marketplace
Amazon WorkSpaces, Amazon AppStream, AWS Marketplace, AWS Mobile Services, SaaS
AWS Identity and Access Management (IAM), AWS CloudHSM, AWS KMS,security groups, AWS Marketplace
Amazon EC2, Amazon S3, Amazon RDS, Amazon VPC, AWS Direct Connect, AWS Directory Service, AWS IAM, AWS Service Catalog
인프라
윈도우 워크로드를 위한 AWS 서비스 오퍼링
AWS Elastic Beanstalk, AWS CodeDeploy, AWS OpsWorks,AWS CloudFormation
DevOps
프라이빗 서브넷퍼블릭 서브넷
가용 영역 #2
프라이빗 서브넷퍼블릭 서브넷
원격사용자 / 관리자
Microsoft아키텍처
샘플
Virtual Private
Gateway
기업 데이터센터
IISApp
IISWeb
IISApp
IISWeb
VPN
Direct Connect
InternetGatewa
y
RDGW
NATGateway
RDGW
NATGateway
Directory
Service
Directory
Service
MS SQL
MS SQL
Always On 가용
그룹
VPC Endpoint
Amazon S3
가용 영역 #1
AWS서울 리전
AWS 상에서 윈도우 설치 , 운영 , 관리
윈도우 + SQL AMI
Amazon 에서 게시한 38 개의 Microsoft 윈도우 및 SQL 서버 AMI
윈도우 서버 2016
윈도우 서버 2012 R2
윈도우 서버 2012
윈도우 서버 2008 R2
윈도우 서버 2008
윈도우 서버 2003
MS 쉐어포인트 파운데이션 2010 (2008R2)
6 윈도우 운영체제 버전
26 SQL 서버 버전 / 에디션
http://aws.amazon.com/windows/resources/amis/
Amazon EC2 에서 윈도우 서버 2016 실행하기• 윈도우 서버 2016 데이터 센터
윈도우 서버의 주요 버전기존 윈도우 앱 및 클라우드 네이티브 앱 모두 지원
• 윈도우 서버 2016 나노 서버
클라우드에 최적화된 최소 사양 운영체제• 윈도우 서버 2016 와 컨테이너
도커 및 윈도우 컨테이너를 포함한 윈도우 서버 2016• 윈도우 서버 2016 와 SQL 서버 2016
MS SQL 서버 2016 을 이미 포함한 윈도우 서버 2016
MS 윈도우를 위한 BYOL 라이선스 시나리오
https://aws.amazon.com/ko/windows/faq/
라이선스 유형 EC2 전용 호스트 EC2 전용 인스턴스 EC2 멀티 테넌트
윈도우 서버 OAWS 에서 제공하는 라이선스 포함 EC2
인스턴스
AWS 에서 제공하는 라이선스포함 EC2 인스턴스
SQL 서버 OO
( 윈도우 서버 라이선스 포함 EC2 전용 인스턴스에만
해당 )
O ( 라이선스 모빌리티가 적용된
라이선스가 있고 , 라이선스 포함 윈도우 서버 EC2 인스턴스에서 실행
중인 경우에만 해당 )MS 오피스 O O 해당 사항 없음
윈도우 7,8 및 10 O O 해당 사항 없음
MSDN O O X
기타O
(Microsoft 약관에 따라 )
O ( 윈도우 서버 라이선스 포함
EC2 전용 인스턴스에만 해당 )
O ( 라이선스 모빌리티가 적용된
라이선스가 있고 , 윈도우 서버 EC2 인스턴스에서 실행 중인 경우에만 해
당 )
AWS 관리 콘솔
http://aws.amazon.com/ko/getting-started/
AWS 마켓플레이스
EC2 콘솔 안에서 AWS 마켓플레이스에 있는 수천개의 AMI 를 직접 둘러보고 , 검색하고 , 발견하고 , 론치 가능
• 35 카테고리• 2,600+ 제품
AWS 윈도우 AMI 버전 내역
• AWS 윈도우 AMI 는 Microsoft 발행 미디어에서 설치하는 윈도우 서버와 동일한 방식으로 구성
• EC2Config 서비스라는 추가 서비스가 설치된 상태로 제공• 로컬 시스템 계정으로 실행• 초기 설정 동안 주로 사용• 부트 스트래핑 기능을 통해 사용자 설정 및 구성 설정 변경 가능
• 주기적으로 윈도우 보안 및 EC2Config 서비스 업데이트 등을 수행하여 새로운 AMI 버전 제공
• 추가로 필요한 업데이트 설치는 사용자가 수행http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html
EC2Config 서비스
• AWS 에서 윈도우 AMI 에 설치한 추가 서비스• 로컬시스템 계정으로 실행• 작업 유형
1. 인스턴스가 최초 생성될 때 초기 시작 작업 수행2. 인스턴스가 시작할 때마다 수행되는 작업3. 사용자가 로그인할 때마다 수행되는 작업4. 인스턴스 수행 중에 온 - 디맨드로 요청된 작업 수행
EC2Config 서비스 작업 유형
1. 인스턴스가 최초 생성될 때 초기 시작 작업 수행• 이 작업은 이후 비활성화 됨
• 다시 활성화하기 위해서는 인스턴스 종료 전에 명시적으로 활성화하거나 , Sysprep 를 수동으로 수행
• Administrator 계정을 위한 암호화된 랜덤 암호 설정• 원격 데스크톱에 사용되는 호스트 인증서 생성 및 설치• 파티션 처리되지 않은 공간을 포함시켜서 OS 파티션을 동적으로
확장• 지정된 사용자 데이터 실행
EC2Config 서비스 작업 유형 - 계속
2. 인스턴스가 시작할 때마다 수행되는 작업• 16진수 표기법으로 프라이빗 IP 주소와 일치하도록 호스트 이름
변경 ( 기본적으로 비활성화됨 )• KMS 구성 , 윈도우 정품 인증 상태 확인 , 필요한 경우 윈도우
정품 인증 활성화• 모든 EBS 및 인스턴스 스토어 볼륨을 마운트해서 드라이브 문자에
매핑• 문제 해결을 돕기 위해 이벤트 로그 항목을 콘솔에 기록 (
기본적으로 비활성화 됨 )• 윈도우가 준비된 상태를 콘솔에 기록• 복수 NIC 이 연결될 경우 , 윈도우 정품 인증 및 메타데이터 접근을
위해 169.254.169.250, 169.254.169.251, 169.254.169.254 IP 주소를 기본 네트워크 어댑터에 사용자 지정 라우팅 추가
EC2Config 서비스 작업 유형 - 계속
3. 사용자가 로그인할 때마다 수행되는 작업• 사용자 바탕화면 배경에 월페이퍼 정보 표시
4. 인스턴스가 수행 중에 온 - 디맨드로 요청된 작업 수행• AMI 를 인스턴스에서 생성할 수 있도록 Sysprep 을
실행하고 인스턴스 종료• EC2 Run Command 요청을 처리
EC2Config 서비스 속성
[ 시작 ]-[ 모든 프로그램 ]-[EC2ConfigService Settings]
• 컴퓨터 이름 설정• 사용자 데이터• 이벤트 로그• CloudWatch Logs• 월페이퍼 정보
• 인스턴스 생성 시 , 사용자가 입력한 스크립트를 실행하는 기능
• 최대 16KB 텍스트 까지 인스턴스에 전달
•AMI 로 어려운 동적인 설정 구현 : • 인스턴스가 생성될 때 시크립트 시작
• chef, puppet 및 외부 프로그램에 매개 변수 값 전달
• 사용자 데이터로 사용할 수 있는 2 가지 형식 :• 스크립트
• cloud-init 지시문 ( 리눅스 인스턴스 )• 사용자 데이터 스크립트 및 로그 위치
• C:\Program Files\Amazon\Ec2ConfigService\Scripts\UserScript.bat 또는 UserScript.ps1
• C:\Program Files\Amazon\Ec2ConfigService\Logs\EC2ConfigLog.txt
부트스트래핑 : 인스턴스 사용자 데이터
• 리눅스 : • #! 로 시작
• 윈도우 : • <script></script> 또는
<powershell></powershell> 태그이용
Simple Systems Manager
• 지속적으루 구성 적용• 어떠한 컴퓨터에도 접속하지 않음• 전체 추적 – AWS CloudTrail 을 통해 호출 감사• 세분화된 제어• Simple System Manager 의 기능
1. SSM Config• 현재 윈도우만 지원• SSM 문서에 정의된 윈도우 구성을 설정 및 관리
2. EC2 Run Command ( 미리 정의된 작업 ):• AWS-JoinDirectoryServiceDomain• AWS-RunPowerShellScript• AWS-UpdateEC2Config• AWS-ConfigureWindowsUpdate• AWS-InstallApplication• AWS-InstallPowerShellModule• AWS-ConfigureCloudWatch
http://tinyurl.com/AWS-SSM-Home
Amazon EC2 Run Command
…
AWS 관리 콘솔 명령어 및 스크립트 AWS API
인터넷
통합 제어 관리
Amazon EC2
Amazon EC2
온 - 프레미스 데이터 센터
…
서울 리전
다른 클라우드
…
🅢 🅢
🅢🅢
🅢 🅢
SSM 에이전트 ( 리눅스 ) 및 EC2Config 서비스 ( 윈도우 ) 에서 처리
에이전트 아키텍처
172.16.0.0/16
가용 영역#1
EC2 인스턴스
IAM 역할
SSM 에이전트 (EC2Config)프레임워크
( 플러그인 , 오케스트레이션 , 로깅 , …)
플러그인 1
GetConfig
플러그인 2플러그인 n
AWS Active Directory
Cloudwatch
파일 소스 (https / s3)
인터넷
SSM Config 서비스
도메인 조인
Perf 카운터 업로드
MSI 및 PS 모듈 다운로드
구성 업데이트 체크
EC2 Run Command 지원 범위
• 지원 OS:• 윈도우 2016• 윈도우 2012 와 2012 R2• 윈도우 2008 과 2008 R2• 윈도우 2003 과 2003 R2• Amazon Linux • Ubuntu Server 12.04 LTS 및 14.04 LTS• RedHat Enterprise Linux 7.x
• 사용 가능 리전 :• 초기에는 몇몇 선택된 리전에서만 사용할 수 있었지만 , 문바이 리전과
GovCloud 를 제외하고 모든 리전에서 가용 가능
EC2 Run Command 사용 사례
• 시스템 모니터링• 모니터링 플랫폼 – 기존 엔터프라이즈 스케쥴러 교체• CPU/메모리 사용량• 파일 시스템 모니터링• 윈도우 업데이트 구성
• 부트스트래밍 • CI/CD 도구 (Chef / Puppet / Ansible / DSC)• 배포 파이프라인 구축 , 인스턴스에 코드 푸시
• 운영 관리• SSH/RDP 포트를 개방하지 않고 인프라 관리 , 보안 상태 개선• Run Command, API Gateway 와 Lambda 를 사용해 AD 사용자 조종• 인벤토리 관리 ( 매 N분마다 인스턴스 조회 )
Amazon CloudWatch
모니터링을 통해서 EC2 인스턴스 및 솔루션의 안정성 , 가용성 및 성능을 유지할 수 있음
• AWS 서비스• 사용자 정의 메트릭• 사용자 로그
CloudWatch 를 통한 일반적인 모니터링 항목
모니터링 항목 Amazon EC2 지표 모니터링 스크립트 / CloudWatch Logs
CPU CPUUtilization메모리 사용률 , 사용된 메모리 및 가용 메모리
성능카운터를 CloudWatch 로 , 로그를 CloudWatch Logs 로 전송
네트워크 사용률 NetworkInNetowkrOut
디스크 성능 DiskReadOpsDiskWriteOps
Page 파일 사용률 ( 윈도우 ) 성능카운터를 CloudWatch 로 , 로그를 CloudWatch Logs 로 전송
http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/send_logs_to_cwl.html
방법 1: CloudWatch 메트릭 이용해 생성
방법 2: EC2 Actions 메뉴를 이용해 생성
CloudWatch 알람
AWS System Manager
• Microsoft System Center VMM을 통한 EC2 인스턴스 관리
• 윈도우 사용자에게 친숙한 인터페이스
• 하이브리드 클라우드 시나리오 지원
• 엔터프라이즈 Hyper-V 워크로드를 EC2 로 이전
• 가져오기를 통해 인스턴스 생성 (Not AMI)
AWS Management PackMicrosoft System Center Operations Manager 를 통해 AWS 리소스 관리
모든 AWS 리전과 하이브리드 자원를 모니터링할 수 있도록 활성화 :• EC2 인스턴스• EBS 볼륨• ELB 로드 밸런서• 자동 확장 그룹 및 가용 영역• Elastic Beanstalk 애플리케이션• CloudFormation 스택• CloudWatch 알람• CloudWatch 사용자 정의 메트릭
AWS Management Pack 주요 구성 요소
① SCOM 인프라하나 이상의 관리 서버와 종속 항목
② 리소스 풀.NET 용 AWS SDK 를 사용하여 AWS 와 통신하는데 사용되는 하나 이상의 관리 서버 ( 인터넷 연결 필수 ). AWS 리소스를 발견하고 모니터링
③ AWS 자격 증명 AWS API 를 호출하는데 사용되는 액세스키 ID 및 보안 액세스 키
④ EC2 인스턴스AWS 클라우드에서 실행 중인 가상 컴퓨터
EC2 인스턴스 상태
EC2 인스턴스 다이어그램
Amazon EBS 볼륨
Amazon EBS 볼륨 다이어그램
Elastic Load Balancing
Elastic Load Balancing 다이어그램
Amazon CloudWatch 측정치
AWS Management Portal
• VMware vCenter 플러그 - 인
• VM 을 AWS EC2 로 쉽게 마이그레이션
• 친숙한 인터페이스를 통해서 AWS 자원 관리 (VPC, 서브넷 , 보안 그룹 , AMIs, 등 )
• SSO(SAML 2.0), RBAC 및 AD 등의 다양한 인증 지원
마이그레이션 옵션
• AWS VM Import/Export• AWS Import/Export Snowball• AWS Database Migration
Tool • VMware vCenter 를 위한
AWS Management Portal• Microsoft System Center
VMM 를 위한 AWS Systems Manager
• AWS Data Pipeline
• 파트너 도구
가상 머신 가져오기 (VM import)
몇 가지 도구 :• 윈도우 SysInternals Disk2Vhd• P2V 마이그레이션 툴 (SCVMM 한 부분 )
• http://blogs.technet.com/b/chrad/archive/2011/09/09/vhdcapture-amp-vhdprep-using-these-tools-to-p2v-your-physical-server-to-usb-network-share.aspx
• 주요 구성 요소 • VHD Capture• VHD Capture Wizard• VHD Prep
EC2 가져오기 (import) 요구 조건• http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/VMImportPrerequisites.html
P2V 및 EC2 로 VM 가져오기
가상 머신 가져오기
(1) P2V
(2) 업로드
(4) 변환 요청
(5) EC2 는 임시 역할(role) 신원 정보를 사용해서 VHD 를 다운로드
(6) VHD 변환 -> 새로운 프라이빗 AMIAmazon
EC2
프라이빗 퍼블릭 마켓플레이스
Amazon S3 버킷
디스크 이미지 (VHD)
아마존 머신 이미지 (AMIs)
(3) Setup role and permissions
가상 머신 가져오기 고려 사항
• 원본 윈도우- 원격 접속 활성화 및 방화벽 설정- 관리자 권한의 사용자 생성 및 사용자 암호 정책 설정
• Amazon S3 로 VM 이미지를 어떻게 업로드하는 방법• EC2 를 위한 접근 역할 (role) 구성
- 일회성 작업• 가져오기 (import) 변환을 시작하는 방법
- 변환이 완료될 때까지 대기
가져오기 이후 구성
( 가벼운 자동화 ) 부트스트래핑 계층• 윈도우 인스턴스를 론치할 때 , 자동 - 도메인 조인
• Simple AD 와 AD Connector 를 통해서 AWS Directory Service 에 조인하는 것 지원
• PowerShell 모듈 설치• MSI 패키지 설치• CloudWatch Logs 와 메트릭 구성
PowerShell DSC, Chef 등으로 좀 더 보완• 부트스트랩은 SSM 사용• 선택적으로 , 더 세부적인 구성은 다른 도구에게 전달
개발자를 위한 도구
.NET 아키텍처를 위한 AWS SDK 와 도구E
XE
CU
TIO
N
PLA
TFO
RM
AWS
SD
K
LOW
-LE
VE
L S
ER
VI
CE
A
PIS
AWS
TO
OLS
HIG
HE
R-
LEV
EL
UTI
LIT
Y A
PIS
.NET 3.5 .NET 4.5 PHONE STORE
SERVICE CLIENTS
AMAZON S3 TRANSFER
UTILITY
AMAZON DYNAMODB
OBJECT PERSISTENCE
VM IMPORT RESOURCE API
AWS TOOLS FOR WINDOWS
POWERSHELL
AWS TOOLKIT FOR VISUAL
STUDIO
ASP.NET SESSION PROVIDER TRACE LISTENER
…
AWS ENDPOINTS: REST API
AWS Toolkit for Visual StudioVisual Studio 와 완벽한 통합
AWS Toolkit for Visual Studio & AWS .NET SDK
• AutoScaling• CloudFormation• CloudFront• CloudSearch• CloudTrail• CloudWatch• CodeDeploy• Cognito• Config• DataPipeline• DirectConnect• DynamoDB
• OpsWorks• RDS• Redshift• Route53• S3• STS• SES• SNS• SWF• SQS• StorageGateway
• EC2• ElasticCache• ElasticBeanstalk• ElasticLoadBalancing• ElasticMapReduce• ElasticTranscoder• Glacier• IAM• ImportExport• KeyManagement• Kinesis• Lambda
AWS Toolkit 자격 증명
• 배포와 API 호출을 단순화하기 위해 필요• API 는 액세스 키 ID 와 비밀 키 필요• 키를 넣을 수 있는 5 가지 장소 :
• 소스 코드 내 – NO• app.config 내 – NO• AWS 자격 증명 파일 – YES• SDK 스토어 – YES• IAM 역할 (role) 사용 (EC2 에서 만드러진 API 호출에서만 ) – YES
• 기본 프로필 이름으로 사용하거나 app.config 에 프로필 이름 등록 • app.config 에 “ AWS 리전” 등록
한 단계 더 : DevOps 로 이동
• 윈도우 PowerShell 를 위한 AWS Tools
• Amazon EC2 Run Command 활용• 자동 도메인 조인• 장비 접속 불필요 • 완벽한 추적 관리 기능• 잘 - 조직화된 제어• http://tinyurl.com/AWS-SSM-Home
AWS OpsWorks
• 애플리케이션 인프라 관리
• 리눅스와 Chef• 윈도우와 Chef 12.2
• 주요 구성 요소 :• 스택
• 레이어
• 인스턴스
• 앱
또한 AWS 는 다양한 확장 지원을 제공
AWS Elastic Beanstalk• Visual Studio 에 내에서 배포 / Amazon S3 에 자동 로그 로테이션
AWS CodeCommit/CodePipeline/CodeDeploy• 큰 시스템군 관리 ( 온 - 프레미스와 클라우드 - 기반 )
.NET SDK 와 PowerShell cmdlets• TFS 와 CruiseControl.NET 내에서 사용자 빌드 파이프라인 통합
AWS 는 산업 표준 (de-facto standard)• Jenkins, Bamboo 는 AWS 와 네이티브 통합• 다양한 다른 IDE 도 AWS 지원 (Unity, Xamarin Studio, Eclipse…)
포괄적이고 강력한 개발 도구
모니터링구성
Amazon CloudWatch AWS CloudTrailAWS Config Amazon EC2 Run Command
AWS Tools for Windows PowerShell
개발 및 배포
AWSOpsWork
s
AWS Toolkit for Visual Studio.NET SDK AWS CodeDeploy AWS
CloudFormationAWS Elastic Beanstalk
기타 문제 해결 도구
EC2 윈도우 서버 인스턴스에서 실행하는 쉽고 편리한 진단 도구
각 데이터 수집 모듈은 해당 데이터 세트에 대한 정보가 들어 있는 XML 파일들과 통합 ZIP 아카이브 파일 생성
• IP 주소와 라우팅테이블을 포함한 네트워크 정보• 도메인 및 컴퓨터 이름• KMS 설정 • 현재 및 표준 시간대 정보 수집• 설치된 드라이버 정보• 윈도우 방화벽 및 EC2 보안 그룹 설정에 대한 정보• 설치된 업데이트 정보• 미니 덤프 파일들 (Last one week)
Microsoft 윈도우를 위한 AWS Diagnostics – 베타
http://aws.amazon.com/windows/resources/aws-diagnostics/
문제 해결 도구
Perfmon
Cloudwatch
다른 벤치마킹 도구 – SQLIO, FIO, IPERF, NTTTCP
윈도우 성능 분석기 (Performance Analyzer)
WinDbg
AWS Diagnostics for Microsoft Windows Server Beta
감사합니다