본 문서는 WorkSpace 이용 간 Client <-> WorkSpace region 간의 네트워크 속도에 관련된 내용을 기술한다.



Amazon WorkSpaces 사용자는 지원되는 디바이스 또는 웹 브라우저의 클라이언트 애플리케이션을 사용하여 WorkSpaces에 액세스합니다. 
WorkSpaces에 대한 좋은 경험을 사용자에게 제공하려면 클라이언트 디바이스가 다음 네트워크 요구 사항을 충족하는지 확인합니다. 


• 클라이언트 디바이스에 광대역 인터넷 연결이 있어야 합니다. 

• 클라이언트 디바이스가 연결되는 네트워크와 클라이언트 디바이스의 방화벽에서 다양한 AWS 서비스를 위한 IP 주소 범위에 대해 특정 포트가 개방되어 있어야 합니다. 
   자세한 내용은 Amazon WorkSpaces 포트 요구 사항 (p. 12) 단원을 참조하십시오. 

• 클라이언트 네트워크에서 WorkSpaces가 속한 리전까지의 왕복 시간(RTT)이 100ms보다 짧아야 합니다. 
  RTT가 100ms~250ms일 경우 사용자가 WorkSpaces에 액세스할 수 있지만 성능이 저하됩니다. 

• 사용자가 가상 사설 네트워크(VPN)를 통해 WorkSpaces에 액세스하는 경우 연결에서 1,200바이트 이상 의 최대 전송 단위(MTU)를 지원해야 합니다.

테스트를 해보진 않았는데, WorkSpace의 사용자 경험을 올리기 위해서는 PCoIP 프로토콜을 통해 
좀 더 부드러운 화면 전환 등 할 수 있을 것으로 보입니다.



  1. 현 위치(PC)에서 적절한 리전을 확인하는 방법








  1. WorkSpace Client 설치 후 Client에서 확인



AWS, WorkSpace, 워크스페이스, 워크스페이스 네트워크, 네트워크, workspace network


본 문서는 Amazon Linux 에서 custom metric 을 활성화 하는 방법에 대해 기술한다.

기본적인 메커니즘은 아래와 같다.
1. IAM 계정을 Programmatic access 계정 생성
2. AWS에서 제작한 mon-put-instance-data.pl 파일과 Linux crontab 을 통해 리소스의 값을 CloudWatch 로 전송한다.
3. 기록된 CloudWatch metric을 확인한다.



[root@ip-10-100-0-98 ~]#  sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https  <-- Amazon Linux 2014.03 이상 버전을 사용 중인 경우 perl 모듈을 추가로 설치하여야 한다.
=========================================================================================================================================================================
 Package                                               Arch                         Version                                        Repository                       Size
=========================================================================================================================================================================
Installing:
 perl-DateTime                                         x86_64                       2:1.04-5.9.amzn1                               amzn-main                       117 k
 perl-LWP-Protocol-https                               noarch                       6.04-2.7.amzn1                                 amzn-main                        11 k
 perl-Switch                                           noarch                       2.16-7.5.amzn1                                 amzn-main                        23 k
 perl-Sys-Syslog                                       x86_64                       0.33-3.6.amzn1                                 amzn-main                        43 k
Installing for dependencies:
 perl-Business-ISBN                                    noarch                       2.06-2.7.amzn1                                 amzn-main                        25 k
 perl-Business-ISBN-Data                               noarch                       20120719.001-2.7.amzn1                         amzn-main                        26 k
 perl-Class-Load                                       noarch                       0.20-3.6.amzn1                                 amzn-main                        27 k
 perl-Class-Singleton                                  noarch                       1.4-14.7.amzn1                                 amzn-main                        18 k
 perl-Compress-Raw-Bzip2                               x86_64                       2.061-3.11.amzn1                               amzn-main                        33 k
 perl-Compress-Raw-Zlib                                x86_64                       1:2.061-4.1.amzn1                              amzn-main                        61 k
 perl-Data-Dumper                                      x86_64                       2.145-3.5.amzn1                                amzn-main                        49 k
 perl-Data-OptList                                     noarch                       0.107-9.7.amzn1                                amzn-main                        23 k
 perl-DateTime-Locale                                  noarch                       0.45-6.5.amzn1                                 amzn-main                       1.9 M
 perl-DateTime-TimeZone                                noarch                       1.63-2.9.amzn1                                 amzn-main                       892 k
 perl-Encode-Locale                                    noarch                       1.03-5.8.amzn1                                 amzn-main                        16 k
 perl-File-Listing                                     noarch                       6.04-7.11.amzn1                                amzn-main                        13 k
 perl-HTML-Parser                                      x86_64                       3.71-4.7.amzn1                                 amzn-main                       119 k
 perl-HTML-Tagset                                      noarch                       3.20-15.7.amzn1                                amzn-main                        18 k
 perl-HTTP-Cookies                                     noarch                       6.01-5.12.amzn1                                amzn-main                        27 k
 perl-HTTP-Daemon                                      noarch                       6.01-5.11.amzn1                                amzn-main                        21 k
 perl-HTTP-Date                                        noarch                       6.02-8.8.amzn1                                 amzn-main                        14 k
 perl-HTTP-Message                                     noarch                       6.06-6.10.amzn1                                amzn-main                        84 k
 perl-HTTP-Negotiate                                   noarch                       6.01-5.12.amzn1                                amzn-main                        17 k
 perl-IO-Compress                                      noarch                       2.061-2.12.amzn1                               amzn-main                       298 k
 perl-IO-HTML                                          noarch                       1.00-2.5.amzn1                                 amzn-main                        24 k
 perl-IO-Socket-IP                                     noarch                       0.21-4.5.amzn1                                 amzn-main                        38 k
 perl-IO-Socket-SSL                                    noarch                       1.94-3.13.amzn1                                amzn-main                       118 k
 perl-LWP-MediaTypes                                   noarch                       6.02-2.9.amzn1                                 amzn-main                        25 k
 perl-List-MoreUtils                                   x86_64                       0.33-9.9.amzn1                                 amzn-main                        66 k
 perl-Module-Implementation                            noarch                       0.06-6.6.amzn1                                 amzn-main                        17 k
 perl-Module-Runtime                                   noarch                       0.013-4.5.amzn1                                amzn-main                        19 k
 perl-Mozilla-CA                                       noarch                       20110914-2.6.amzn1                             amzn-main                       9.0 k
 perl-Net-HTTP                                         noarch                       6.06-2.11.amzn1                                amzn-main                        29 k
 perl-Net-LibIDN                                       x86_64                       0.12-15.6.amzn1                                amzn-main                        29 k
 perl-Net-SSLeay                                       x86_64                       1.65-2.10.amzn1                                amzn-main                       361 k
 perl-Package-DeprecationManager                       noarch                       0.13-7.6.amzn1                                 amzn-main                        19 k
 perl-Package-Stash                                    noarch                       0.34-2.6.amzn1                                 amzn-main                        35 k
 perl-Package-Stash-XS                                 x86_64                       0.26-3.7.amzn1                                 amzn-main                        32 k
 perl-Params-Util                                      x86_64                       1.07-6.8.amzn1                                 amzn-main                        38 k
 perl-Params-Validate                                  x86_64                       1.08-4.10.amzn1                                amzn-main                        72 k
 perl-Sub-Install                                      noarch                       0.926-6.8.amzn1                                amzn-main                        22 k
 perl-TimeDate                                         noarch                       1:2.30-2.7.amzn1                               amzn-main                        53 k
 perl-Try-Tiny                                         noarch                       0.12-2.5.amzn1                                 amzn-main                        24 k
 perl-URI                                              noarch                       1.60-9.8.amzn1                                 amzn-main                       109 k
 perl-WWW-RobotRules                                   noarch                       6.02-5.12.amzn1                                amzn-main                        18 k
 perl-libwww-perl                                      noarch                       6.05-2.17.amzn1                                amzn-main                       215 k

Transaction Summary
=========================================================================================================================================================================
Install  4 Packages (+42 Dependent packages)

Total download size: 5.2 M
Installed size: 18 M
Is this ok [y/d/N]: y
Downloading packages:

Complete!


참고 CentOS 7버전의 경우 설치하는 파일이 틀리다.
# sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA -y


[root@ip-10-100-0-98 ~]# cd /usr/local/src/  <-- CloudWatch Monitoring script 를 저장할 위치에 이동한다.

[root@ip-10-100-0-98 src]# curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O   <-- 모니터링 스크립트 설치
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0 100 24089  100 24089    0     0  40845      0 --:--:-- --:--:-- --:--:-- 40898

[root@ip-10-100-0-98 src]# ls -al
....
-rw-r--r--  1 root root 24089 Jul  4 08:39 CloudWatchMonitoringScripts-1.2.1.zip
...


[root@ip-10-100-0-98 src]# unzip CloudWatchMonitoringScripts-1.2.1.zip  <-- 압축 해제
Archive:  CloudWatchMonitoringScripts-1.2.1.zip
 extracting: aws-scripts-mon/awscreds.template 
  inflating: aws-scripts-mon/AwsSignatureV4.pm 
  inflating: aws-scripts-mon/CloudWatchClient.pm 
  inflating: aws-scripts-mon/LICENSE.txt 
  inflating: aws-scripts-mon/mon-get-instance-stats.pl 
  inflating: aws-scripts-mon/mon-put-instance-data.pl 
  inflating: aws-scripts-mon/NOTICE.txt 

[root@ip-10-100-0-98 src]# rm ./CloudWatchMonitoringScripts-1.2.1.zip   <-- .zip 삭제, /usr/loca/src 에 남겨두려면 삭제 하지 않아도 무방함
rm: remove regular file ‘./CloudWatchMonitoringScripts-1.2.1.zip’? y

[root@ip-10-100-0-98 src]# mv ./aws-scripts-mon/ /root/  <-- 압축해제한 디렉터리를 /root 디렉터리 하위로 이동
[root@ip-10-100-0-98 src]# cd /root/aws-scripts-mon/

스크립트 파일 구성
- CloudWatchClient.pm – 다른 스크립트에서 Amazon CloudWatch 호출을 간소화하는 공유 Perl 모듈입니다.
- mon-put-instance-data.pl – Amazon EC2 인스턴스에 대한 시스템 메트릭(메모리, 스왑, 디스크 사용률)에 대한 시스템 측정치를 수집하여 Amazon CloudWatch에 전송합니다.
- mon-get-instance-stats.pl – Queries Amazon CloudWatch에 쿼리하여 이 스크립트가 실행된 EC2 인스턴스에 대한 최신 사용률 통계를 표시합니다.
- awscreds.template – 액세스 키 ID 및 보안 액세스 키를 저장하는 AWS 자격 증명의 파일 템플릿입니다.
- LICENSE.txt – Apache 2.0 라이선스가 들어 있는 텍스트 파일입니다.
- NOTICE.txt – 저작권 통지입니다.

[root@ip-10-100-0-98 aws-scripts-mo]# cp awscreds.template awscreds.conf  <-- AccessKeyID, SecretKy 적용을 위해 템플릿 복사


[root@ip-10-100-0-98 aws-scripts-mo]# vi ./awscreds.conf  <-- 키를 정의
AWSAccessKeyId=.....
AWSSecretKey=......

위 AccessKeyID 와 Secretket 의 경우 AWS CloudWatchFullAccess 권한이 있는 계정의 키 값을 입력해 준다.

* 사실 권한을 더 작게 줄 수도 있는데.....ㅠㅠ


[root@ip-172-31-31-177 aws-scripts-mon]# ./mon-put-instance-data.pl --mem-util --verify --verbose  <-- Cloudwatch에 데이터를 넣지 않고, 간단한 테스트를 수행
MemoryUtilization: 8.62159133358237 (Percent)
Using AWS credentials file <./awscreds.conf>
Endpoint: https://monitoring.ap-northeast-1.amazonaws.com
Payload: {"MetricData":[{"Timestamp":1499065590,"Dimensions":[{"Value":"i-005d4065b54f21a5d","Name":"InstanceId"}],"Value":8.62159133358237,"Unit":"Percent","MetricName":"MemoryUtilization"}],"Namespace":"System/Linux","__type":"com.amazonaws.cloudwatch.v2010_08_01#PutMetricDataInput"}
Verification completed successfully. No actual metrics sent to CloudWatch.
[root@ip-172-31-31-177 aws-scripts-mon]#


[root@ip-172-31-31-177 aws-scripts-mon]# ./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail  <-- 사용 가능한 ㅁ든 메모리 측정치를 수집한 다음 CloudWatch에 전송
Successfully reported metrics to CloudWatch. Reference Id: 2f8c7b6a-5fbe-11e7-9db5-55cf07411f21
[root@ip-172-31-31-177 aws-scripts-mon]#



[root@ip-172-31-31-177 src]# crontab -e   <-- crontab 에 지정하여 5분 단위로 메모리와 디스크 데이터를 Cloudwatch로 전송
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-util --mem-used --mem-avail --disk-space-util --disk-path=/ --from-cron

만약 / 디바이스 외에 다른 디바이스까지 수집하려면 --disk-path=[PATH] 옵션을 추가해주면 된다.


mon-put-instance-data.pl 의 여러 옵션값을 통해 각종 데이터를 CloudWatch에 전송할 수 있다.
기타 Custom metric의 옵션은 아래의 AWS 공식 manual 에서 확인할 수 있다.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/mon-scripts.html


Custome metric, Linux memory, Linux Disk, 커스텀 메트릭, AWS, AWS EC2

사실 Amazon EC2 Windows 환경에서 administrator 계정의 패스워드를 크랙하는 방법은 여러가지 방법이 있습니다.
(물론 공식 메뉴얼에는 한가지인가? 방법 밖에 없습니다.

크게 다음과 같은 방법이 있습니다.
1. EC2 config 설정 파일 변경하여 초기화
2. SSM 서비스를 통해 원격 명령을 수행하여 패스워드를 초기화
3. 위 두 방법이 안될 때(SSM 미설치, EC2 config 서비스 미실행 등등..) 초기화



본 문서는 Windows 2008 R2 환경에 Ec2Config 서비스에 문제가 있어 기존 방법으로 크랙이 안되는 경우를 안내 한다.


아래 내용의 메커니즘은 Windows administrator 의 계정의 이름을 새로 만든 계정으로 변경하고 권한을 administrator 권한을 주어 크랙한다.

기본적으로 아래의 과정을 거친다.
  1. "Forget Password" Instance 의 AMI를 생성
  2. AMI 생성 후 Launch -> stop -> EBS(C:\) detach
  3. 동일한 OS 버전의 Temporary Instance 를 생성
  4. "Forget Password" 인스턴스의 C:\ EBS를 Temporary Instance에 D:\로 Attach
  5. 레지스트리 수정
  6. bat 파일을 만들어서 계정을 추가하는 .exe 파일 생성
  7. D:\Temp 디렉터리에 옮기고, Disk offline -> Detach -> "Forget Password" 인스턴스에 Attach -> Start
  8. 변경된 ID/PW로 로그인

4번까지의 과정은 이전에 패스워드 크랙하는 방법과 동일함으로 설명을 생략한다. 
만약 이 과정에 대해 설명이 필요하다면, 아래 문서를 참조한다.
문 서 명 : AWS EC2, Windows 환경에서 Administrator 패스워드 분실하였을 경우 조치 방법
문 서 명 : AWS EC2 환경에서 Windows 패스워드 크랙 #02


아래 내용은 Temporary Instance 에서 수행한다.

  1. 레지스트리 수정
  • 실행(윈도우 + R) -> regedit -> HKLM(HKEY_LOCAL_MACHINE) -> File -> Load hive 클릭
  • D:\Windows\System32\config\SYSTEM -> 열기
  • Name에 "2008SYSTEM" 입력
  • HKLM -> 2008SYSTEM -> ControleSet001 -> Services 에서 아래와 같이 Key를 생성 





  1. bat 파일 생성




adduser.bat 파일
net user admin-test new_password /add
net localgroup "Administrators" "admin-test" /add


bat2exe.bat 파일
;@echo off
;if "%~2" equ "" ( ; echo usage: %~nx0 batFile.bat target.Exe
;)
;set "target.exe=%__cd__%%~2"
;set "batch_file=%~f1"
;set "bat_name=%~nx1"
;set "bat_dir=%~dp1"
;copy /y "%~f0" "%temp%\2exe.sed" >nul
;(echo()>>"%temp%\2exe.sed"
;(echo(AppLaunched=cmd.exe /c "%bat_name%")>>"%temp%\2exe.sed"
;(echo(TargetName=%target.exe%)>>"%temp%\2exe.sed"
;(echo(FILE0="%bat_name%")>>"%temp%\2exe.sed"
;(echo([SourceFiles])>>"%temp%\2exe.sed"
;(echo(SourceFiles0=%bat_dir%)>>"%temp%\2exe.sed"
;(echo([SourceFiles0])>>"%temp%\2exe.sed"
;(echo(%%FILE0%%=)>>"%temp%\2exe.sed"
;iexpress /n /q /m %temp%\2exe.sed
;del /q /f "%temp%\2exe.sed"
;exit /b 0

[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=0
HideExtractAnimation=1
UseLongFileName=1
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles

[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
FriendlyName=-
PostInstallCmd=<None>
AdminQuietInstCmd=
UserQuietInstCmd=
  1. bat 파일을 아래와 같이 실행


D:\Temp 생성 후 adduser.exe 파일을 이동




  1. 아까 등록한 레지스트리를 unload 시킴
  • 2008SYSTEM 선택 -> File -> Unload hive 

  1. 이후 다음의 과정을 거침
  • Disk offline -> EBS Detach -> "Forget Password" 인스턴스에 Attch -> 인스턴스 Start 
  • ID/PW는 이전에 만든 adduser.bat 파일에 지정된 ID/PW 입력(본 문서에서는 ID: admin-test PW: new_password)

AWS, EC2, EC2 Windows, EC2 패스워드, Windows 패스워드, Windows Password, Windows 패스워드 크랙, 패스워드 초기화, Windows password reset



+ Recent posts