기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
알려진 문제
-
(2024.12 및 2024.12.01) Active Directory 사용자는 Bastion Host로 SSH할 수 없습니다.
(2024.08) 가상 데스크톱이 루트 버킷 ARN 및 사용자 지정 접두사가 있는 읽기/쓰기 Amazon S3 버킷을 탑재하지 못함
(2024년 6월 이전) CVE-2024-6387, RegreSSHion, RHEL9 및 Ubuntu VDIs의 보안 취약성
(2024.04.02 이하) ap-southeast-2(Sydney)의 Windows NVIDIA 인스턴스가 시작되지 않음
(2024년 4월 - 2024.04.02) Linux 가상 데스크톱이 재부팅 시 "RESUMING" 상태에서 멈출 수 있음
(2024.04.02 이하) SAMAccountName 속성에 대문자 또는 특수 문자가 포함된 AD 사용자를 동기화하지 못함
알려진 문제 2024.x
........................
(2024.12 및 2024.12.01) 새 Cognito 사용자를 등록할 때 정규식 실패
버그 설명
와 같이 "."가 포함된 이메일 접두사가 있는 웹 포털을 통해 AWS Cognito 사용자를 등록하려고 하면 Cognito 사용자 이름이 정의된 정규식 패턴과 일치하지 않는다는 오류가 <firstname>.<lastname>@<company>.com발생합니다.
이 오류는 사용자의 이메일 접두사에서 RES 자동 생성 사용자 이름으로 인해 발생합니다. 그러나 "."가 있는 사용자 이름은 RES에서 지원하는 특정 Linux 배포판의 VDIs에 유효한 사용자가 아닙니다. 이 수정 사항은 사용자 이름을 생성할 때 이메일 접두사에서 "."를 제거하여 RES Linux VDIs.
영향을 받는 버전
RES 버전 2024.12 및 2024.12.01
완화
-
다음 명령을 실행하여 버전 2024.12의
patch.pycognito_sign_up_email_fix.patch경우 및를 다운로드하고 버전 2024.12.01의cognito_sign_up_email_fix.patch경우<output-directory>를 패치 스크립트 및 패치 파일을 다운로드할 디렉터리<environment-name>로 바꾸고를 RES 환경의 이름으로 바꿉니다.-
패치는 RES 2024.12 및 2024.12.01에 적용됩니다.
-
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory> ENVIRONMENT_NAME=<environment-name> RES_VERSION=<res-version> # either 2024.12 or 2024.12.01 mkdir -p ${OUTPUT_DIRECTORY} curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/${RES_VERSION}/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/${RES_VERSION}/patch_scripts/patches/cognito_sign_up_email_fix.patch --output ${OUTPUT_DIRECTORY}/cognito_sign_up_email_fix.patch -
-
패치 스크립트와 패치 파일이 다운로드된 디렉터리로 이동합니다. 다음 패치 명령을 실행합니다.
python3 ${OUTPUT_DIRECTORY}/patch.py --environment-name ${ENVIRONMENT_NAME} --res-version ${RES_VERSION} --module cluster-manager --patch ${OUTPUT_DIRECTORY}/cognito_sign_up_email_fix.patch -
환경의 Cluster Manager 인스턴스를 다시 시작합니다. Amazon EC2 Management Console에서 인스턴스를 종료할 수도 있습니다.
INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-cluster-manager \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID} -
이름으로 시작하는 Auto Scaling 그룹의 활동을 확인하여 Cluster Manager 인스턴스 상태를 확인합니다
<RES-EnvironmentName>-cluster-manager-asg. 새 인스턴스가 성공적으로 시작될 때까지 기다립니다.
........................
(2024.12.01 이하) 사용자 지정 도메인을 사용하여 VDI에 연결할 때 잘못된 잘못된 인증서 오류
버그 설명
외부 리소스 레시피 및 RES를 사용자 지정 포털 도메인 이름으로 배포하면 CertificateRenewalNode가에서 다음 오류와 함께 VDI 연결용 TLS 인증서를 새로 고치지 못합니다. /var/log/user-data.log
{ "type": "urn:ietf:params:acme:error:unauthorized", "detail": "Error finalizing order :: OCSP must-staple extension is no longer available: see https://letsencrypt.org/2024/12/05/ending-ocsp", "status": 403 }
따라서 RES 웹 포털에서 VDIs에 연결할 때 net::ERR_CERT_DATE_INVALID (Chrome) 또는 Error code: SSL_ERROR_BAD_CERT_DOMAIN (FireFox)라는 오류가 발생합니다.
영향을 받는 버전
2024.12.01 이하
완화
-
EC2 콘솔로 이동합니다. 이름이 인 인스턴스가 있는 경우 인스턴스를
CertificateRenewalNode-종료합니다. -
Lambda 콘솔로 이동합니다. 라는 Lambda 함수의 소스 코드를 엽니다
-CertificateRenewalLambda-. 로 시작하는 줄을 식별하고--ocsp-must-staple인수를./acme.sh --issue --dns dns_aws --ocsp-must-staple --keylength 4096제거합니다. -
배포를 선택하고 코드 변경이 적용될 때까지 기다립니다.
-
Lambda 함수를 수동으로 트리거하려면 테스트 탭으로 이동한 다음 테스트를 선택합니다. 추가 입력은 필요하지 않습니다. 그러면 Secret Manager에서 인증서 및 PrivateKey 암호를 업데이트하는 인증서 EC2 인스턴스가 생성되어야 합니다. 보안 암호가 업데이트되면 인스턴스가 자동으로 종료됩니다.
-
기존 dcv 게이트웨이 인스턴스를 종료
<env-name>-vdc-gateway하고 Auto Scaling 그룹이 새 인스턴스를 자동으로 배포할 때까지 기다립니다.
오류 세부 정보
Let's Encrypt는 2025년에 OCSP 지원을 종료합니다. 2025년 1월 30일부터 요청 계정이 이전에 OCSP Must Staple 확장이 포함된 인증서를 발급하지 않는 한 OCSP Must-Staple 요청이 실패합니다. 자세한 내용은 https://letsencrypt.org/2024/12/05/ending-ocsp/
........................
(2024.12 및 2024.12.01) Active Directory 사용자는 Bastion Host로 SSH할 수 없습니다.
버그 설명
Active Directory 사용자는 RES 웹 포털의 지침에 따라 Bastion Host에 연결할 때 권한 거부 오류가 발생합니다.
Bastion Host에서 실행되는 Python 애플리케이션은 누락된 환경 변수로 인해 SSSD 서비스를 시작하지 못합니다. 따라서 AD 사용자는 운영 체제를 알 수 없으며 로그인할 수 없습니다.
영향을 받는 버전
2024.12 및 2024.12.01
완화
-
EC2 콘솔에서 Bastion Host 인스턴스에 연결합니다.
-
IDEA_CLUSTER_NAME에서를 편집
/etc/environment하고 새 줄environment_name=<res-environment-name>로 추가합니다. -
인스턴스에서 다음 명령을 실행합니다.
source /etc/environment sudo service supervisord restart sudo systemctl restart supervisord -
RES 웹 포털의 지침에 따라 Bastion Host에 다시 연결해 보세요.
........................
(2024.10) 격리된 VPCs에 배포된 RES 환경에 대한 VDI 자동 중지 중단
버그 설명
2024년 10월 RES 릴리스에서는 일정 기간 동안 유휴 상태인 VDI에 대해 VDIs 자동 중지가 추가되었습니다. 이 설정은 데스크톱 설정 → 서버 → 세션에서 구성할 수 있습니다.
VDI 자동 중지는 현재 격리된 VPCs에 배포된 RES 환경에서 지원되지 않습니다.
영향을 받는 버전
2024년 10월
완화
현재 향후 릴리스에 포함될 수정 작업을 진행 중입니다. 그러나 격리된 VPC에 배포된 RES 환경에서 VDIs 수동으로 중지할 수는 있습니다. VPCs
........................
(2024년 10월 이전) 그래픽 향상된 인스턴스 유형에 대한 VDI 시작 실패
버그 설명
그래픽 향상된 인스턴스 유형(g4, g5)에서 Amazon Linux 2 - x86_64, RHEL 8 - x86_64 또는 RHEL 9 x86_64 VDI가 시작되면 인스턴스가 프로비저닝 상태에서 멈춥니다. 즉, 인스턴스는 "Ready" 상태가 되지 않으며 연결에 사용할 수 없습니다.
이는 X Server가 인스턴스에서 제대로 인스턴스화되지 않기 때문에 발생합니다. 이 패치를 적용한 후에는 그래픽 인스턴스용 소프트웨어 스택의 루트 볼륨 크기를 50gb로 늘려 모든 종속성을 설치할 수 있는 충분한 공간이 확보되도록 하는 것이 좋습니다.
영향을 받는 버전
모든 RES 버전 2024.10 이하.
완화
-
아래 명령에서 를 패치 스크립트 및 패치 파일을 다운로드할 디렉터리로 바꾸고를 RES 환경의 이름으로 바꾸어 patch.py
및 graphic_enhanced_instance_types_fix.patch 를 다운로드합니다. <output-directory><environment-name>패치는 RES 2024.10에만 적용됩니다.
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3가 필요합니다.
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory> ENVIRONMENT_NAME=<environment-name> mkdir -p ${OUTPUT_DIRECTORY} curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.10/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.10/patch_scripts/patches/graphic_enhanced_instance_types_fix.patch --output ${OUTPUT_DIRECTORY}/graphic_enhanced_instance_types_fix.patch -
패치 스크립트와 패치 파일이 다운로드된 디렉터리로 이동합니다. 다음 패치 명령을 실행합니다.
python3 ${OUTPUT_DIRECTORY}/patch.py --environment-name ${ENVIRONMENT_NAME} --res-version 2024.10 --module virtual-desktop-controller --patch ${OUTPUT_DIRECTORY}/graphic_enhanced_instance_types_fix.patch -
환경의 가상 데스크톱 컨트롤러(vdc-controller) 인스턴스를 종료하려면 다음 명령을 실행하여 표시된 대로 RES 환경의 이름을 바꿉니다.
INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-vdc-controller \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID} -
이름으로 시작하는 대상 그룹이 정상 상태가
<RES-EnvironmentName>-vdc-ext된 후 새 인스턴스를 시작합니다. 그래픽 인스턴스에 등록하는 새 소프트웨어 스택에는 50GB 이상의 스토리지가 있는 것이 좋습니다.
........................
(2024.08) 인프라 AMI 장애 준비
버그 설명
사전 조건 설명서에 나열된 지침에 따라 EC2 Image Builder를 사용하여 AMIs를 준비하면 다음 오류 메시지와 함께 빌드 프로세스가 실패합니다.
CmdExecution: [ERROR] Command execution has resulted in an error
이는 설명서에 제공된 종속성 파일의 오류로 인한 것입니다.
영향을 받는 버전
2024년 8월
완화
새 EC2 Image Builder 리소스를 생성합니다.
(RES 인스턴스용 AMIs를 준비한 적이 없는 경우 다음 단계를 따르세요.)
-
업데이트된 res-installation-scripts.tar.gz 파일을 다운로드합니다.
-
사전 조건 페이지의 Amazon 머신 이미지(AMIs) 준비에 나열된 단계를 따릅니다.
이전 EC2 Image Builder 리소스 재사용:
(RES 인스턴스용 AMIs를 준비한 경우 다음 단계를 따르세요.)
-
업데이트된 res-installation-scripts.tar.gz 파일을 다운로드합니다.
-
EC2 Image Builder → 구성 요소 → RES AMIs 준비를 위해 생성된 구성 요소를 클릭합니다.
-
콘텐츠 → DownloadRESInstallScripts 단계 → 입력 → 소스에 나열된 S3 위치를 기록해 둡니다.
-
위에 있는 S3 위치에는 이전에 사용된 종속성 파일이 포함되어 있습니다.이 파일을 첫 번째 단계에서 다운로드한 파일로 바꿉니다.
........................
(2024.08) 가상 데스크톱이 루트 버킷 ARN 및 사용자 지정 접두사가 있는 읽기/쓰기 Amazon S3 버킷을 탑재하지 못함
버그 설명
Research and Engineering Studio 2024.08은 루트 버킷 ARN(즉, ) 및 사용자 지정 접두사(프로젝트 이름 또는 프로젝트 이름 및 사용자 이름)를 사용할 때 가상 데스크톱 인프라(VDIarn:aws:s3:::example-bucket) 인스턴스에 읽기/쓰기 S3 버킷을 탑재하지 못합니다.
이 문제의 영향을 받지 않는 버킷 구성은 다음과 같습니다.
-
읽기 전용 버킷
-
접두사가 버킷 ARN의 일부인 읽기/쓰기 버킷(즉,
arn:aws:s3:::example-bucket/example-folder-prefix) 및 사용자 지정 접두사(프로젝트 이름 또는 프로젝트 이름 및 사용자 이름) -
루트 버킷 ARN이 있지만 사용자 지정 접두사가 없는 읽기/쓰기 버킷
VDI 인스턴스를 프로비저닝한 후에는 해당 S3 버킷에 지정된 탑재 디렉터리에 버킷이 탑재되지 않습니다. VDI의 탑재 디렉터리가 있더라도 디렉터리는 비어 있으며 버킷의 현재 내용을 포함하지 않습니다. 터미널을 사용하여 디렉터리에 파일을 쓰면 오류가 Permission denied, unable to write a file 발생하고 파일 콘텐츠가 해당 S3 버킷에 업로드되지 않습니다.
영향을 받는 버전
2024년 8월
완화
-
패치 스크립트 및 패치 파일(
patch.py및s3_mount_custom_prefix_fix.patch)을 다운로드하려면 다음 명령을 실행하여<output-directory>를 패치 스크립트 및 패치 파일을 다운로드할 디렉터리<environment-name>로 바꾸고를 RES 환경의 이름으로 바꿉니다.-
패치는 RES 2024.08에만 적용됩니다.
-
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 Amazon S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory> ENVIRONMENT_NAME=<environment-name> mkdir -p ${OUTPUT_DIRECTORY} curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.08/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.08/patch_scripts/patches/s3_mount_custom_prefix_fix.patch --output ${OUTPUT_DIRECTORY}/s3_mount_custom_prefix_fix.patch -
-
패치 스크립트와 패치 파일이 다운로드되는 디렉터리로 이동합니다. 다음 패치 명령을 실행합니다.
python3 ${OUTPUT_DIRECTORY}/patch.py --environment-name ${ENVIRONMENT_NAME} --res-version 2024.08 --module virtual-desktop-controller --patch ${OUTPUT_DIRECTORY}/s3_mount_custom_prefix_fix.patch -
환경의 가상 데스크톱 컨트롤러(vdc-controller) 인스턴스를 종료하려면 다음 명령을 실행합니다. (이미 첫 번째 단계에서
ENVIRONMENT_NAME변수를 RES 환경의 이름으로 설정했습니다.)INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-vdc-controller \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}참고
프라이빗 VPC 설정의 경우 아직 설정하지 않은 경우
<RES-EnvironmentName>-vdc-custom-credential-broker-lambda함수의 경우 이름과AWS_STS_REGIONAL_ENDPOINTS값이Environment variable인를 추가해야 합니다regional. 자세한 정보는 격리된 VPC 배포를 위한 Amazon S3 버킷 사전 조건을 참조하세요. -
이름으로 시작하는 대상 그룹이 정상
상태가 되면 루트 버킷 ARN 및 사용자 지정 접두사가 있는 읽기/쓰기 S3 버킷을 올바르게 마운트하는 새 VDIs를 시작해야 합니다.<RES-EnvironmentName>-vdc-ext
........................
(2024.06) AD 그룹 이름에 공백이 포함된 경우 스냅샷 적용 실패
문제
AD 그룹에 이름에 공백이 포함된 경우 RES 2024.06은 이전 버전의 스냅샷을 적용하지 못합니다.
클러스터 관리자 CloudWatch 로그(/<environment-name>/cluster-manager로그 그룹 아래)에는 AD 동기화 중에 다음 오류가 포함됩니다.
[apply-snapshot] authz.role-assignments/<Group name with spaces>:group#<projectID>:project FAILED_APPLY because: [INVALID_PARAMS] Actor key doesn't match the regex pattern ^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{1,20}:(user|group)$
오류는 다음 요구 사항을 충족하는 그룹 이름만 수락하는 RES에서 발생합니다.
소문자 및 대문자 ASCII 문자, 숫자, 대시(-), 마침표(.) 및 밑줄(_)만 포함할 수 있습니다.
대시(-)는 첫 번째 문자로 허용되지 않습니다.
공백은 포함할 수 없습니다.
영향을 받는 버전
2024년 6월
완화
-
패치 스크립트 및 패치 파일( patch.py
및 groupname_regex.patch )을 다운로드하려면 다음 명령을 실행하여를 파일을 넣을 디렉터리 <output-directory>로 바꾸고<environment-name>를 RES 환경의 이름으로 바꿉니다.-
패치는 RES 2024.06에만 적용됩니다.
-
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory>ENVIRONMENT_NAME=<environment-name>mkdir -p ${OUTPUT_DIRECTORY} curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.06/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.06/patch_scripts/patches/groupname_regex.patch --output ${OUTPUT_DIRECTORY}/groupname_regex.patch
-
-
패치 스크립트와 패치 파일이 다운로드되는 디렉터리로 이동합니다. 다음 패치 명령을 실행합니다.
python3 patch.py --environment-name ${ENVIRONMENT_NAME} --res-version 2024.06 --module cluster-manager --patch ${OUTPUT_DIRECTORY}/groupname_regex.patch -
환경의 Cluster Manager 인스턴스를 다시 시작하려면 다음 명령을 실행합니다. Amazon EC2 Management Console에서 인스턴스를 종료할 수도 있습니다.
INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-cluster-manager \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}
참고
패치를 사용하면 AD 그룹 이름에 소문자 및 대문자 ASCII 문자, 숫자, 대시(-), 마침표(.), 밑줄(_) 및 총 길이가 1~30인 공백을 포함할 수 있습니다.
........................
(2024.06 이하) AD 동기화 중에 그룹 멤버가 RES에 동기화되지 않음
버그 설명
GroupOU 다른 경우 그룹 멤버는 RES와 제대로 동기화되지 않습니다. UserOU
RES는 AD 그룹에서 사용자를 동기화하려고 할 때 ldapsearch 필터를 생성합니다. 현재 필터는 GroupOU 파라미터 대신 UserOU 파라미터를 잘못 사용합니다. GroupOU 그 결과 검색에서 사용자를 반환하지 못합니다. 이 동작은 UsersOU와 GroupOU가 다른 인스턴스에서만 발생합니다.
영향을 받는 버전
모든 RES 버전 2024.06 이하
완화
다음 단계에 따라 문제를 해결합니다.
-
patch.py 스크립트 및 group_member_sync_bug_fix.patch 파일을 다운로드하려면 다음 명령을 실행하여
<output-directory>를 파일을 다운로드할 로컬 디렉터리<res_version>로 바꾸고를 패치할 RES 버전으로 바꿉니다.참고
-
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
-
패치는 RES 버전 2024.04.02 및 2024.06만 지원합니다. 2024.04 또는 2024.04.01를 사용하는 경우 패치를 적용마이너 버전 업데이트하기 전에 먼저에 나열된 단계에 따라 환경을 2024.04.02로 업데이트할 수 있습니다.
-
RES 버전: RES 2024.04.02
패치 다운로드 링크: 2024.04.02_group_member_sync_bug_fix.patch
-
RES 버전: RES 2024.06
패치 다운로드 링크: 2024.06_group_member_sync_bug_fix.patch
-
OUTPUT_DIRECTORY=<output-directory>RES_VERSION=<res_version>mkdir -p ${OUTPUT_DIRECTORY} curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/${RES_VERSION}/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/${RES_VERSION}/patch_scripts/patches/${RES_VERSION}_group_member_sync_bug_fix.patch --output ${OUTPUT_DIRECTORY}/${RES_VERSION}_group_member_sync_bug_fix.patch -
-
패치 스크립트와 패치 파일이 다운로드되는 디렉터리로 이동합니다. 다음 패치 명령을 실행
<environment-name>하여를 RES 환경의 이름으로 바꿉니다.cd ${OUTPUT_DIRECTORY} ENVIRONMENT_NAME=<environment-name>python3 patch.py --environment-name ${ENVIRONMENT_NAME} --res-version ${RES_VERSION} --module cluster-manager --patch $PWD/${RES_VERSION}_group_member_sync_bug_fix.patch -
환경의 cluster-manager 인스턴스를 다시 시작하려면 다음 명령을 실행합니다.
INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-cluster-manager \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}
........................
(2024년 6월 이전) CVE-2024-6387, RegreSSHion, RHEL9 및 Ubuntu VDIs의 보안 취약성
버그 설명
regreSSHion이라고 하는 CVE-2024-6387
RES의 경우 표준 구성은 접속 호스트를 통해 SSH로 가상 데스크톱으로 이동하는 것이며 접속 호스트는이 취약성의 영향을 받지 않습니다. 그러나 ALL RES 버전의 RHEL9 및 Ubuntu2024 VDIs(가상 데스크톱 인프라)에 대해 제공하는 기본 AMI(Amazon Machine Image)는 보안 위협에 취약한 OpenSSH 버전을 사용합니다.
즉, 기존 RHEL9 및 Ubuntu2024 VDIs 악용할 수 있지만 공격자는 접속 호스트에 액세스해야 합니다.
문제에 대한 자세한 내용은 여기에서 확인할 수 있습니다
영향을 받는 버전
모든 RES 버전 2024.06 이하.
완화
RHEL9와 Ubuntu 모두 보안 취약성을 해결하는 OpenSSH용 패치를 릴리스했습니다. 플랫폼의 해당 패키지 관리자를 사용하여 가져올 수 있습니다.
기존 RHEL9 또는 Ubuntu VDIs가 있는 경우 아래 패치 기존 VDIs 지침을 따르는 것이 좋습니다. 향후 VDIs 패치하려면 PATCH FUTURE VDIs 지침을 따르는 것이 좋습니다. 이 지침에서는 스크립트를 실행하여 VDIs에 플랫폼 업데이트를 적용하는 방법을 설명합니다.
기존 VDIs 패치
-
기존 Ubuntu 및 RHEL9 VDIs를 모두 패치하는 다음 명령을 실행합니다.
-
패치 스크립트에는 AWS CLI v2가 필요합니다.
-
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 AWS Systems Manager Run Command를 전송할 수 있는 Systems Manager 권한이 있는지 확인합니다.
aws ssm send-command \ --document-name "AWS-RunRemoteScript" \ --targets "Key=tag:res:NodeType,Values=virtual-desktop-dcv-host" \ --parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.06/patch_scripts/scripts/patch_openssh.sh\"}"],"commandLine":["bash patch_openssh.sh"]}'
-
-
명령 실행 페이지에서
스크립트가 성공적으로 실행되었는지 확인할 수 있습니다. 명령 기록 탭을 클릭하고 최신 명령 ID를 선택한 다음 모든 인스턴스 IDs에 성공 메시지가 있는지 확인합니다.
패치 미래 VDIs
-
패치 스크립트 및 패치 파일( patch.py
및 update_openssh.patch )을 다운로드하려면 다음 명령을 실행하여 <output-directory>를 파일을 다운로드할 디렉터리<environment-name>로 바꾸고를 RES 환경의 이름으로 바꿉니다.참고
-
패치는 RES 2024.06에만 적용됩니다.
-
패치 스크립트에는 AWS CLI v2), Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI 사본을 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory>ENVIRONMENT_NAME=<environment-name>curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.06/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.06/patch_scripts/patches/update_openssh.patch --output ${OUTPUT_DIRECTORY}/update_openssh.patch -
-
다음 패치 명령을 실행합니다.
python3 ${OUTPUT_DIRECTORY}/patch.py --environment-name ${ENVIRONMENT_NAME} --res-version 2024.06 --module virtual-desktop-controller --patch ${OUTPUT_DIRECTORY}/update_openssh.patch -
다음 명령을 사용하여 환경의 " 컨트롤러 인스턴스를 다시 시작합니다.
INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-vdc-controller \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}
중요
향후 VDIs 패치는 RES 버전 2024.06 이상에서만 지원됩니다. 2024.06 이전 버전의 RES 환경에서 향후 VDIs를 패치하려면 먼저의 지침에 따라 RES 환경을 2024.06으로 업그레이드합니다메이저 버전 업데이트.
........................
(2024.04-2024.04.02) VDI 인스턴스의 역할에 연결되지 않은 제공된 IAM 권한 경계
문제
가상 데스크톱 세션이 프로젝트의 권한 경계 구성을 제대로 상속하지 않습니다. 이는 IAMPermissionBoundary 파라미터로 정의된 권한 경계가 프로젝트를 생성하는 동안 프로젝트에 제대로 할당되지 않았기 때문입니다.
영향을 받는 버전
2024년 4월 - 2024.04.02
완화
다음 단계에 따라 VDIs 프로젝트에 할당된 권한 경계를 올바르게 상속하도록 허용합니다.
-
패치 스크립트 및 패치 파일( patch.py
및 vdi_host_role_permission_boundary.patch )을 다운로드하려면 다음 명령을 실행하여를 파일을 넣을 로컬 디렉터리 <output-directory>로 바꿉니다.-
패치는 RES 2024.04.02에만 적용됩니다. 버전 2024.04 또는 2024.04.01를 사용하는 경우 마이너 버전 업데이트에 대한 퍼블릭 문서에 나열된 단계에 따라 환경을 2024.04.02로 업데이트할 수 있습니다.
-
패치 스크립트에는 AWS CLI v2), Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory>curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.04.02/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.04.02/patch_scripts/patches/vdi_host_role_permission_boundary.patch --output ${OUTPUT_DIRECTORY}/vdi_host_role_permission_boundary.patch -
-
패치 스크립트와 패치 파일이 다운로드되는 디렉터리로 이동합니다. 다음 패치 명령을 실행
<environment-name>하여를 RES 환경의 이름으로 바꿉니다.python3 patch.py --environment-name<environment-name>--res-version 2024.04.02 --module cluster-manager --patch vdi_host_role_permission_boundary.patch -
이 명령을 실행하여 환경에서 cluster-manager 인스턴스를 다시 시작하고
<environment-name>를 RES 환경의 이름으로 바꿉니다. Amazon EC2 Management Console에서 인스턴스를 종료할 수도 있습니다.ENVIRONMENT_NAME=<environment-name>INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-cluster-manager \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}
........................
(2024.04.02 이하) ap-southeast-2(Sydney)의 Windows NVIDIA 인스턴스가 시작되지 않음
문제
Amazon Machine Image(AMIs)는 특정 구성으로 RES에서 가상 데스크톱(VDIs)을 구동하는 데 사용됩니다. 각 AMI에는 리전마다 다른 연결된 ID가 있습니다. ap-southeast-2(시드니)에서 Windows Nvidia 인스턴스를 시작하도록 RES에 구성된 AMI ID가 현재 잘못되었습니다.
이 유형의 인스턴스 구성에 ami-0e190f8939a996caf 대한 AMI-ID가 ap-southeast-2(시드니)에 잘못 나열됩니다. 대신 AMI ID를 사용해야 ami-027cf6e71e2e442f4 합니다.
기본 ami-0e190f8939a996caf AMI로 인스턴스를 시작하려고 하면 사용자에게 다음 오류가 발생합니다.
An error occured (InvalidAMIID.NotFound) when calling the RunInstances operation: The image id ‘[ami-0e190f8939a996caf]’ does not exist
예제 구성 파일을 포함하여 버그를 재현하는 단계:
ap-southeast-2 리전에 RES를 배포합니다.
Windows-NVIDIA 기본 소프트웨어 스택(AMI ID )을 사용하여 인스턴스를 시작합니다
ami-0e190f8939a996caf.
영향을 받는 버전
모든 RES 버전 2024.04.02 이하가 영향을 받습니다.
완화
다음 완화는 RES 버전 2024.01.01에서 테스트되었습니다.
-
다음 설정을 사용하여 새 소프트웨어 스택 등록
AMI ID:
ami-027cf6e71e2e442f4운영 체제: Windows
GPU 제조업체: NVIDIA
최소 스토리지 크기(GB): 30
최소 RAM(GB): 4
이 소프트웨어 스택을 사용하여 Windows-NVIDIA 인스턴스 시작
........................
(2024.04 및 2024.04.01) GovCloud에서 RES 삭제 실패
문제
RES 삭제 워크플로 중에 UnprotectCognitoUserPool Lambda는 나중에 삭제될 Cognito 사용자 풀에 대한 삭제 방지를 비활성화합니다. Lambda 실행은에 의해 시작됩니다InstallerStateMachine.
상용 리전과 GovCloud 리전 간의 기본 AWS CLI 버전 차이로 인해 Lambda의 update_user_pool 호출은 GovCloud 리전에서 실패합니다.
GovCloud 리전에서 RES를 삭제하려고 하면 고객에게 다음 오류가 발생합니다.
Parameter validation failed: Unknown parameter in input: \"DeletionProtection\", must be one of: UserPoolId, Policies, LambdaConfig, AutoVerifiedAttributes, SmsVerificationMessage, EmailVerificationMessage, EmailVerificationSubject, VerificationMessageTemplate, SmsAuthenticationMessage, MfaConfiguration, DeviceConfiguration, EmailConfiguration, SmsConfiguration, UserPoolTags, AdminCreateUserConfig, UserPoolAddOns, AccountRecoverySetting
버그를 재현하는 단계:
GovCloud 리전에 RES 배포
RES 스택 삭제
영향을 받는 버전
RES 버전 2024.04 및 2024.04.01
완화
다음 완화는 RES 버전 2024.04에서 테스트되었습니다.
UnprotectCognitoUserPoolLambda 열기명명 규칙:
<env-name>-InstallerTasksUnprotectCognitoUserPool-...
-
런타임 설정 -> 편집 -> 런타임 선택
Python 3.11-> 저장. CloudFormation 엽니다.
RES 스택 삭제 -> 설치 관리자 리소스 보존을 선택하지 않은 상태로 두기 -> 삭제.
........................
(2024년 4월 - 2024.04.02) Linux 가상 데스크톱이 재부팅 시 "RESUMING" 상태에서 멈출 수 있음
문제
Linux 가상 데스크톱은 수동 또는 예약된 중지 후 다시 시작할 때 "RESUMING" 상태로 멈출 수 있습니다.
인스턴스가 재부팅된 후 AWS Systems Manager는 원격 명령을 실행하여 새 DCV 세션을 생성하지 않으며 vdc 컨트롤러 CloudWatch 로그(/<environment-name>/vdc/controllerCloudWatch 로그 그룹 아래)에 다음 로그 메시지가 누락되었습니다.
Handling message of type DCV_HOST_REBOOT_COMPLETE_EVENT
영향을 받는 버전
2024년 4월 - 2024.04.02
완화
"RESUMING" 상태에서 멈춘 가상 데스크톱을 복구하려면:
-
EC2 콘솔에서 문제 인스턴스로 SSH.
-
인스턴스에서 다음 명령을 실행합니다.
sudo su - /bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/configure_post_reboot.sh sudo reboot -
인스턴스가 재부팅될 때까지 기다립니다.
새 가상 데스크톱이 동일한 문제로 실행되지 않도록 하려면:
-
패치 스크립트 및 패치 파일( patch.py
및 vdi_stuck_in_resuming_status.patch )을 다운로드하려면 다음 명령을 실행하여를 파일을 넣을 디렉터리 <output-directory>로 바꿉니다.참고
패치는 RES 2024.04.02에만 적용됩니다.
-
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory>curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.04.02/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.04.02/patch_scripts/patches/vdi_stuck_in_resuming_status.patch --output ${OUTPUT_DIRECTORY}/vdi_stuck_in_resuming_status.patch -
패치 스크립트와 패치 파일이 다운로드되는 디렉터리로 이동합니다. 다음 패치 명령을 실행
<environment-name>하여를 RES 환경의 이름으로 바꾸고를 RES가 배포된 리전<aws-region>으로 바꿉니다.python3 patch.py --environment-name<environment-name>--res-version 2024.04.02 --module virtual-desktop-controller --patch vdi_stuck_in_resuming_status.patch --region<aws-region> -
환경의 " 컨트롤러 인스턴스를 다시 시작하려면 다음 명령을 실행
<environment-name>하여를 RES 환경의 이름으로 바꿉니다.ENVIRONMENT_NAME=<environment-name>INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-vdc-controller \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}
........................
(2024.04.02 이하) SAMAccountName 속성에 대문자 또는 특수 문자가 포함된 AD 사용자를 동기화하지 못함
문제
SSO를 최소 2시간(AD 동기화 주기 2회) 동안 설정한 후 RES가 AD 사용자를 동기화하지 못합니다. 클러스터 관리자 CloudWatch 로그(/<environment-name>/cluster-manager로그 그룹 아래)에는 AD 동기화 중에 다음 오류가 포함됩니다.
Error: [INVALID_PARAMS] Invalid params: user.username must match regex: ^(?=.{3,20}$)(?![_.])(?!.*[_.]{2})[a-z0-9._]+(?<![_.])$
오류는 RES가 다음 요구 사항을 충족하는 SAMAccount 사용자 이름만 수락하기 때문에 발생합니다.
-
소문자 ASCII 문자, 숫자, 마침표(.), 밑줄(_)만 포함할 수 있습니다.
-
마침표 또는 밑줄은 첫 번째 또는 마지막 문자로 허용되지 않습니다.
-
두 개의 연속 마침표 또는 밑줄(예: .., __, ._, _.)을 포함할 수 없습니다.
영향을 받는 버전
2024.04.02 이하
완화
-
패치 스크립트 및 패치 파일( patch.py
및 samaccountname_regex.patch )을 다운로드하려면 다음 명령을 실행하여를 파일을 넣을 디렉터리 <output-directory>로 바꿉니다.참고
패치는 RES 2024.04.02에만 적용됩니다.
-
패치 스크립트에는 AWS CLI v2, Python 3.9.16 이상 및 Boto3
가 필요합니다. -
RES가 배포된 계정 및 리전에 대해 AWS CLI를 구성하고 RES에서 생성한 버킷에 쓸 수 있는 S3 권한이 있는지 확인합니다.
OUTPUT_DIRECTORY=<output-directory>curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.04.02/patch_scripts/patch.py --output ${OUTPUT_DIRECTORY}/patch.py curl https://research-engineering-studio-us-east-1.s3.amazonaws.com/releases/2024.04.02/patch_scripts/patches/samaccountname_regex.patch --output ${OUTPUT_DIRECTORY}/samaccountname_regex.patch -
패치 스크립트와 패치 파일이 다운로드되는 디렉터리로 이동합니다. 다음 패치 명령을 실행
<environment-name>하여를 RES 환경의 이름으로 바꿉니다.python3 patch.py --environment-name<environment-name>--res-version 2024.04.02 --module cluster-manager --patch samaccountname_regex.patch -
환경에 대한 Cluster Manager 인스턴스를 다시 시작하려면 다음 명령을 실행
<environment-name>하여를 RES 환경의 이름으로 바꿉니다. Amazon EC2 Management Console에서 인스턴스를 종료할 수도 있습니다.ENVIRONMENT_NAME=<environment-name>INSTANCE_ID=$(aws ec2 describe-instances \ --filters \ Name=tag:Name,Values=${ENVIRONMENT_NAME}-cluster-manager \ Name=tag:res:EnvironmentName,Values=${ENVIRONMENT_NAME}\ --query "Reservations[0].Instances[0].InstanceId" \ --output text) aws ec2 terminate-instances --instance-ids ${INSTANCE_ID}
........................
(2024.04.02 이하) 접속 호스트에 액세스하기 위한 프라이빗 키가 잘못되었습니다.
문제
사용자가 RES 웹 포털에서 접속 호스트에 액세스하기 위해 프라이빗 키를 다운로드하면 키의 형식이 좋지 않습니다. 즉, 여러 줄이 한 줄로 다운로드되어 키가 유효하지 않습니다. 다운로드한 키로 접속 호스트에 액세스하려고 하면 사용자에게 다음 오류가 발생합니다.
Load key "<downloaded-ssh-key-path>": error in libcrypto<user-name>@<bastion-host-public-ip>: Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
영향을 받는 버전
2024.04.02 이하
완화
이 브라우저는 영향을 받지 않으므로 Chrome을 사용하여 키를 다운로드하는 것이 좋습니다.
또는 뒤에 새 줄을 -----BEGIN PRIVATE KEY----- 생성하고 바로 앞에 다른 새 줄을 생성하여 키 파일의 형식을 변경할 수 있습니다-----END PRIVATE KEY-----.
........................