

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon WorkSpaces 애플리케이션의 보안 모범 사례
<a name="security-best-practices"></a>

 Amazon Web Services(AWS)에서 가장 우선순위가 높은 것이 클라우드 보안입니다. 보안 및 규정 준수는 AWS 와 고객 간의 공동 책임입니다. 자세한 내용은 [https://aws.amazon.com/compliance/shared-responsibility-model/](https://aws.amazon.com/compliance/shared-responsibility-model/)을 참조하세요. AWS 및 WorkSpaces 애플리케이션 고객은 스택, 플릿, 이미지 및 네트워킹과 같은 다양한 계층에 보안 조치를 구현하는 것이 중요합니다.

 임시적 특성으로 인해 WorkSpaces 애플리케이션은 애플리케이션 및 데스크톱 전송을 위한 안전한 솔루션으로 선호되는 경우가 많습니다. Windows 배포에서 흔히 볼 수 있는 바이러스 백신 솔루션이 미리 정의되고 사용자 세션이 끝나면 제거되는 환경의 사용 사례에 적합한지 생각해 보십시오. 바이러스 백신은 가상화된 인스턴스에 오버헤드를 추가하므로 불필요한 활동을 줄이는 것이 가장 좋습니다. 예를 들어 부팅 시 시스템 볼륨(임시 볼륨)을 스캔해도 WorkSpaces 애플리케이션의 전반적인 보안에 추가되지 않습니다.

 보안 WorkSpaces 애플리케이션에 대한 두 가지 주요 질문은 다음과 같습니다.
+  세션 이후에도 사용자 상태를 유지하는 것이 필수인가요?
+  세션 내에서 사용자는 어느 정도의 액세스 권한을 가져야 하나요?

**Topics**
+ [영구 데이터 보호](securing-persistent-data.md)
+ [엔드포인트 보안 및 바이러스 백신](endpoint-security-antivirus.md)
+ [네트워크 제외](network-exclusions.md)
+ [WorkSpaces 애플리케이션 세션 보안](securing-session.md)
+ [방화벽 및 라우팅](firewalls-routing.md)
+ [데이터 손실 방지](data-loss-prevention.md)
+ [송신 트래픽 제어](controlling-egress-traffic.md)
+ [AWS 서비스 사용](using-services.md)

# 영구 데이터 보호
<a name="securing-persistent-data"></a>

 WorkSpaces 애플리케이션을 배포하려면 사용자 상태가 어떤 형태로든 지속되어야 할 수 있습니다. 이는 개별 사용자의 데이터를 유지하기 위한 것일 수도 있고 공유 폴더를 사용하여 협업을 위한 데이터를 유지하기 위한 것일 수도 있습니다. AppStream 2.0 인스턴스 스토리지는 일시적이며 암호화 옵션이 없습니다.

 WorkSpaces 애플리케이션은 Amazon S3의 홈 폴더 및 애플리케이션 설정을 통해 사용자 상태 지속성을 제공합니다. 일부 사용 사례에서는 사용자 상태 지속성을 더 잘 제어해야 합니다. 이러한 사용 사례에서는 AWS 에서 SMB(Server Message Block) 파일 공유를 사용하는 것이 좋습니다.

## 사용자 상태 및 데이터
<a name="user-state-and-data"></a>

대부분의 Windows 애플리케이션은 사용자가 생성한 애플리케이션 데이터와 함께 배치될 때 가장 안전하고 최상의 성능을 발휘하므로이 데이터를 WorkSpaces 애플리케이션 플릿 AWS 리전 과 동일하게 유지하는 것이 가장 좋습니다. 이 데이터를 암호화하는 것이 가장 좋습니다. 사용자 홈 폴더의 기본 동작은 AWS 키 관리 서비스()의 Amazon S3-managed형 암호화 키를 사용하여 저장된 파일 및 폴더를 암호화하는 것입니다AWS KMS. AWS 콘솔 또는 Amazon S3 버킷에 액세스할 수 있는 AWS 관리 사용자는 해당 파일에 직접 액세스할 수 있습니다.

사용자 파일 및 폴더를 저장하기 위해 Windows 파일 공유의 SMB(서버 메시지 블록) 대상이 필요한 설계에서는 프로세스가 자동으로 수행되거나 구성이 필요합니다.

 *표 5 — 사용자 데이터 보안 옵션* 


|   **SMB 대상**   |  **저장된 데이터 암호화**  |  **전송 중 데이터 암호화**  |   **바이러스 백신(AV)**   | 
| --- | --- | --- | --- | 
|  FSx for Windows File Server  |  [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-at-rest.html](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-at-rest.html)  |  [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-in-transit.html](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption-in-transit.html)  |   원격 인스턴스에 설치된 AV는 매핑된 드라이브에서 스캔을 수행합니다.  | 
|   **파일 게이트웨이, AWS Storage Gateway**   |  기본적으로 S3 AWS Storage Gateway 에에 저장된 모든 데이터는 Amazon S3-Managed)를 사용하여 서버 측에서 암호화됩니다. 선택적으로 AWS Key Management Service (KMS)를 사용하여 저장된 데이터를 암호화하도록 다양한 게이트웨이 유형을 구성할 수 있습니다. |  모든 유형의 게이트웨이 어플라이언스와 AWS 스토리지 간에 전송되는 모든 데이터는 SSL을 사용하여 암호화됩니다. |   원격 인스턴스에 설치된 AV는 매핑된 드라이브에서 스캔을 수행합니다.  | 
|  EC2 기반 Windows File Servers  |  [EBS 암호화 활성화](https://docs.aws.amazon.com/kms/latest/developerguide/services-ebs.html)  |  PowerShell: Set- SmbServerConfiguration – EncryptData \$1True  |   서버에 설치된 AV는 로컬 드라이브에서 스캔을 수행합니다.  | 

# 엔드포인트 보안 및 바이러스 백신
<a name="endpoint-security-antivirus"></a>

WorkSpaces 애플리케이션 인스턴스의 짧은 임시 특성과 데이터 지속성 부족은 영구 데스크톱에서 필요한 활동으로 인해 사용자 경험과 성능이 손상되지 않도록 다른 접근 방식이 필요함을 의미합니다. 엔드포인트 보안 에이전트는 조직 정책이 있거나 이메일, 파일 수신, 외부 웹 브라우징과 같은 외부 데이터 수신과 함께 사용되는 경우 WorkSpaces 애플리케이션 이미지에 설치됩니다.

## 고유 식별자 제거
<a name="removing-unique-iidentifiers"></a>

Endpoint Security 에이전트에는 플릿 인스턴스 생성 프로세스 중에 재설정해야 하는 글로벌 고유 식별자(GUID)가 있을 수 있습니다. 공급업체는 이미지에서 생성된 각 인스턴스에 대해 새 GUID가 생성되도록 이미지에 제품을 설치하는 방법에 대한 지침을 제공합니다.

GUID가 생성되지 않도록 하려면 WorkSpaces Applications Assistant를 실행하여 이미지를 생성하기 전에 엔드포인트 보안 에이전트를 마지막 작업으로 설치합니다.

## 성능 최적화
<a name="performance-optimization"></a>

엔드포인트 보안 공급업체는 WorkSpaces 애플리케이션의 성능을 최적화하는 스위치와 설정을 제공합니다. 설정은 공급업체마다 다르며 해당 설명서(일반적으로 VDI 섹션)에서 확인할 수 있습니다. 일부 일반 설정에는 다음이 포함되지만 이에 국한되지는 않습니다.
+ 부팅 검사를 끄면 인스턴스 생성, 시작 및 로그인 시간이 최소화됩니다.
+ 불필요한 검사를 방지하려면 예약 검사를 끄십시오.
+ 서명 캐시를 해제하여 파일 열거를 방지합니다.
+ VDI에 최적화된 I/O 설정을 활성화합니다.
+ 성능 보장을 위해 애플리케이션에 필요한 제외 사항

엔드포인트 보안 공급업체는 성능을 최적화하는 가상 데스크톱 환경에서 사용하기 위한 지침을 제공합니다.
+ Trend Micro Office Scan [가상 데스크톱 인프라 지원 - Apex One/OfficeScan(trendmicro.com)](https://success.trendmicro.com/solution/1055260-best-practice-for-setting-up-virtual-desktop-infrastructure-vdi-in-officescan)
+ CrowdStrike 및 [데이터 센터에 CrowdStrike Falcon을 설치하는 방법](https://www.crowdstrike.com/blog/tech-center/install-falcon-datacenter/)
+ Sophos 및 [Sophos Central Endpoint: 골드 이미지에 설치하여 ID 중복을 방지하는 방법](https://support.sophos.com/support/s/article/KB-000035040?language=en_US) 및 [Sophos Central: 가상 데스크톱 환경에 Windows 엔드포인트를 설치할 때의 모범 사례](https://support.sophos.com/support/s/article/KB-000039009?language=en_US)
+ [가상 데스크톱 인프라 시스템에서의 McAfee 및 McAfee 에이전트 프로비저닝 및 배포](https://kc.mcafee.com/corporate/index?page=content&id=KB87654)
+ Microsoft Endpoint Security 및 [비영구 VDI 시스템을 위한 Microsoft Defender Antivirus 구성 - Microsoft Tech Community](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/configuring-microsoft-defender-antivirus-for-non-persistent-vdi/ba-p/1489633)

## 스캔 제외
<a name="scanning-exclusions"></a>

 WorkSpaces 애플리케이션 인스턴스에 보안 소프트웨어가 설치된 경우 보안 소프트웨어가 다음 프로세스를 방해해서는 안 됩니다.

 *표 6 - WorkSpaces 애플리케이션은 다음 프로세스를 방해해서는 안 됩니다.*


|  **서비스**:  |  **프로세스**  | 
| --- | --- | 
|  AmazonCloudWatchAgent  |  "C:\$1Program Files\$1Amazon\$1AmazonCloudWatchAgent\$1start-amazon- cloudwatch-agent.exe" | 
|  AmazonSSMAgent  |  "C:\$1Program Files\$1Amazon\$1SSM\$1amazon-ssm-agent.exe" | 
|  NICE DCV  |  "C:\$1Program Files\$1NICE\$1DCV\$1Server\$1bin\$1dcvserver.exe" "C:\$1Program Files\$1NICE\$1DCV\$1Server\$1bin\$1dcvagent.exe" | 
|  WorkSpaces 애플리케이션  |   "C:\$1Program Files\$1Amazon\$1AppStream2\$1StorageConnector\$1StorageConnector.exe"  "C:\$1Program Files\$1Amazon\$1Photon\$1" 폴더에서   ".\$1Agent\$1PhotonAgent.exe"  ".\$1Agent\$1s5cmd.exe"  ".\$1WebServer\$1PhotonAgentWebServer.exe"  ".\$1CustomShell\$1PhotonWindowsAppSwitcher.exe"  ".\$1CustomShell\$1PhotonWindowsCustomShell.exe"  ".\$1CustomShell\$1PhotonWindowsCustomShellBackground.exe"  | 

## 폴더
<a name="folders"></a>

 WorkSpaces 애플리케이션 인스턴스에 보안 소프트웨어가 설치된 경우 소프트웨어가 다음 폴더를 방해해서는 안 됩니다.

**Example**  

```
    C:\Program Files\Amazon\* 
    C:\ProgramData\Amazon\* 
    C:\Program Files (x86)\AWS Tools\* 
    C:\Program Files (x86)\AWS SDK for .NET\* 
    C:\Program Files\NICE\* 
    C:\ProgramData\NICE\* 
    C:\AppStream\*
```

## 엔드포인트 보안 콘솔 위생
<a name="endpoint-security-console-hygiene"></a>

WorkSpaces 애플리케이션은 사용자가 유휴 및 연결 해제 제한 시간 이후에 연결할 때마다 고유한 새 인스턴스를 생성합니다. 인스턴스는 고유한 이름을 갖게 되며 엔드포인트 보안 관리 콘솔에 구축됩니다. 4일 이상(또는 WorkSpaces 애플리케이션 세션 제한 시간에 따라 더 낮게) 사용하지 않는 노후 시스템을 삭제하도록 설정하면 콘솔에서 만료된 인스턴스 수가 최소화됩니다.

# 네트워크 제외
<a name="network-exclusions"></a>

 WorkSpaces 애플리케이션 관리 네트워크 범위(`198.19.0.0/16`)와 다음 포트 및 주소는 WorkSpaces 애플리케이션 인스턴스 내의 보안/방화벽 또는 바이러스 백신 솔루션으로 차단해서는 안 됩니다.

 *표 7 - WorkSpaces 애플리케이션 스트리밍 인스턴스의 포트 보안 소프트웨어가를 방해해서는 안 됩니다.*


|  **포트**  |   **사용량**   | 
| --- | --- | 
|  8300  |   스트리밍 연결을 설정하는 데 사용됩니다.  | 
|  3128  |  WorkSpaces 애플리케이션에서 스트리밍 인스턴스를 관리하는 데 사용됩니다. | 
|  8000  |   WorkSpaces 애플리케이션에서 스트리밍 인스턴스를 관리하는 데 사용됩니다.  | 
|  8443  |   WorkSpaces 애플리케이션에서 스트리밍 인스턴스를 관리하는 데 사용됩니다.  | 
|  53  |   DNS   | 

 *표 8 - WorkSpaces 애플리케이션 관리형 서비스는 보안 소프트웨어가를 방해해서는 안 되는 문제를 해결합니다.*


|  **포트**  |  **사용량**  | 
| --- | --- | 
|  169.254.169.123  |  NTP  | 
|  169.254.169.249  |  NVIDIA GRID 라이선스 서비스  | 
|  169.254.169.250  |  KMS  | 
|  169.254.169.251  |  KMS  | 
|  169.254.169.253  |  DNS  | 
|  169.254.169.254  |  Metadata  | 

# WorkSpaces 애플리케이션 세션 보안
<a name="securing-session"></a>

## 애플리케이션 및 운영 체제 제어 제한
<a name="limiting-application-and-operating-system-controls"></a>

 WorkSpaces 애플리케이션은 관리자가 애플리케이션 스트리밍 모드에서 웹 페이지에서 시작할 수 있는 애플리케이션을 정확하게 지정할 수 있는 기능을 제공합니다. 하지만 이렇게 해도 지정된 애플리케이션만 실행할 수 있다는 보장은 없습니다.

 Windows 유틸리티 및 애플리케이션은 조직에 필요한 애플리케이션만 실행할 수 있도록 [https://aws.amazon.com/blogs/desktop-and-application-streaming/using-microsoft-applocker-to-manage-application-experience-on-amazon-appstream-2-0/](https://aws.amazon.com/blogs/desktop-and-application-streaming/using-microsoft-applocker-to-manage-application-experience-on-amazon-appstream-2-0/)를 사용하여 추가 means. AWS recommends를 통해 운영 체제를 통해 시작할 수 있습니다. 기본 규칙은 모든 사람에게 중요한 시스템 디렉터리에 대한 경로 액세스 권한을 부여하므로 수정해야 합니다.

**참고**  
 Windows Server 2016 및 2019에서는 AppLocker 규칙을 적용하기 위해 Windows Application Identity 서비스를 실행해야 합니다. Microsoft AppLocker를 사용하는 WorkSpaces 애플리케이션에서의 애플리케이션 액세스는 [AppStream 관리자 안내서에 자세히 설명되어 있습니다.](https://docs.aws.amazon.com/appstream2/latest/developerguide/data-protection.html#application-access)

 Active Directory 도메인에 연결된 플릿 인스턴스의 경우 GPO(그룹 정책 객체)를 사용하여 사용자 및 시스템 설정을 제공하여 사용자의 애플리케이션 및 리소스 액세스를 보호합니다.

# 방화벽 및 라우팅
<a name="firewalls-routing"></a>

 WorkSpaces 애플리케이션 플릿을 생성할 때 서브넷과 보안 그룹을 할당해야 합니다. 서브넷에는 기존에 NACL(네트워크 액세스 제어 목록)과 라우팅 테이블이 할당되어 있습니다. 새 이미지 빌더를 시작하거나 새 플릿을 생성할 때 [최대 5개의 보안 그룹](https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-network-security-groups.html)을 연결할 수 있습니다. 보안 그룹은 [기존 보안 그룹에서 최대 5개까지 할당](https://docs.aws.amazon.com/appstream2/latest/developerguide/managing-network-security-groups.html)할 수 있습니다. 각 보안 그룹에 대해 인스턴스에 대한 아웃바운드 및 인바운드 네트워크 트래픽을 제어하는 규칙을 추가합니다.

NACL은 하나 이상의 서브넷에서 들어오고 나가는 트래픽을 제어하기 위해 상태 비저장 방화벽 역할을 수행하는 VPC에 대한 선택적 보안 계층입니다. 보안 그룹과 비슷한 규칙으로 네트워크 ACL을 설정하여 VPC에 보안 계층을 더 추가할 수 있습니다. 보안 그룹과 네트워크 ACL의 차이에 대한 자세한 정보는 [보안 그룹 및 NACL 비교 페이지](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html#VPC_Security_Comparison)를 참조하세요.

보안 그룹 및 NACL 규칙을 설계하고 적용할 때는 최소 권한을 위한 AWS Well-Architected 모범 사례를 고려하십시오. *최소 권한*은 작업을 완료하는 데 필요한 권한만 부여하는 원칙입니다.

AWS Direct Connect를 통해 온프레미스 환경을 AWS에 연결하는 고속 프라이빗 네트워크를 보유한 고객의 경우 AppStream용 VPC 엔드포인트를 사용하는 것을 고려할 수 있습니다. 즉, 스트리밍 트래픽은 퍼블릭 인터넷을 거치지 않고 프라이빗 네트워크 연결을 통해 라우팅됩니다. 이 주제에 대한 자세한 내용은이 문서의 WorkSpaces 애플리케이션 스트리밍 인터페이스 VPC 엔드포인트 섹션을 참조하세요.

# 데이터 손실 방지
<a name="data-loss-prevention"></a>

두 가지 유형의 데이터 손실 방지에 대해 살펴보겠습니다.

## AppStream 2.0 인스턴스에 대한 클라이언트 데이터 전송 제어
<a name="client-to-AppStream-instance-data-transfer-controls"></a>

 *표 9 — 데이터 수신 및 송신 제어 지침* 


|  **설정**  |  **옵션**  |  **지침**  | 
| --- | --- | --- | 
|  클립보드  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/data-loss-prevention.html)  |  이 설정을 비활성화해도 세션 내에서 복사 및 붙여넣기가 비활성화되지 않습니다. 세션에 데이터를 복사해야 하는 경우 데이터 유출 가능성을 최소화하려면 원격 세션에만 붙여넣기를 선택하십시오. | 
|  파일 전송  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/data-loss-prevention.html)  |  데이터 유출을 방지하려면 이 설정을 활성화하지 마십시오. | 
|  로컬 디바이스로 인쇄  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/data-loss-prevention.html)  |  인쇄가 필요한 경우 조직에서 제어하고 모니터링하는 네트워크 매핑 프린터를 사용하십시오. | 

 스택 설정에 비해 기존 조직 데이터 전송 솔루션의 이점을 고려해 보십시오. 이러한 구성은 포괄적인 보안 데이터 전송 솔루션을 대체하도록 설계되지 않았습니다.

# 송신 트래픽 제어
<a name="controlling-egress-traffic"></a>

데이터 손실이 우려되는 경우 사용자가 WorkSpaces 애플리케이션 인스턴스 내에 있으면 액세스할 수 있는 내용을 은폐하는 것이 중요합니다. 네트워크 출구(또는 송신) 경로는 어떤 모습입니까? WorkSpaces 애플리케이션 인스턴스 내에서 최종 사용자가 퍼블릭 인터넷에 액세스할 수 있어야 하는 일반적인 요구 사항이므로 네트워크 경로에 WebProxy 또는 콘텐츠 필터링 솔루션을 배치하는 것을 고려해야 합니다. 기타 고려 사항에는 AppStream 인스턴스 내의 로컬 바이러스 백신 애플리케이션 및 기타 엔드포인트 보안 조치가 포함됩니다(자세한 내용은 “엔드포인트 보안 및 바이러스 백신” 섹션 참조).

# AWS 서비스 사용
<a name="using-services"></a>

## AWS Identity and Access Management
<a name="aws-identity-and-access-management"></a>

 IAM 역할을 사용하여 AWS 서비스에 액세스하고 서비스에 연결된 IAM 정책에서 구체적으로 설명하는 것이 WorkSpaces 애플리케이션 세션의 사용자만 추가 자격 증명을 관리하지 않고도 액세스할 수 있도록 하는 모범 사례입니다. [https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances](https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html#best-practices-for-using-iam-role-with-streaming-instances) 따릅니다.

 홈 폴더와 애플리케이션 설정 지속성 모두에서 사용자 데이터를 유지하기 위해 생성된 [https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html)을 생성합니다. 이렇게 [https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access](https://docs.aws.amazon.com/appstream2/latest/developerguide/s3-iam-policy.html#s3-iam-policy-restricted-access) 액세스할 수 없습니다.

## VPC 엔드포인트
<a name="vpc-endpoints-1"></a>

 VPC 엔드포인트는 VPC와 지원되는 AWS 서비스 및에서 제공하는 VPC 엔드포인트 서비스 간의 프라이빗 연결을 활성화합니다 AWS PrivateLink. AWS PrivateLink 는 프라이빗 IP 주소를 사용하여 서비스에 비공개로 액세스할 수 있는 기술입니다. VPC와 기타 서비스 간의 트래픽은 Amazon 네트워크를 벗어나지 않습니다. 서비스에 대해서만 퍼블릭 인터넷 액세스가 필요한 경우 AWS VPC 엔드포인트는 NAT 게이트웨이 및 인터넷 게이트웨이에 대한 요구 사항을 모두 제거합니다.

 자동화 루틴 또는 개발자가 WorkSpaces 애플리케이션에 대한 API 호출을 수행해야 하는 환경에서[https://docs.aws.amazon.com/appstream2/latest/developerguide/access-api-cli-through-interface-vpc-endpoint.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/access-api-cli-through-interface-vpc-endpoint.html). 예를 들어 퍼블릭 인터넷 액세스가 없는 프라이빗 서브넷에 EC2 인스턴스가 있는 경우 WorkSpaces 애플리케이션 API용 VPC 엔드포인트를 사용하여 [https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html](https://docs.aws.amazon.com/appstream2/latest/APIReference/API_CreateStreamingURL.html)과 같은 AppStream 2.0 API 작업을 호출할 수 있습니다. 다음 다이어그램은 Lambda 함수 및 EC2 인스턴스에서 WorkSpaces 애플리케이션 API 및 스트리밍 VPC 엔드포인트를 사용하는 설정의 예를 보여줍니다.

![\[VPC 엔드포인트의 참조 아키텍처 다이어그램\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/images/vpc-endpoint.jpeg)


 *VPC 엔드포인트* 

 스트리밍 VPC 엔드포인트를 사용하면 VPC 엔드포인트를 통해 세션을 스트리밍할 수 있습니다. 스트리밍 인터페이스 엔드포인트는 스트리밍 트래픽이 VPC를 벗어나지 않도록 유지합니다. 스트리밍 트래픽으로는 픽셀, USB, 사용자 입력, 오디오, 클립보드, 파일 업로드 및 다운로드, 프린터 트래픽 등이 있습니다. VPC 엔드포인트를 사용하려면 WorkSpaces 애플리케이션 스택에서 VPC 엔드포인트 설정을 활성화해야 합니다. 이는 인터넷 액세스가 제한되어 있고 Direct Connect 인스턴스를 통해 액세스하는 것이 유리한 위치에서 퍼블릭 인터넷을 통해 사용자 세션을 스트리밍하는 대신 사용할 수 있습니다. VPC 엔드포인트를 통해 사용자 세션을 스트리밍하려면 다음이 필요합니다.
+  인터페이스 엔드포인트와 연결되는 보안 그룹은 사용자가 연결하는 IP 주소 범위에서 포트 `443`(TCP)와 포트 `1400–1499`(TCP)로 수신되는 인바운드 액세스를 허용해야 합니다.
+  서브넷에 대한 네트워크 액세스 제어 목록은 휘발성 네트워크 포트 `1024-65535`(TCP)에서 사용자가 연결하는 IP 주소 범위로 전송되는 아웃바운드 트래픽을 허용해야 합니다.
+  사용자를 인증하고 WorkSpaces 애플리케이션이 작동하는 데 필요한 웹 자산을 제공하려면 인터넷 연결이 필요합니다.

 WorkSpaces 애플리케이션을 사용하여 AWS 서비스로 트래픽을 제한하는 방법에 대한 자세한 내용은 [https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.html](https://docs.aws.amazon.com/appstream2/latest/developerguide/creating-streaming-from-interface-vpc-endpoints.html)하기 위한 관리 안내서를 참조하세요.

 완전한 퍼블릭 인터넷 액세스가 필요한 경우 Image Builder에서 Internet Explorer 고급 보안 구성(ESC)을 사용하지 않도록 설정하는 것이 좋습니다. 자세한 내용은 WorkSpaces 애플리케이션 관리 안내서를 참조하여 [https://docs.aws.amazon.com/appstream2/latest/developerguide/customize-fleets.html#customize-fleets-disable-ie-esc](https://docs.aws.amazon.com/appstream2/latest/developerguide/customize-fleets.html#customize-fleets-disable-ie-esc)하세요.

## 인스턴스에서 인스턴스 메타데이터 서비스(IMDS) 구성
<a name="configuring-imds"></a>

이 주제에서는 인스턴스 메타데이터 서비스(IMDS)에 대해 설명합니다.

*인스턴스 메타데이터*는 애플리케이션이 실행 중인 인스턴스를 구성 또는 관리하는 데 사용할 수 있는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 관련 데이터입니다. 인스턴스 메타데이터 서비스(IMDS)는 인스턴스의 코드가 인스턴스 메타데이터에 안전하게 액세스하기 위해 사용하는 온 인스턴스 구성 요소입니다. 자세한 내용은 **Amazon EC2 사용 설명서의 [인스턴스 메타데이터 및 사용자 데이터](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)를 참조하세요.

코드는 인스턴스 메타데이터 서비스 버전 1(IMDSv1) 또는 인스턴스 메타데이터 서비스 버전 2(IMDSv2)의 두 가지 방법 중 하나를 사용하여 실행 중인 인스턴스에서 인스턴스 메타데이터에 액세스할 수 있습니다. IMDSv2는 세션 지향 요청을 사용하며 IMDS에 액세스하기 위해 사용될 수 있는 여러 유형의 취약성을 완화합니다. 이러한 두 가지 방법에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [인스턴스 메타데이터 서비스 구성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)을 참조하세요.

### IMDS에 대한 리소스 지원
<a name="imds-resource-support"></a>

2024년 1월 16일 또는 그 이후에 릴리스된 에이전트 버전 또는 관리형 이미지 업데이트로 WorkSpaces 애플리케이션 이미지를 실행할 때 올웨이즈 온, 온디맨드, 단일 세션 및 다중 세션 플릿과 모든 Image Builder는 IMDSv1 및 IMDSv2를 모두 지원합니다. IMDSv2 WorkSpaces 

Elastic Fleets 및 AppBlock Builders 인스턴스는 IMDSv1 및 IMDSv2도 모두 지원합니다.

### IMDS 속성 설정의 예
<a name="imds-examples"></a>

다음은 IMDS 메서드를 선택하는 두 가지 예입니다.

#### Java v2 SDK 예제
<a name="java-sdk-example"></a>

아래 예제 요청에서 `disableIMDSV1` 속성을 사용하여 IMDSv1 비활성화

```
CreateFleetRequest request = CreateFleetRequest.builder()
 .name("TestFleet")
 .imageArn("arn:aws:appstream:us-east-1::image/TestImage")
 .instanceType("stream.standard.large")
 .fleetType(FleetType.ALWAYS_ON)
 .computeCapacity(ComputeCapacity.builder()
 .desiredInstances(5)
 .build())
 .description("Test fleet description")
 .displayName("Test Fleet Display Name")
 .enableDefaultInternetAccess(true)
 .maxUserDurationInSeconds(3600)
 .disconnectTimeoutInSeconds(900)
 .idleDisconnectTimeoutInSeconds(600)
 .iamRoleArn("arn:aws:iam::123456789012:role/TestRole")
 .streamView(StreamView.APP)
 .platform(PlatformType.WINDOWS)
 .maxConcurrentSessions(10)
 .maxSessionsPerInstance(2)
 .tags(tags)
 .disableIMDSV1(true)
 .build();
```

**disableIMDSV1**을 true로 설정하여 IMDSv1을 비활성화하고 IMDSv2를 적용합니다.

**disableIMDSV1**을 false로 설정하여 IMDSv1과 IMDSv2를 모두 활성화합니다.

#### CLI 예시
<a name="cli-example"></a>

아래 예제 요청에서 `--disable-imdsv1` 속성을 사용하여 IMDSv1 비활성화

```
aws appstream create-fleet --name test-fleet --image-arn "arn:aws:appstream:us-east-1::image/test-image" --disable-imdsv1 --instance-type stream.standard.small --compute-capacity DesiredInstances=2 --max-user-duration-in-seconds 57600 --disconnect-timeout-in-seconds 57600 --region us-east-1
```

IMDSv1`--disable-imdsv1`을 비활성화하고 IMDSv2를 적용하려면 true로 설정합니다.

IMDSv1과 IMDSv2를 모두 활성화하려면 false`--no-disable-imdsv1`로 설정합니다.