

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

# 이미지
<a name="managing-images"></a>

사용자에게 스트리밍할 수 있는 애플리케이션과 기본 시스템 및 애플리케이션 설정이 포함된 Amazon WorkSpaces 애플리케이션 이미지를 생성하여 사용자가 해당 애플리케이션을 빠르게 시작할 수 있도록 할 수 있습니다. 하지만 이미지를 만든 후에는 이미지를 변경할 수 없습니다. 다른 애플리케이션을 추가하거나 기존 애플리케이션을 업데이트하거나 이미지 설정을 변경하려면 이미지를 만들 때 사용한 이미지 빌더를 시작하고 다시 연결해야 합니다. 해당 이미지 빌더를 삭제한 경우, 이미지에 기반한 새 이미지 빌더를 시작하십시오. 그런 다음 변경하고 새 이미지를 만듭니다. 자세한 내용은 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 및 [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md) 섹션을 참조하세요.

사용 가능한 이미지는 WorkSpaces 애플리케이션 콘솔의 **이미지 레지스트리**에 나열됩니다. 이미지는 퍼블릭, 프라이빗 또는 공유로 분류됩니다. 이러한 이미지 유형 중 하나를 사용하여 이미지 빌더를 시작하고 WorkSpaces 애플리케이션 플릿을 설정할 수 있습니다. 공유 이미지는 다른 Amazon Web Services 계정이 소유하며 사용자와 공유합니다. 공유된 이미지에 설정된 권한은 이러한 이미지로 할 수 있는 작업을 제한할 수 있습니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 이미지 관리](administer-images.md) 단원을 참조하십시오.

**Topics**
+ [Amazon WorkSpaces 애플리케이션의 기본 애플리케이션 및 Windows 설정과 애플리케이션 시작 성능](customizing-appstream-images.md)
+ [WorkSpaces 애플리케이션 에이전트 버전 관리](base-images-agent.md)
+ [WorkSpaces 애플리케이션 에이전트 릴리스 정보](agent-software-versions.md)
+ [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md)
+ [Amazon WorkSpaces 애플리케이션 이미지 관리](administer-images.md)
+ [Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성](programmatically-create-image.md)
+ [Linux 기반 이미지 만들기](create-linux-based-images.md)
+ [세션 스크립트를 사용하여 Amazon WorkSpaces 애플리케이션 사용자의 스트리밍 환경 관리](use-session-scripts.md)

# Amazon WorkSpaces 애플리케이션의 기본 애플리케이션 및 Windows 설정과 애플리케이션 시작 성능
<a name="customizing-appstream-images"></a>

 기본 애플리케이션 및 Windows 설정을 만들면 사용자가 애플리케이션을 빠르게 시작할 수 있으므로 직접 설정을 만들거나 구성할 필요가 없습니다.

WorkSpaces 애플리케이션은 사용자의 스트리밍 세션에 맞게 애플리케이션의 시작 성능을 최적화합니다. 모든 필수 파일이 이 프로세스에 포함되도록 일부 파일과 폴더를 최적화 매니페스트에 수동으로 추가해야 할 수도 있습니다.

**Topics**
+ [WorkSpaces 애플리케이션 사용자를 위한 기본 애플리케이션 및 Windows 설정 생성](creating-default-app-Windows-settings.md)
+ [Amazon WorkSpaces 애플리케이션에서 애플리케이션의 시작 성능 최적화](optimizing-app-launch-performance.md)

# WorkSpaces 애플리케이션 사용자를 위한 기본 애플리케이션 및 Windows 설정 생성
<a name="creating-default-app-Windows-settings"></a>

Windows 사용자 프로필 폴더 또는 사용자 레지스트리 하이브에 저장된 애플리케이션 사용자 지정 및 Windows 설정을 기본값으로 설정할 수 있습니다. Image Assistant의 **템플릿 사용자를** 사용하여 기본 설정을 저장하면 WorkSpaces 애플리케이션이 Windows 기본 사용자 프로필을 구성한 프로필로 바꿉니다. 그 다음 Windows 기본 사용자 프로필을 사용해 플릿 인스턴스에서 사용자의 초기 설정을 만듭니다. 구성한 애플리케이션 또는 Windows 설정이 플릿에서 작동하지 않는 경우, 설정이 Windows 사용자 프로필에 저장되어 있는지 확인합니다. 자세한 내용은 [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md)의 3단계: 기본 애플리케이션 및 Windows 설정 만들기를 참조하십시오.

생성 및 구성할 수 있는 기본 설정은 다음과 같습니다.
+ 애플리케이션 기본 설정(브라우저 홈 페이지, 도구 모음 사용자 지정, 보안 설정 등)
+ 애플리케이션 데이터 설정(브라우저 북마크 및 연결 프로필 등)
+ Windows 환경 설정(파일 이름 확장명 및 숨겨진 폴더 표시 등)

또한 보안 강화 구성(ESC) 등의 Internet Explorer 보안 설정을 수정하거나 비활성화할 수 있습니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션에서 Internet Explorer 향상된 보안 구성 비활성화](customize-fleets-disable-ie-esc.md) 단원을 참조하십시오.

# Amazon WorkSpaces 애플리케이션에서 애플리케이션의 시작 성능 최적화
<a name="optimizing-app-launch-performance"></a>

이미지를 생성할 때 WorkSpaces 애플리케이션에서는 사용자의 스트리밍 세션에 맞게 애플리케이션의 시작 성능을 최적화해야 합니다. 이 프로세스 도중 애플리케이션이 열릴 때 사용자가 필요로 하는 초기 구성 요소가 애플리케이션에서 사용되는지 확인합니다. 그러면 최적화 프로세스가 이러한 구성 요소를 캡처할 수 있습니다. 최적화에 필요한 파일 일부가 탐지되지 않는 경우가 있습니다. 이미지 빌더에서 열려 있지 않은 플러그인 또는 구성 요소가 이러한 파일의 예입니다. 애플리케이션에 필요한 모든 파일이 캡처되도록 최적화 매니페스트에 이를 포함시킬 수 있습니다. 최적화 매니페스트에 파일을 추가하면 플릿 인스턴스를 만들고 사용자가 사용할 수 있게 될 때까지 걸리는 시간이 늘어날 수 있습니다. 그러나 그렇게 하면 플릿 인스턴스에서 애플리케이션을 처음 시작할 때 걸리는 시간이 줄어듭니다.

폴더에 있는 모든 파일을 최적화하려면 PowerShell을 열고 다음 PowerShell 명령을 사용합니다.

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\ProgramData\Amazon\Photon\Prewarm\PrewarmManifest.txt" -encoding UTF8 -append
```

기본적으로 Image Assistant는 Image Assistant **최적화** 단계가 실행될 때마다 애플리케이션 최적화 매니페스트를 대체합니다. 다음 시점에 PowerShell 명령을 실행하여 폴더의 모든 파일을 최적화해야 합니다.
+ **최적화** 단계가 실행된 후 매번
+ Image Assistant **검토 페이지**에서 **연결 해제 및 이미지 생성**을 선택하기 전

또는 Image Assistant 명령줄 인터페이스(CLI) 작업을 사용하여 애플리케이션별로 최적화 매니페스트를 지정할 수 있습니다. Image Assistant CLI 작업을 사용하여 최적화 매니페스트를 지정하면 WorkSpaces 애플리케이션은 지정된 애플리케이션 최적화 매니페스트를 Image Assistant **Optimize** 단계로 식별된 파일과 병합합니다. 자세한 내용은 [Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성](programmatically-create-image.md) 단원을 참조하십시오.

# WorkSpaces 애플리케이션 에이전트 버전 관리
<a name="base-images-agent"></a>

WorkSpaces 애플리케이션 에이전트는 스트리밍 인스턴스에서 실행되며 사용자가 애플리케이션을 스트리밍할 수 있도록 하는 소프트웨어입니다. 새 이미지를 만들 때 **Always use latest agent version(항상 최신 버전 에이전트 사용)** 옵션이 기본적으로 선택됩니다. 이 옵션을 선택하면 이미지에서 시작된 새 이미지 빌더 또는 플릿 인스턴스가 항상 최신 WorkSpaces 애플리케이션 에이전트 버전을 사용합니다. 소프트웨어와의 호환성을 보장하거나 최종 사용자에게 배포하기 전에 업데이트된 환경을 검증하기 위해 에이전트 업데이트를 제어해야 할 수 있습니다.

다음 절차에서는 WorkSpaces Applications 에이전트 버전을 관리하는 방법을 설명합니다.

**Topics**
+ [항상 최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하는 이미지 생성](create-image-that-always-uses-latest-agent.md)
+ [특정 버전의 WorkSpaces 애플리케이션 에이전트를 사용하는 이미지 생성](create-image-that-uses-specific-agent.md)
+ [최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하는 이미지 생성](create-image-that-uses-newer-agent.md)

# 항상 최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하는 이미지 생성
<a name="create-image-that-always-uses-latest-agent"></a>

이미지가 항상 최신 WorkSpaces 애플리케이션 에이전트 버전을 사용하도록 구성된 경우 스트리밍 인스턴스는 새 에이전트 버전이 릴리스될 AWS 때에서 사용할 수 있는 최신 기능, 성능 개선 및 보안 업데이트로 자동으로 업데이트됩니다.

**참고**  
경우에 따라 새 WorkSpaces Applications 에이전트 버전이 소프트웨어와 충돌할 수 있습니다. 프로덕션 플릿에 배포하기 전에 새 WorkSpaces Applications 에이전트 버전을 검증하는 것이 좋습니다.

**항상 최신 버전의 WorkSpaces Applications 에이전트를 사용하는 이미지를 생성하려면**

1. [https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 다음 중 하나를 수행하세요.
   + 이미지 생성에 사용할 이미지 빌더가 있다면, 이미지 빌더를 시작하고 연결합니다. 이미지 빌더가 최신 버전의 WorkSpaces 애플리케이션 에이전트를 실행하지 않는 경우 최신 에이전트로 이미지 빌더를 시작할지 여부를 선택하라는 메시지가 표시됩니다. 이 옵션을 선택했는지 확인한 다음 **시작**을 선택하고 이미지 빌더에 연결합니다.
   + 이미지 생성에 사용할 이미지 빌더가 없다면, 새 이미지 빌더를 실행합니다. **1단계: 이미지를 선택하고** AWS 기본 이미지 또는 사용자 지정 이미지를 선택합니다. **2단계: Image Builder 구성**에서 선택한 이미지가 최신 버전의 WorkSpaces 애플리케이션 에이전트를 실행하지 않는 경우 **WorkSpaces 애플리케이션** 섹션이 표시됩니다. **에이전트 버전** 목록에서 최신 에이전트 버전을 선택합니다. 남은 단계를 완수해 이미지 빌더를 생성하고 연결합니다. 자세한 내용은 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 단원을 참조하십시오.

1. 이미지 빌더 바탕 화면에서 Image Assistant를 열고 단계에 따라 새 이미지를 생성합니다. **Configure Image(이미지 구성)** 단계에서는 **Always use the latest agent version(항상 최신 버전 에이전트 사용)**을 선택했는지 확인하십시오. 자세한 내용은 [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md) 단원을 참조하십시오.

   나중에 항상 최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하지 않기로 결정한 경우 새 이미지를 생성하고 해당 옵션을 지워야 합니다.

1. 새 플릿을 만들거나 기존 플릿을 수정합니다. 플릿을 구성할 때는 생성된 새 이미지를 선택합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 플릿 및 스택 생성](set-up-stacks-fleets.md) 단원을 참조하십시오.

1. 새 스택을 만들거나 기존 스택을 수정하고 플릿에 연결합니다.

# 특정 버전의 WorkSpaces 애플리케이션 에이전트를 사용하는 이미지 생성
<a name="create-image-that-uses-specific-agent"></a>

호환성을 먼저 테스트할 수 있도록 항상 최신 버전을 사용하는 대신 WorkSpaces Applications 에이전트 업데이트를 제어할 수 있습니다. 사용하는 WorkSpaces 애플리케이션 에이전트의 버전이 스트리밍 애플리케이션과 호환되는지 확인하려면 특정 버전의 에이전트 소프트웨어를 사용하는 이미지를 생성할 수 있습니다. 그런 다음 별도의 플릿에서 자격 시험을 실시하고 생산 플릿에 배포해야 합니다.

이미지를 만들 때 **Always use latest agent version(항상 최신 버전 에이전트 사용)** 옵션이 해제돼 있는지 확인하십시오. 이렇게 하면 항상 최신 버전을 사용하는 대신 이미지 빌더를 시작할 때 선택한 WorkSpaces 애플리케이션 에이전트의 버전에 이미지가 고정됩니다. 자격 시험이 끝나면 생산 플릿에 이미지를 업데이트할 수 있습니다.

**특정 버전의 WorkSpaces Applications 에이전트를 사용하는 이미지를 생성하려면**

1. [https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 다음 중 하나를 수행하세요.
   + 이미지 생성에 사용할 이미지 빌더가 있다면, 이미지 빌더를 시작하고 연결합니다.
   + 이미지 생성에 사용할 이미지 빌더가 없다면, 새 이미지 빌더를 실행합니다. **1단계: 이미지를 선택하고** AWS 기본 이미지 또는 사용자 지정 이미지를 선택합니다. **2단계: Image Builder 구성**에서 선택한 이미지가 최신 버전의 WorkSpaces 애플리케이션 에이전트를 실행하지 않는 경우 **WorkSpaces 애플리케이션** 섹션이 표시됩니다. **에이전트 버전** 목록에서 최신 에이전트 버전을 선택하지 마십시오. 남은 단계를 완수해 이미지 빌더를 생성하고 연결합니다. 자세한 내용은 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 단원을 참조하십시오.

1. 이미지 빌더 바탕 화면에서 Image Assistant를 열고 단계에 따라 새 이미지를 생성합니다. Image Assistant의 **Configure Image(이미지 구성)** 단계에서 **Always use the latest agent version(항상 최신 버전 에이전트 사용)**이 해제돼 있는지 확인하십시오. 자세한 내용은 [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md) 단원을 참조하십시오.

   나중에 항상 최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하기로 결정한 경우 새 이미지를 생성하고 해당 옵션을 선택해야 합니다.

1. 새 플릿을 만들거나 기존 플릿을 수정합니다. 플릿을 구성할 때는 생성된 새 이미지를 선택합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 플릿 및 스택 생성](set-up-stacks-fleets.md) 단원을 참조하십시오.

1. 새 스택을 만들거나 기존 스택을 수정하고 플릿에 연결합니다.

1. 플릿에 연결하고 애플리케이션의 호환성을 검사합니다.

# 최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하는 이미지 생성
<a name="create-image-that-uses-newer-agent"></a>

이미지를 특정 WorkSpaces Applications 에이전트 버전에 고정할 경우 새 이미지를 생성하여 최신 버전으로 업데이트해야 합니다. 이러한 접근법을 이용하면 먼저 각 에이전트 업데이트의 호환성을 검사한 다음 플릿을 점진적으로 업데이트할 수 있습니다.

이미지를 만들 때 **Always use latest agent version(항상 최신 버전 에이전트 사용)** 옵션이 해제돼 있는지 확인하십시오. 이미지 생성이 끝나면, 별도의 플릿에서 자격 시험을 실시한 다음 생산 플릿에 배포해야 합니다. 자격 시험이 끝나면 생산 플릿에 이미지를 업데이트할 수 있습니다.

**최신 버전의 WorkSpaces Applications 에이전트를 사용하는 이미지를 생성하려면**

1. [https://console.aws.amazon.com/appstream2/home](https://console.aws.amazon.com/appstream2/home) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 다음 중 하나를 수행하세요.
   + 이미지 생성에 사용할 이미지 빌더가 있다면, 이미지 빌더를 시작하고 연결합니다. 이미지 빌더가 최신 버전의 WorkSpaces 애플리케이션 에이전트를 실행하지 않는 경우 최신 에이전트로 이미지 빌더를 시작할지 여부를 선택하라는 메시지가 표시됩니다. 이 옵션을 선택했는지 확인한 다음 **시작**을 선택하고 이미지 빌더에 연결합니다.
   + 이미지 생성에 사용할 이미지 빌더가 없다면, 새 이미지 빌더를 실행합니다. **1단계: 이미지를 선택하고** AWS 기본 이미지 또는 사용자 지정 이미지를 선택합니다. **2단계: Image Builder 구성**에서 선택한 이미지가 최신 버전의 WorkSpaces 애플리케이션 에이전트를 실행하지 않는 경우 **WorkSpaces 애플리케이션** 섹션이 표시됩니다. **에이전트 버전** 목록에서 최신 에이전트 버전을 선택합니다. 남은 단계를 완수해 이미지 빌더를 생성하고 연결합니다. 자세한 내용은 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 단원을 참조하십시오.

1. 이미지 빌더 바탕 화면에서 Image Assistant를 열고 단계에 따라 새 이미지를 생성합니다. Image Assistant의 **Configure Image(이미지 구성)** 단계에서 **Always use the latest agent version(항상 최신 버전 에이전트 사용)**이 해제돼 있는지 확인하십시오. 자세한 내용은 [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md) 단원을 참조하십시오.

   나중에 항상 최신 버전의 WorkSpaces 애플리케이션 에이전트를 사용하기로 결정한 경우 새 이미지를 생성하고 해당 옵션을 선택해야 합니다.

1. 새 플릿을 만들거나 기존 플릿을 수정합니다. 플릿을 구성할 때는 생성된 새 이미지를 선택합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 플릿 및 스택 생성](set-up-stacks-fleets.md) 단원을 참조하십시오.

1. 새 스택을 만들거나 기존 스택을 수정하고 플릿에 연결합니다.

1. 플릿에 연결하고 애플리케이션의 호환성을 검사합니다.

# WorkSpaces 애플리케이션 에이전트 릴리스 정보
<a name="agent-software-versions"></a>

Amazon WorkSpaces 애플리케이션 에이전트 소프트웨어는 스트리밍 인스턴스에서 실행되므로 최종 사용자가 스트리밍 애플리케이션에 연결하고 시작할 수 있습니다. 2017년 12월 7일부터 스트리밍 인스턴스를에서 사용할 수 있는 최신 기능, 성능 개선 및 보안 업데이트로 자동으로 업데이트할 수 있습니다 AWS. 2017년 12월 7일 이전에는 에이전트 업데이트가 새로운 기본 이미지 릴리스에 포함되었습니다.

최신 WorkSpaces Applications 에이전트 소프트웨어를 사용하려면 2017년 12월 7일 이후에 AWS 에서 게시한 새 기본 이미지를 사용하여 이미지를 다시 빌드해야 합니다. 이렇게 하면 Image Assistant에서 에이전트 자동 업데이트 활성화 옵션이 기본적으로 선택됩니다. 이 옵션을 선택된 상태로 두어 이미지에서 시작하는 모든 새 이미지 빌더 또는 플릿 인스턴스에 항상 에이전트의 최신 버전이 사용되도록 하는 것이 좋습니다. 자세한 내용은 [자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성](tutorial-image-builder.md) 단원을 참조하십시오.

다음 표에서는 Windows 인스턴스용 WorkSpaces 애플리케이션 에이전트의 릴리스 버전에서 사용할 수 있는 최신 업데이트를 설명합니다.


| Amazon WorkSpaces 애플리케이션 에이전트 버전 | 변경 사항 | 
| --- | --- | 
| 02-09-2026 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-04-2026 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-06-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-02-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-30-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-15-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-29-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-05-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-07-2025 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-31-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-21-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-18-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-21-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 04-15-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-17-2024 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-07-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-06-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-30-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-08-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 04-13-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-21-2023 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-13-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-20-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-14-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 02-21-2022 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-20-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-19-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 08-02-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-01-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-25-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-17-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-04-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-17-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-04-2021 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-17-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-08-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-01-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-30-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-27-2020 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2020-04-20 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2020-02-19 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 2020-01-13 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 11-13-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-08-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-23-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 09-03-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 08-08-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-26-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-19-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-07-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 04-02-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-07-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-22-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-08-2019 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-19-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-17-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-04-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 11-14-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-30-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-24-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 10-01-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 08-29-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 07-26-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-19-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 06-06-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-31-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 05-21-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 03-19-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 01-24-2018 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 
| 12-07-2017 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/agent-software-versions.html)  | 

# 자습서: WorkSpaces 애플리케이션 콘솔을 사용하여 사용자 지정 WorkSpaces 애플리케이션 이미지 생성
<a name="tutorial-image-builder"></a>

이 자습서에서는 Microsoft Windows Server 운영 체제를 기반으로 WorkSpaces 애플리케이션 이미지를 생성하는 방법을 설명합니다. Amazon Linux 2, Rocky Linux 또는 Red Hat Enterprise Linux 운영 체제를 기반으로 하는 사용자 지정 이미지를 생성하려면 [자습서: 사용자 지정 Linux 기반 WorkSpaces 애플리케이션 이미지 생성](tutorial-create-linux-image.md) 섹션을 참조하세요.

이 자습서에서는 사용자에게 스트리밍할 수 있는 애플리케이션과 사용자가 애플리케이션을 빠르게 시작할 수 있도록 기본 애플리케이션 및 Windows 설정이 포함된 사용자 지정 Amazon WorkSpaces 애플리케이션 이미지를 생성하는 방법을 알아봅니다. 이 자습서를 완료하려면 이미지 빌더가 있어야 합니다. 이미지 빌더가 없다면 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 단원을 참조하십시오.

**중요**  
이 자습서에는 최신 기본 이미지 릴리스에 적용되는 정보가 포함되어 있습니다. 자세한 내용은 [WorkSpaces 애플리케이션 기본 이미지 및 관리형 이미지 업데이트 릴리스 정보](base-image-version-history.md) 단원을 참조하십시오.

**Topics**
+ [1단계: 이미지 빌더에 애플리케이션 설치](#tutorial-image-builder-install)
+ [2단계: WorkSpaces 애플리케이션 애플리케이션 카탈로그 생성](#tutorial-image-builder-add)
+ [3단계: 기본 애플리케이션 및 Windows 설정 만들기](#tutorial-image-builder-create-default-app-settings)
+ [4단계: 애플리케이션 테스트](#tutorial-image-builder-test-applications)
+ [5단계: 애플리케이션 최적화](#tutorial-image-builder-optimize)
+ [6단계: 이미지 생성 완료](#tutorial-image-builder-finish-create-image)
+ [7단계(선택 사항): 이미지 태그 및 복사](#tutorial-image-builder-tag-copy)
+ [8단계: 정리](#tutorial-image-builder-finish)

## 1단계: 이미지 빌더에 애플리케이션 설치
<a name="tutorial-image-builder-install"></a>

이 단계에서는 이미지 빌더에 연결하고 이미지 빌더에 애플리케이션을 설치합니다.

**중요**  
이 단계를 완료하려면 로컬 **관리자** 계정 또는 로컬 관리자 권한이 있는 도메인 계정으로 이미지 빌더에 로그인해야 합니다. 로컬 기본 제공 **관리자** 계정의 이름을 바꾸거나 삭제하지 마십시오. 이 계정의 이름을 바꾸거나 삭제하면 이미지 빌더가 시작되지 않고 이미지 생성이 실패합니다.

**이미지 빌더에 애플리케이션을 설치하려면**

1. 다음 중 하나를 수행하여 이미지 빌더에 연결합니다.
   + [WorkSpaces 애플리케이션 콘솔 사용](managing-image-builders-connect-console.md)(웹 연결에만 해당)
   + [스트리밍 URL 생성](managing-image-builders-connect-streaming-URL.md)(웹 또는 WorkSpaces 애플리케이션 클라이언트 연결용)
**참고**  
연결하려는 이미지 빌더가 Active Directory 도메인에 조인되어 있고 조직에서 스마트 카드 로그인이 필요한 경우 스트리밍 URL을 생성하고 연결에 WorkSpaces 애플리케이션 클라이언트를 사용해야 합니다. 스마트 카드 로그인에 대한 자세한 내용은 [스마트 카드](feature-support-USB-devices-qualified.md#feature-support-USB-devices-qualified-smart-cards) 섹션을 참조하세요.

1. 애플리케이션 웹 사이트 또는 기타 다운로드 소스에서 애플리케이션을 설치합니다. 원하는 애플리케이션을 설치한 후 다음 단계를 진행합니다.
**참고**  
신뢰할 수 있는 사이트에서만 애플리케이션을 다운로드하여 설치합니다.

   애플리케이션을 사용하려면 Windows 운영 체제를 다시 시작해야 하는 경우 그렇게 되도록 둡니다. 운영 체제가 다시 시작하기 전에 이미지 빌더와의 연결이 끊어집니다. 다시 시작이 완료되면 이미지 빌더에 다시 연결한 후 애플리케이션 설치를 마칩니다.

## 2단계: WorkSpaces 애플리케이션 애플리케이션 카탈로그 생성
<a name="tutorial-image-builder-add"></a>

이 단계에서는 이미지에 대한 애플리케이션(*.exe*), 배치 스크립트(.*bat*) 및 애플리케이션 바로 가기(.*lnk*)를 지정하여 WorkSpaces 애플리케이션 카탈로그를 생성합니다. 스트리밍하려는 각 애플리케이션에 대해 이름, 표시 이름, 시작할 실행 파일, 표시할 아이콘을 지정할 수 있습니다. 애플리케이션 바로 가기를 선택한 경우, 이러한 값이 미리 채워집니다.

**중요**  
이 단계를 완료하려면 로컬 **관리자** 계정 또는 로컬 관리자 권한이 있는 도메인 계정으로 이미지 빌더에 로그인해야 합니다.

**WorkSpaces 애플리케이션 애플리케이션 카탈로그를 생성하려면**

1. 이미지 빌더 바탕 화면에서 Image Assistant를 엽니다. Image Assistant가 이미지 생성 프로세스를 안내합니다.  
![\[Row of icons representing different functions in Image Assistant interface.\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/images/Image-Builder-Desktop-Image-Assistant.png)

1. **1. 앱 추가**에서 **\$1 앱 추가**를 선택하고 추가할 애플리케이션, 스크립트 또는 바로 가기의 위치로 이동합니다. **Open**을 선택합니다.

1. **App Launch Settings(앱 시작 설정)** 대화 상자에서 **이름**, **표시 이름** 및 **아이콘 경로**의 기본 설정을 유지하거나 변경합니다. 원하는 경우 애플리케이션의 작업 디렉터리와 시작 파라미터(시작할 때 애플리케이션에 전달된 추가 인수)를 지정할 수 있습니다. 완료되면 **저장**을 선택합니다.

   **표시 이름**과 **아이콘 경로** 설정은 애플리케이션 카탈로그에 애플리케이션 이름과 아이콘이 표시되는 방법을 결정합니다. 사용자가 WorkSpaces 애플리케이션 스트리밍 세션에 로그인하면 카탈로그가 표시됩니다.

1. Image Assistant에서 각 애플리케이션에 대해 2단계와 3단계를 반복하고 애플리케이션이 **Add Apps(앱 추가)** 탭에 표시되는지 확인합니다. 완료했으면 **다음**을 선택하여 계속해서 Image Assistant를 사용하여 이미지를 생성합니다.

## 3단계: 기본 애플리케이션 및 Windows 설정 만들기
<a name="tutorial-image-builder-create-default-app-settings"></a>

이 단계에서는 WorkSpaces 애플리케이션 사용자를 위한 기본 애플리케이션 및 Windows 설정을 생성합니다. 이렇게 하면 사용자가 WorkSpaces 애플리케이션 스트리밍 세션 중에 이러한 설정을 직접 생성하거나 구성할 필요 없이 애플리케이션을 빠르게 시작할 수 있습니다.

**중요**  
이 단계를 완료하려면 로컬 **템플릿 사용자** 계정 또는 로컬 관리자 권한이 없는 도메인 사용자 계정으로 이미지 빌더에 로그인해야 합니다.

**사용자의 기본 애플리케이션 및 Windows 설정을 만들려면**

1. Image Assistant의 **2. 앱 구성**에서 **사용자 전환**을 선택합니다. 그러면 현재 세션이 중단되고 로그인 메뉴가 표시됩니다.

1. 다음 중 하나를 수행하세요.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있지 않은 경우, **로컬 사용자** 탭에서 **템플릿 사용자**를 선택합니다. 이 계정을 사용하여 기본 애플리케이션 및 Windows 설정을 만들 수 있습니다.
   + 이미지 빌더가 Active Directory 도메인에 조인된 경우, **디렉터리 사용자**를 선택하고, 로컬 관리자 권한이 없는 도메인 사용자로 로그인합니다.

1. 이미지 빌더 바탕 화면에서 Image Assistant를 엽니다. 그러면 애플리케이션 카탈로그를 만들 때 추가한 애플리케이션이 표시됩니다.

1. 기본 애플리케이션 설정을 만들려는 애플리케이션을 선택합니다.

1. 애플리케이션이 열린 후 필요에 따라 이러한 설정을 만듭니다.

1. 완료했으면 애플리케이션을 닫고 Image Assistant로 돌아갑니다.

1. Image Assistant에서 애플리케이션을 두 개 이상 지정한 경우, 필요에 따라 각 애플리케이션에 대해 4\$16단계를 반복합니다.

1. 기본 Windows 설정을 원할 경우 지금 만듭니다. 완료했으면 Image Assistant로 돌아갑니다.

1. **Switch user(사용자 전환)**를 선택하고 애플리케이션 카탈로그를 만드는 데 사용한 것과 동일한 계정(로컬 관리자 권한이 있는 계정)으로 로그인합니다.

1. Image Assistant의 **2. 앱 구성**에서 다음 중 하나를 수행합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있지 않은 경우 **설정 저장**을 선택합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인된 경우 **Choose which user settings to copy(복사할 사용자 설정 선택) **목록에서 기본 애플리케이션 및 Windows 설정을 만들 때 이미지 빌더에 로그인하는 데 사용한 것과 동일한 계정을 선택한 후, **설정 저장**을 선택합니다.

     **복사할 설정 선택** 목록에 현재 이미지 빌더에 저장한 설정이 있는 계정이 표시됩니다.

1. 완료했으면 **다음**을 선택하여 이미지 생성을 계속합니다.

## 4단계: 애플리케이션 테스트
<a name="tutorial-image-builder-test-applications"></a>

이 단계에서는 추가한 애플리케이션이 올바르게 열리고 정상 작동하는지 확인합니다. 이렇게 하려면 사용자와 동일한 권한을 가진 사용자로 새 Windows 세션을 시작합니다.

**중요**  
이 단계를 완료하려면 **테스트 사용자** 계정 또는 로컬 관리자 권한이 없는 도메인 계정으로 이미지 빌더에 로그인해야 합니다.

**애플리케이션을 테스트하려면**

1. Image Assistant의 **3. 테스트**에서 다음 중 하나를 수행합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있지 않은 경우 **Switch user(사용자 전환)**를 선택합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있고 애플리케이션을 테스트하기 위한 도메인 계정이 필요하며 사용자에게 이미 이미지 빌더에 대한 설정이 있는 경우, 해당 사용자의 애플리케이션 설정을 재설정해야 합니다. 그렇게 하려면 **User to reset(재설정할 사용자)** 목록에서 사용자를 선택한 후 **재설정**을 선택합니다. 완료했으면 **Switch user(사용자 전환)**를 선택합니다.
**참고**  
이미지 빌더가 새것이고 모든 사용자에게 이미지 빌더에 대한 설정이 없는 경우, 어떤 사용자에게도 목록이 표시되지 않습니다.

1. 다음 중 하나를 수행하여 테스트에 사용할 사용자를 선택합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있지 않은 경우 **테스트 사용자**를 선택합니다. 이 계정을 통해 사용자와 동일한 정책과 권한을 사용하여 애플리케이션을 테스트할 수 있습니다.
   + 이미지 빌더가 Active Directory 도메인에 조인된 경우, **디렉터리 사용자**를 선택하고, 로컬 관리자 권한이 없는 도메인 계정의 보안 인증 정보를 지정한 후, **로그인**을 선택합니다.

1. 이미지 빌더 바탕 화면에서 Image Assistant를 엽니다. 그러면 애플리케이션 카탈로그를 만들 때 지정한 애플리케이션이 표시됩니다.

1. 테스트하려는 애플리케이션을 선택하여 올바르게 열리고 생성한 기본 애플리케이션 설정이 적용되었는지 확인합니다.

1. 애플리케이션이 열리면 필요에 따라 테스트합니다. 완료했으면 애플리케이션을 닫고 Image Assistant로 돌아갑니다.

1. Image Assistant에서 애플리케이션을 두 개 이상 지정한 경우, 필요에 따라 각 애플리케이션에 대해 4\$15단계를 반복합니다.

1. 완료했으면 **Switch user(사용자 전환)**를 선택한 후 다음 중 하나를 수행합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있지 않은 경우, **로컬 사용자** 탭에서 **관리자**를 선택합니다.
   + 이미지 빌더가 Active Directory 도메인에 조인되어 있고 Image Assistant에서 애플리케이션을 지정할 로컬 관리자 권한이 있는 도메인 사용자로 로그인한 경우, 해당 사용자로 로그인합니다.

1. **다음**을 선택하여 이미지 생성을 계속합니다.

## 5단계: 애플리케이션 최적화
<a name="tutorial-image-builder-optimize"></a>

이 단계에서는 Image Assistant가 애플리케이션을 하나씩 열고, 시작 종속 항목을 식별하고, 애플리케이션이 빠르게 시작되도록 최적화를 수행합니다. 이 단계는 목록의 모든 애플리케이션에 대해 수행되는 필수 단계입니다.

**애플리케이션을 최적화하려면**

1. Image Assistant의 **4. 최적화**에서 **시작**을 선택합니다.

1. WorkSpaces 애플리케이션은 목록의 첫 번째 애플리케이션을 자동으로 시작합니다. 애플리케이션이 완전히 시작되면 애플리케이션의 최초 실행을 수행하는 데 필요한 모든 입력을 제공합니다. 예를 들어, 웹 브라우저가 완전히 실행되기 전에 설정을 가져오라는 메시지가 나타날 수 있습니다.

1. 최초 실행을 완료하고 애플리케이션이 정상 작동함을 확인한 후 **계속**을 선택합니다. 이미지에 애플리케이션을 두 개 이상 추가한 경우 각 애플리케이션이 자동으로 열립니다. 모든 애플리케이션을 실행 상태로 두고, 필요에 따라 각 애플리케이션에 대해 이 단계를 반복합니다.

1. 완료하면 Image Assistant의 다음 탭인 **5. 이미지 구성**이 자동으로 표시됩니다.

## 6단계: 이미지 생성 완료
<a name="tutorial-image-builder-finish-create-image"></a>

이 단계에서는 이미지 이름을 선택하고 이미지 생성을 완료합니다.

**이미지를 생성하려면**

1. 고유한 이미지 이름과, 이미지 표시 이름 및 설명(선택 사항)을 입력합니다. 이미지 이름은 'Amazon', 'AWS' 또는 'AppStream'으로 시작할 수 없습니다.

   이미지에 태그를 하나 이상 추가할 수도 있습니다. 그렇게 하려면 **태그 추가**를 선택하고, 해당 태그에 대한 키와 값을 입력합니다. 태그를 더 추가하려면 이 단계를 반복합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 리소스에 태그 지정](tagging-basic.md) 단원을 참조하십시오. 완료했으면 **다음**을 선택합니다.
**참고**  
2017년 12월 7일 이후에 AWS 에서 게시한 기본 이미지를 선택하면 항상 **최신 에이전트 버전 사용** 옵션이 기본적으로 선택되어 나타납니다. 이 옵션을 선택된 상태로 두어 이미지에서 시작하는 스트리밍 인스턴스에 항상 에이전트의 최신 버전이 사용되도록 하는 것이 좋습니다. 이 옵션을 비활성화하면 이미지 생성 작업을 완료한 후 다시 활성화할 수 없습니다. WorkSpaces Applications 에이전트의 최신 릴리스에 대한 자세한 내용은 섹션을 참조하세요[WorkSpaces 애플리케이션 에이전트 릴리스 정보](agent-software-versions.md).

1. **6. 검토**에서 이미지 세부 정보를 확인합니다. 변경하려면 **이전**을 선택하여 해당 Image Assistant 탭으로 이동하고, 변경한 후, 필요에 따라 Image Assistant의 단계를 진행합니다.

1. 이미지 세부 정보 검토를 완료한 후 **Disconnect and Create Image(이미지 연결 해제 및 생성)**를 선택합니다.

1. 원격 세션이 곧 연결 해제됩니다. **Lost Connectivity(연결 끊김)** 메시지가 표시되면 브라우저 탭을 닫습니다. 이미지가 생성되는 동안 이미지 빌더 상태는 **Snapshotting(스냅샷을 만드는 중)**으로 표시됩니다. 이 프로세스를 완료할 때까지 이미지 빌더에 연결할 수 없습니다.

1. 콘솔로 되돌아가 [**Images**], [**Image Registry**]를 선택합니다. 새 이미지가 목록에 나타나는지 확인합니다.

   이미지가 생성되는 동안 콘솔의 이미지 레지스트리에 있는 이미지 상태는 **대기 중**으로 표시되고 연결할 수 없습니다.

1. **새로 고침** 아이콘을 주기적으로 선택하여 상태를 업데이트합니다. 이미지가 생성되면 이미지 상태가 **Available(사용 가능)**로 변경되고 이미지 빌더가 자동으로 중지됩니다.

    이미지 만들기를 계속하려면 이미지 빌더를 시작하고 콘솔에서 이미지 빌더에 연결하거나, 새 이미지 빌더를 만듭니다.

**참고**  
새 이미지를 만든 후에는 Windows 운영 체제의 업데이트를 직접 유지 관리할 책임이 있습니다. 이를 위해 관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용할 수 있습니다. 또한 애플리케이션과 해당 종속성의 업데이트를 유지 관리할 책임도 있습니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 이미지를 Up-to-Date 유지](keep-image-updated.md) 단원을 참조하십시오.  
다른 애플리케이션을 추가하거나 기존 애플리케이션을 업데이트하거나 이미지 설정을 변경하려면 이미지를 만들 때 사용한 이미지 빌더를 시작하고 다시 연결해야 합니다. 또는 해당 이미지 빌더를 삭제한 경우, 이미지에 기반한 새 이미지 빌더를 시작하세요. 그런 다음 변경하고 새 이미지를 만듭니다.

## 7단계(선택 사항): 이미지 태그 및 복사
<a name="tutorial-image-builder-tag-copy"></a>

이미지 생성 중에 또는 이미지를 생성한 후 이미지에 태그를 하나 이상 추가할 수 있습니다. 이미지를 동일한 리전 안에서 복사하거나 동일한 Amazon Web Services 계정 안의 새 리전으로 복사할 수도 있습니다. 그러나 소스 이미지를 복사하면 동일하지만 고유한 대상 이미지가 생성됩니다.는 사용자 정의 태그를 복사하지 AWS 않습니다. 그리고 AWS가 제공하는 기본 이미지가 아니라 사용자가 생성하는 사용자 지정 이미지만 복사할 수 있습니다.

**참고**  
동시에 2개의 이미지를 한 대상에 복사할 수 있습니다. 이미지를 복사하려는 대상이 이미지 한계에 도달한 경우, 오류가 발생합니다. 이 경우 이미지를 복사하려면 먼저 그 대상에서 이미지를 삭제해야 합니다. 대상이 이미지 할당량(한도라고도 함)보다 작으면 소스 리전에서 이미지 복사본을 시작합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 Service Quotas](limits.md) 단원을 참조하십시오.

**기존 이미지에 태그를 추가하려면**

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 태그를 추가할 이미지를 선택합니다.

1. [**Tags**], [**Add/Edit Tags**], [**Add Tag**]를 차례로 선택하고 태그의 키와 값을 지정한 다음 [**Save**]를 선택합니다.

자세한 내용은 [Amazon WorkSpaces 애플리케이션 리소스에 태그 지정](tagging-basic.md) 단원을 참조하십시오.

**이미지를 복사하려면**

지리적으로 분산된 리전들에 걸쳐 이미지를 복사하면 동일한 이미지에 기초하여 여러 리전의 애플리케이션들을 스트리밍할 수 있습니다. 사용자와 가까운 곳에서 애플리케이션을 스트리밍하면 WorkSpaces 애플리케이션을 사용하여 애플리케이션을 스트리밍하는 사용자 경험을 개선할 수 있습니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 복사하려는 이미지를 선택합니다.

1. [**Actions**], [**Copy**]를 선택합니다.

1. [**Copy Image**] 대화 상자에서 다음 정보를 지정한 다음 [**Copy Image**]를 선택합니다.
   + [**Destination region**]에서 새 이미지를 복사할 리전을 선택합니다.
   + **Name**에는 그 이미지가 대상에 복사될 때 갖게 될 이름을 지정합니다.
   + **Description**(선택 사항)에는 그 이미지가 대상에 복사될 때 갖게 될 설명 정보를 지정합니다.

1. 복사 작업의 진행률을 확인하려면 콘솔로 돌아가서 [**Images**], [**Image Registry**]로 이동합니다. 탐색 모음을 이용하여 대상 리전으로 전환하고, 이미지 목록에 새 이미지가 나타나는지 확인합니다.

   새 이미지는 처음에 콘솔의 이미지 레지스트리에 **Copying** 상태로 나타납니다. 이미지가 생성된 후에는 이미지 상태가 **사용 가능**으로 바뀝니다. 이 상태가 되면 이제 이미지를 사용하여 스택을 시작하고 애플리케이션을 스트리밍할 수 있습니다.

## 8단계: 정리
<a name="tutorial-image-builder-finish"></a>

마지막으로 이미지 빌더 실행을 중지하여 리소스를 비우고 의도하지 않은 계정 변경을 방지합니다. 사용하지 않는 실행 중인 이미지 빌더를 모두 중단하는 것이 좋습니다. 자세한 내용은 [WorkSpaces 애플리케이션 요금을](https://aws.amazon.com/appstream2/pricing/) 참조하세요.

**실행 중인 이미지 빌더를 중단하려면**

1. 탐색 창에서 [**Images**], [**Image Builders**]를 선택하고 실행 중인 이미지 빌더 인스턴스를 선택합니다.

1. [**Actions**], [**Stop**]을 선택합니다.

# Amazon WorkSpaces 애플리케이션 이미지 관리
<a name="administer-images"></a>

사용 가능한 이미지는 WorkSpaces 애플리케이션 콘솔의 **이미지 레지스트리**에 나열되며 다음과 같이 가시성별로 분류됩니다.
+ **퍼블릭** -에서 소유하고 사용할 수 있는 기본 이미지입니다 AWS. 기본 이미지에는 최신 Windows 운영 체제와 WorkSpaces Applications 에이전트 소프트웨어가 포함됩니다. 이러한 기본 이미지를 사용하여 자체 애플리케이션이 포함된 새 이미지를 만들 수 있습니다. 에서 릴리스한 기본 이미지에 대한 자세한 내용은 섹션을 AWS참조하세요[WorkSpaces 애플리케이션 기본 이미지 및 관리형 이미지 업데이트 릴리스 정보](base-image-version-history.md).
+ **프라이빗** - 사용자가 생성 및 소유하고 다른 AWS 계정과 공유하지 않은 이미지입니다.
+ **다른 사용자와 공유** - 사용자가 생성 및 소유하고 동일한 AWS 리전에 있는 하나 이상의 AWS 계정과 공유한 이미지입니다. 이미지를 다른 AWS 계정과 공유할 때 이미지를 이미지 빌더(새 이미지 생성), 플릿 또는 둘 다에 사용할 수 있는지 여부를 지정할 수 있습니다.
+ **나와 공유** - 동일한 AWS 리전의 다른 AWS 계정에서 생성 및 소유하고 사용자 AWS 계정과 공유하는 이미지입니다. 이미지를 사용자의 계정과 공유할 때 소유자가 제공한 권한에 따라 이 이미지를 이미지 빌더나 플릿 또는 둘 다에 사용할 수 있습니다.

**Topics**
+ [Amazon WorkSpaces 애플리케이션에서 프라이빗 이미지 삭제](delete-private-image.md)
+ [소유한 이미지를 Amazon WorkSpaces 애플리케이션의 다른 AWS 리전에 복사](copy-image-different-region.md)
+ [Amazon WorkSpaces 애플리케이션의 다른 AWS 계정과 소유한 이미지 공유](share-image-with-another-account.md)
+ [Amazon WorkSpaces 애플리케이션에서 소유한 이미지 공유 중지](stop-sharing-image-with-all-accounts.md)
+ [Amazon WorkSpaces 애플리케이션 이미지를 Up-to-Date 유지](keep-image-updated.md)
+ [Amazon WorkSpaces 애플리케이션의 Windows 업데이트 및 바이러스 백신 소프트웨어](windows-update-antivirus-software.md)
+ [Amazon WorkSpaces 애플리케이션에서 프로그래밍 방식으로 새 이미지 생성](create-image-programmatically.md)
+ [Amazon WorkSpaces 애플리케이션에서 이미지의 라이선스 포함 애플리케이션 관리](license-included-applications.md)
+ [이미지 가져오기](import-image.md)
+ [이미지 내보내기](export-image.md)

# Amazon WorkSpaces 애플리케이션에서 프라이빗 이미지 삭제
<a name="delete-private-image"></a>

더 이상 필요 없는 프라이빗 이미지는 삭제할 수 있습니다. 플릿에서 사용하거나 다른 AWS 계정과 공유하는 이미지는 삭제할 수 없습니다. 플릿이 사용하고 있거나 공유된 이미지를 삭제하려면 먼저 모든 플릿에서 해당 이미지를 제거하고 모든 이미지 공유 권한을 제거해야 합니다. 삭제한 이미지는 복구할 수 없습니다.

**프라이빗 이미지를 삭제하려면**

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 삭제하려는 프라이빗 이미지를 선택합니다.

1. **작업**, **삭제**를 선택한 다음 **삭제**를 다시 선택합니다.

   이미지 레지스트리에서 이미지가 제거되어 삭제됩니다.

# 소유한 이미지를 Amazon WorkSpaces 애플리케이션의 다른 AWS 리전에 복사
<a name="copy-image-different-region"></a>

**중요**  
아시아 태평양(말레이시아), 유럽(밀라노), 유럽(스페인) 및 이스라엘(텔아비브) AWS 리전의 경우: 교차 리전 이미지 복사는 2025년 10월 2일 이후에 릴리스된 WorkSpaces 애플리케이션 에이전트 버전이 있는 이미지 또는 2025년 9월 5일 이후에 릴리스된 관리형 업데이트를 사용하는 이미지에 대해서만 지원됩니다. 이전 버전은 리전 간에 복사할 수 없습니다. 이러한 최소 버전 요구 사항을 충족하도록 이미지를 업데이트하여 리전 간 복사 기능을 활성화합니다.

소유한 이미지를 다른 AWS 리전에 복사할 수 있습니다. 여러 AWS 리전에서 동일한 이미지를 사용하면 WorkSpaces 애플리케이션에서 애플리케이션의 글로벌 배포를 간소화하는 데 도움이 될 수 있습니다. 사용자에게 지리적으로 가장 가까운 AWS 리전에 애플리케이션을 배포하면 사용자에게 보다 응답성이 뛰어난 환경을 제공할 수 있습니다.

**소유한 이미지를 다른 AWS 리전에 복사하려면**

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 다른 AWS 리전으로 복사할 이미지를 선택합니다.

1. [**Actions**], [**Copy**]를 선택합니다.

1. **이미지 복사** 대화 상자의 **대상 리전**에서 이미지를 복사할 AWS 리전을 선택합니다.

1. **대상 리전**에서 이미지의 고유한 이름을 입력하고, 필요한 경우에는 설명을 입력합니다.

1. **Copy Image(이미지 복사)**를 선택합니다.

# Amazon WorkSpaces 애플리케이션의 다른 AWS 계정과 소유한 이미지 공유
<a name="share-image-with-another-account"></a>

WorkSpaces 애플리케이션 이미지는 리전 리소스이므로 소유한 이미지를 동일한 AWS 리전 내의 다른 AWS 계정과 공유할 수 있습니다. 이렇게 하면 여러 다양한 시나리오에서 도움이 될 수 있습니다. 예를 들어 다른 AWS 계정을 사용하여 개발 및 프로덕션 리소스를 분리하는 경우 개발 계정을 사용하여 이미지를 생성할 수 있습니다. 그런 다음 이 이미지를 프로덕션 계정과 공유할 수 있습니다. 조직이 독립 소프트웨어 공급자(ISV)인 경우, 최적화된 이미지를 고객과 공유할 수 있습니다. 고객은 필수 애플리케이션이 이미 설치 및 구성된 최적화된 이미지로 애플리케이션을 빠르게 시작할 수 있어 이러한 애플리케이션을 직접 설치하고 구성할 필요가 없습니다.

이미지를 다른 AWS 계정과 공유할 때 대상 계정이 플릿에서 이미지를 사용할지 아니면 이미지 빌더를 생성하여 새 이미지를 생성할 수 있는지 지정합니다. 공유한 이미지는 계속 소유합니다. 이렇게 하면 필요에 따라 공유된 이미지에 대한 권한을 추가, 변경 또는 제거할 수 있습니다.

이미지를 계정과 공유하고 해당 계정에 플릿 권한을 부여하는 경우, 공유된 이미지를 사용하여 해당 계정에서 플릿을 만들거나 업데이트할 수 있습니다. 이러한 권한을 나중에 제거하는 경우, 계정은 더 이상 이미지를 사용할 수 없습니다. 공유된 이미지를 사용하는 계정 내 플릿의 경우, 원하는 용량이 0으로 설정되어 새로운 플릿 인스턴스 생성을 방지합니다. 기존 세션은 스트리밍 세션이 끝날 때까지 계속됩니다. 새로운 플릿 인스턴스가 생성되려면 해당 계정의 플릿이 유효한 이미지로 업데이트되어야 합니다.

이미지를 계정과 공유하고 해당 계정에 이미지 빌더 권한을 부여하는 경우, 공유된 이미지를 사용하여 해당 계정에서 이미지 빌더와 이미지를 만들 수 있습니다. 이러한 권한을 나중에 제거하는 경우, 이미지에서 생성된 이미지 빌더와 이미지는 영향을 받지 않습니다.

**중요**  
이미지를 계정과 공유한 후에는 이미지에서 생성된 계정 내 이미지 빌더나 이미지를 제어할 수 없습니다. 이런 이유로 계정이 이미지 사본을 만들 수 있도록 하려는 경우에만 계정에 이미지 빌더 권한을 부여하고, 이미지 공유를 중지한 후 해당 사본에 대한 액세스를 유지하십시오.

**소유한 이미지를 다른 AWS 계정과 공유하려면**

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 공유하려는 이미지를 선택합니다.

1. **작업**, **공유**를 선택합니다.

1. **Share Image(이미지 공유)** 대화 상자에서 **계정 추가**를 선택합니다.

1. 이미지를 공유할 AWS 계정의 12자리 계정 ID를 입력한 다음 계정에서 다음 중 하나 또는 둘 다를 수행할 수 있는지 여부를 선택합니다.
   + 새 이미지를 만들려면 이미지를 사용하여 이미지 빌더를 시작합니다.
   + 이미지를 플릿과 함께 사용합니다.

   이미지가 공유된 계정 목록에서 계정을 제거하려면 제거하려는 계정이 있는 행에서 **Use for fleet(플릿에 사용) **옵션 오른쪽의 X 아이콘을 선택합니다.

1. 더 많은 AWS 계정과 이미지를 공유하려면 이미지를 공유하려는 각 계정에 대해 6단계를 반복합니다.

1. **Share Image(이미지 공유)**를 선택합니다.

**소유한 이미지의 이미지 공유 권한을 추가하거나 업데이트하려면**

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 권한을 변경하려는 이미지를 선택합니다.

1. 이미지 목록 아래에서 선택한 이미지의 **권한** 탭을 선택한 다음 **편집**을 선택합니다.

1. **이미지 권한 편집** 대화 상자에서 하나 이상의 AWS 계정에 대해 필요에 따라 다음 이미지 공유 옵션 중 하나 또는 둘 다를 선택하거나 선택 취소합니다. 계정의 두 옵션을 모두 선택 취소하면 이미지는 해당 계정과 더 이상 공유되지 않습니다.
   + 새 이미지를 만들려면 이미지를 사용하여 이미지 빌더를 시작합니다.
   + 이미지를 플릿과 함께 사용합니다.

   이미지가 공유된 계정 목록에서 계정을 제거하려면 제거하려는 계정이 있는 행에서 **Use for fleet(플릿에 사용) **옵션 오른쪽의 X 아이콘을 선택합니다.

1. 더 많은 AWS 계정에 대한 이미지 공유 권한을 편집하려면 권한을 업데이트하려는 각 계정에 대해 5단계를 반복합니다.

1. **Update image sharing permissions(이미지 공유 권한 업데이트)**를 선택합니다.

# Amazon WorkSpaces 애플리케이션에서 소유한 이미지 공유 중지
<a name="stop-sharing-image-with-all-accounts"></a>

소유한 이미지를 다른 AWS 계정과 공유하는 것을 중지하려면 다음 단계를 따르세요.

**소유한 이미지를 다른 AWS 계정과 공유하는 것을 중지하려면**

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 권한을 변경하려는 이미지를 선택합니다.

1. 이미지 목록 아래에서 선택한 이미지의 **권한** 탭을 선택한 다음 **편집**을 선택합니다.

1. **이미지 권한 편집** 대화 상자의 이미지가 공유되는 모든 AWS 계정 행에서 **플릿에 사용 **옵션 오른쪽에 있는 X 아이콘을 선택합니다.

1. **Update image sharing permissions(이미지 공유 권한 업데이트)**를 선택합니다.

# Amazon WorkSpaces 애플리케이션 이미지를 Up-to-Date 유지
<a name="keep-image-updated"></a>

다음 중 하나를 수행하여 WorkSpaces 애플리케이션 이미지를 up-to-date 유지할 수 있습니다.
+ [관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용하여 이미지 업데이트](keep-image-updated-managed-image-updates.md) -이 업데이트 방법은 최신 운영 체제 업데이트 및 드라이버 업데이트와 최신 WorkSpaces Applications 에이전트 소프트웨어를 제공합니다.
+ [관리형 WorkSpaces 애플리케이션 에이전트 버전을 사용하여 WorkSpaces 애플리케이션 에이전트 소프트웨어 업데이트](keep-image-updated-manage-image-versions.md) -이 업데이트 방법은 최신 WorkSpaces Applications 에이전트 소프트웨어를 제공합니다.

# 관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용하여 이미지 업데이트
<a name="keep-image-updated-managed-image-updates"></a>

WorkSpaces 애플리케이션은 최신 운영 체제 업데이트, 라이선스가 포함된 애플리케이션 업데이트, 드라이버 업데이트 및 WorkSpaces 애플리케이션 에이전트 소프트웨어로 이미지를 업데이트하는 자동화된 방법을 제공합니다. 관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용하여 업데이트할 이미지를 선택합니다. WorkSpaces 애플리케이션은 동일한 AWS 계정 및 리전에 이미지 빌더를 생성하여 업데이트를 설치하고 새 이미지를 생성합니다. 새 이미지를 생성한 후 프로덕션 플릿을 업데이트하거나 이미지를 다른 AWS 계정과 공유하기 전에 사전 프로덕션 플릿에서 테스트할 수 있습니다.

**참고**  
관리형 WorkSpaces 애플리케이션 이미지 업데이트는 Microsoft Windows Server, Red Hat Enterprise Linux 및 Rocky Linux 운영 체제에서 사용할 수 있습니다.

**참고**  
새 이미지가 생성된 후에는 운영 체제에 대한 업데이트를 유지 관리할 책임이 있습니다. 이를 위해 관리형 WorkSpaces 애플리케이션 이미지 업데이트를 계속 사용할 수 있습니다.  
Amazon EC2 Windows 반가상화(PV) 드라이버, ENA 드라이버 및 AWS NVMe 드라이버에 대한 업데이트를 유지 관리하는 것은 사용자의 책임입니다. 드라이버를 업데이트하는 방법에 대한 자세한 내용은 [ EC2 인스턴스의 디바이스 드라이버 관리](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-device-drivers.html)를 참조하세요.  
또한 애플리케이션과 해당 종속성을 유지 관리할 책임도 있습니다. 다른 애플리케이션을 추가하거나 기존 애플리케이션을 업데이트하거나 이미지 설정을 변경하려면 이미지를 만들 때 사용한 이미지 빌더를 시작하고 다시 연결해야 합니다. 또는 해당 이미지 빌더를 삭제한 경우, 이미지에 기반한 새 이미지 빌더를 시작하세요. 그런 다음 변경하고 새 이미지를 만듭니다.

## 사전 조건
<a name="keep-image-updated-managed-image-updates-prerequisites"></a>

다음은 관리형 이미지 업데이트를 사용하기 위한 사전 조건 및 고려 사항입니다.
+ WorkSpaces Applications 계정 할당량(한도라고도 함)이 새 이미지 빌더와 새 이미지 생성을 지원하는 데 충분한지 확인합니다. 할당량 증가를 요청하려면 [https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/)에서 서비스 할당량 콘솔을 사용합니다. 기본 WorkSpaces 애플리케이션 할당량에 대한 자세한 내용은 섹션을 참조하세요[Amazon WorkSpaces 애플리케이션 Service Quotas](limits.md).
+ 업데이트하는 이미지의 소유자여야 합니다. 나와 공유된 이미지는 업데이트할 수 없습니다.
+ WorkSpaces 애플리케이션에서 최신 운영 체제 업데이트, 드라이버 업데이트 및 WorkSpaces 애플리케이션 에이전트 소프트웨어를 설치하기 위해 이미지 빌더를 생성하고 새 이미지를 생성하는 경우 업데이트하는 동안 이미지 빌더 인스턴스에 대한 요금이 부과됩니다.
+ 지원되는 이미지는 2017-07-24T00:00:00 Z 이후에 릴리스된 기본 이미지에서 생성해야 합니다.
+ 지원되는 표시 언어는 영어와 일본어입니다. 자세한 내용은 [기본 표시 언어 지정](configure-default-display-language.md) 단원을 참조하십시오.
+ 최신 버전의 SSM 에이전트를 사용하세요. 버전 정보는 [WorkSpaces 애플리케이션 기본 이미지 및 관리형 이미지 업데이트 릴리스 정보](base-image-version-history.md)를 참조하세요. 자세한 정보는 [SSM Agent용 EC2 인스턴스에 수동으로 Windows Server 설치](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-win.html)를 참조하세요.

## 관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용하여 이미지를 업데이트하는 방법
<a name="keep-image-updated-managed-image-updates-how-to-update-image"></a>

최신 패치, 드라이버 업데이트 및 WorkSpaces 애플리케이션 에이전트 소프트웨어로 WorkSpaces 애플리케이션 이미지를 업데이트하려면 다음 단계를 수행합니다.

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 업데이트하려는 이미지를 선택합니다. 이미지 상태가 **사용 가능**인지 확인합니다.

1. **작업**, **업데이트**를 선택합니다.

1. **이미지 업데이트** 대화 상자에서 다음 작업을 수행합니다.
   + **새 이미지 이름**에 AWS 계정 및 리전 내에서 고유한 이미지 이름을 입력합니다. 이미지 이름은 'Amazon', 'AWS' 또는 'AppStream'으로 시작할 수 없습니다.
   + **새 이미지 표시 이름**의 경우 원한다면 이미지에 표시할 이름을 입력할 수 있습니다.
   + 필요한 경우 **새 이미지 설명**에 이미지에 대한 설명을 제공합니다.
   + **태그**의 경우 **태그 추가**를 선택하고 해당 태그에 대한 키와 값을 입력합니다. 태그를 더 추가하려면 이 단계를 반복합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 리소스에 태그 지정](tagging-basic.md) 단원을 참조하십시오.

1. **이미지 업데이트**를 선택합니다.

   현재 이미지가 이미 최신 상태인 경우 알림 메시지가 나타납니다.

1. 탐색 창에서 **이미지**를 선택하고 **이미지 빌더**를 선택합니다.

1. 이미지 빌더 목록에서 새 이미지 빌더가 **업데이트 중** 상태로 나타나는지 확인합니다. 이미지 빌더 이름은 임의의 10자리 접미사를 포함합니다.

   이미지 빌더는 5단계에서 새 이미지용으로 선택한 인스턴스 패밀리 중 가장 작은 크기입니다. 이미지 빌더가 Virtual Private Cloud(VPC)에 연결되어 있지 않으므로 서브넷은 지정되지 않습니다.

1. **이미지 레지스트리**를 선택하고 새 이미지가 목록에 나타나는지 확인합니다.

   이미지가 생성되는 동안 콘솔의 이미지 레지스트리에 있는 이미지 상태는 **생성 중**으로 표시됩니다.

1. 이미지가 생성되면 WorkSpaces 애플리케이션은 검증 프로세스를 수행하여 이미지가 예상대로 작동하는지 확인합니다.

   이 기간 동안에는 이 프로세스에도 사용되는 이미지 빌더가 **이미지 빌더** 목록에 **검증 보류 중** 상태로 표시됩니다.

1. 검증 프로세스가 성공적으로 완료되면 콘솔 상단에 **성공** 메시지가 나타나고 이미지 레지스트리의 이미지 상태가 **사용 가능**으로 표시됩니다.

   또한 WorkSpaces 애플리케이션이 생성한 이미지 빌더는 자동으로 삭제됩니다.
**참고**  
운영 체제 업데이트의 양에 따라 이미지 업데이트가 완료되는 데 몇 시간이 걸릴 수 있습니다. 문제로 인해 이미지가 업데이트되지 않는 경우 이미지 이름 옆에 느낌표와 함께 빨간색 아이콘이 나타나고 이미지 레지스트리의 이미지 상태는 **실패**로 표시됩니다. 이 경우 이미지를 선택하고 **알림** 탭을 선택한 다음 오류 알림을 검토하세요. 자세한 내용은 알림 코드 문제 해결 설명서의 [이미지 내부 서비스](troubleshooting-notification-codes.md#troubleshooting-notification-codes-image) 섹션에 있는 정보를 참조하세요.  
검증 프로세스에 실패하더라도 WorkSpaces 애플리케이션이 생성한 이미지 빌더는 여전히 자동으로 삭제됩니다.

1. WorkSpaces 애플리케이션이 새 이미지를 생성한 후 사전 프로덕션 플릿에서 이미지를 테스트합니다. 애플리케이션이 정상 작동하는지 확인한 후, 프로덕션 플릿을 새로운 이미지로 업데이트합니다.

# 관리형 WorkSpaces 애플리케이션 에이전트 버전을 사용하여 WorkSpaces 애플리케이션 에이전트 소프트웨어 업데이트
<a name="keep-image-updated-manage-image-versions"></a>

WorkSpaces 애플리케이션은 이미지 빌더를 최신 WorkSpaces 애플리케이션 에이전트 소프트웨어로 업데이트하는 자동화된 방법을 제공합니다. 그렇게 하면 새 에이전트 버전이 출시될 때마다 새로운 이미지를 생성할 수 있습니다. 그런 다음 프로덕션 플릿을 업데이트하기 전에 이미지를 테스트할 수 있습니다. WorkSpaces Applications 에이전트 소프트웨어를 관리하는 방법에 대한 자세한 내용은 섹션을 참조하세요[WorkSpaces 애플리케이션 에이전트 버전 관리](base-images-agent.md).

**참고**  
Windows 운영 체제, 애플리케이션 및 종속 항목에 대한 업데이트를 설치하고 유지 관리할 책임은 사용자에게 있습니다.

WorkSpaces 애플리케이션 이미지를 최신 Windows 운영 체제 업데이트로 업데이트하려면 다음 중 하나를 수행합니다.
+ 새로운 이미지가 출시될 때마다 최신 기본 이미지에 애플리케이션을 설치합니다.
+ 기존 이미지 빌더에 Windows 운영 체제, 애플리케이션 및 종속 항목에 대한 업데이트를 설치합니다.
+ 기존 이미지의 새로운 이미지 빌더에 Windows 운영 체제, 애플리케이션 및 종속 항목에 대한 업데이트를 설치합니다.

최신 Windows 운영 체제, 애플리케이션 및 해당 종속성, WorkSpaces 애플리케이션 에이전트 소프트웨어를 사용하여 새 이미지를 생성한 후 개발 플릿에서 이미지를 테스트합니다. 애플리케이션이 정상 작동하는지 확인한 후, 프로덕션 플릿을 새로운 이미지로 업데이트합니다.

# Amazon WorkSpaces 애플리케이션의 Windows 업데이트 및 바이러스 백신 소프트웨어
<a name="windows-update-antivirus-software"></a>

WorkSpaces 애플리케이션 스트리밍 인스턴스는 비영구적입니다. 사용자 스트리밍 세션이 종료되면 WorkSpaces 애플리케이션은 세션에서 사용하는 인스턴스를 종료하고 조정 정책에 따라 플릿에서 새 인스턴스를 프로비저닝하여 교체합니다. 모든 플릿 인스턴스는 동일한 이미지에서 프로비저닝됩니다. 한 번 생성된 이미지는 변경할 수 없으므로, 사용자 스트리밍 세션에서 사용된 모든 플릿 인스턴스에는 이미지가 생성될 때 기본 이미지에 설치된 Windows 및 애플리케이션 업데이트만 있습니다. 또한 스트리밍 세션에서 사용된 플릿 인스턴스는 세션이 끝날 때 종료되므로, 스트리밍 세션 중에 수행된 인스턴스의 Windows 또는 애플리케이션에 대한 모든 업데이트는 동일한 사용자 또는 다른 사용자에 의한 향후 세션까지 지속되지 않습니다.

**참고**  
스택에 대해 애플리케이션 설정 지속성을 활성화한 경우 WorkSpaces 애플리케이션은 사용자가 수행한 Windows 및 애플리케이션 구성 변경 사항이 사용자의 Windows 프로필에 저장되어 있는 경우 동일한 사용자의 향후 세션에 대해 해당 사용자가 수행한 Windows 및 애플리케이션 구성 변경 사항을 유지합니다. 그러나 애플리케이션 설정 지속성 기능은 Windows 및 애플리케이션 구성 설정만 지속합니다. 스트리밍 인스턴스의 Windows 또는 애플리케이션에 대한 소프트웨어 업데이트는 지속하지 않습니다.

이러한 이유로 WorkSpaces 애플리케이션은 WorkSpaces 애플리케이션 인스턴스의 Windows 업데이트 및 바이러스 백신 소프트웨어에 대해 다음과 같은 접근 방식을 취합니다.

## Windows 업데이트
<a name="windows-update-antivirus-software-wu"></a>

WorkSpaces 애플리케이션 기본 이미지에서는 Windows 업데이트가 기본적으로 활성화되어 있지 않습니다. 이미지 빌더에서 Windows 업데이트를 활성화하는 경우 이미지를 생성하려고 시도하면 Image Assistant에 경고가 표시되고 이미지 생성 프로세스 동안 Windows 업데이트가 비활성화됩니다. 플릿 인스턴스에 최신 Windows 업데이트가 설치되도록 하려면 이미지 빌더에 Windows 업데이트를 설치하고, 새 이미지를 생성하며, 플릿을 새 이미지로 정기적으로 업데이트하는 것이 좋습니다.

## 안티바이러스 소프트웨어
<a name="windows-update-antivirus-software-av"></a>

이미지에 안티바이러스 소프트웨어를 설치하려는 경우 안티바이러스 소프트웨어에 대한 자동 업데이트를 활성화하지 않는 것이 좋습니다. 그렇지 않으면 바이러스성 소프트웨어가 사용자 세션 동안 최신 정의 파일 또는 기타 업데이트로 자체 업데이트를 시도할 수 있습니다. 이는 성능을 저하시킬 수 있습니다. 또한 안티바이러스 소프트웨어에 대한 모든 업데이트는 현재 사용자 세션 이후까지 지속되지 않습니다. 플릿 인스턴스에 항상 최신 안티바이러스 업데이트가 설치되도록 하려면 다음 중 하나를 수행하는 것이 좋습니다.
+ 이미지 빌더를 업데이트하고 새 이미지를 정기적으로 생성합니다(예: [Image Assistant CLI 작업](https://docs.aws.amazon.com/appstream2/latest/developerguide/programmatically-create-image.html) 사용).
+ 스캔 또는 기타 작업을 항상 최신 상태의 외부 서버에 위임하는 안티바이러스 애플리케이션을 사용합니다.

**참고**  
안티바이러스 소프트웨어에 대한 자동 업데이트를 활성화하지 않은 경우, 안티바이러스 소프트웨어가 사용자 세션 중에 플릿 인스턴스의 성능에 영향을 미칠 수 있는 하드 드라이버 스캔 또는 기타 작업을 수행할 수 있습니다.

2019년 9월 10일 이후에 게시된 WorkSpaces Applications Windows Server 2025/2022/2019/2016 기본 이미지에서는 Windows Defender가 기본적으로 활성화되지 않습니다. 2019년 6월 24일에 게시된 WorkSpaces Applications Windows Server 2016 및 Windows Server 2019 기본 이미지에서는 Windows Defender가 기본적으로 활성화됩니다.

**수동으로 Windows Defender를 활성화하려면**

기본 이미지에서 Windows Defender가 활성화되어 있지 않으면 수동으로 활성화할 수 있습니다. 이렇게 하려면 다음 단계를 완료합니다.

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **이미지**, **이미지 빌더**를 선택합니다.

1. Windows Defender를 활성화할 이미지 빌더를 선택하고 **실행 중** 상태인지 확인한 다음 **연결**을 선택합니다.

1. 로컬 **관리자** 계정 또는 로컬 관리자 권한이 있는 도메인 계정으로 이미지 빌더에 로그인합니다.

1. 레지스트리 편집기를 엽니다.

1. 레지스트리에서 다음 위치로 이동합니다. **HKLM\$1SOFTWARE\$1Policies\$1Microsoft\$1Windows Defender\$1DisableAntiSpyware** 

1. 이 레지스트리 키를 편집하려면 해당 키를 두 번 클릭하거나 레지스트리 키를 마우스 오른쪽 버튼으로 클릭하고 **수정**을 선택합니다.

1. **Edit DWORD (32-bit) Value(DWORD(32비트) 값 편집)** 대화 상자의 **Value data(값 데이터)**에서 **1**을 **0**으로 변경합니다.

1. **확인**을 선택합니다.

1. 레지스트리 편집기를 닫습니다.

1. MMC(Microsoft Management Console) **서비스** 스냅인(`services.msc`)을 엽니다.

1. 서비스 목록에서 다음 중 하나를 수행합니다.

   Microsoft Windows Server 2022/2025를 사용하는 경우 다음 중 하나를 수행합니다.
   + **Microsoft Defender 바이러스 백신 서비스**를 마우스 오른쪽 버튼으로 클릭하고 **시작**을 선택합니다.
   + **Microsoft Defender 바이러스 백신 서비스**를 두 번 클릭하고 속성 대화 상자에서 **시작**을 선택한 다음 **확인**을 선택합니다.

   Microsoft Windows Server 2019 또는 2016을 사용하고 있는 경우 다음 중 하나를 수행합니다.
   + **Windows Defender 바이러스 백신 서비스**를 마우스 오른쪽 버튼으로 클릭하고 **시작**을 선택합니다.
   + **Windows Defender 바이러스 백신 서비스**를 두 번 클릭하고 속성 대화 상자에서 **시작**을 선택한 다음 **확인**을 선택합니다.

1. **서비스** 스냅인을 닫습니다.

# Amazon WorkSpaces 애플리케이션에서 프로그래밍 방식으로 새 이미지 생성
<a name="create-image-programmatically"></a>

이미지 빌더에 연결하고 Image Assistant 명령줄 인터페이스(CLI) 작업을 사용하여 프로그래밍 방식으로 WorkSpaces 애플리케이션 이미지를 생성할 수 있습니다. 자세한 내용은 [Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성](programmatically-create-image.md) 단원을 참조하십시오.

# Amazon WorkSpaces 애플리케이션에서 이미지의 라이선스 포함 애플리케이션 관리
<a name="license-included-applications"></a>

WorkSpaces 애플리케이션을 사용하여 다음과 같은 Microsoft 라이선스 포함 애플리케이션을 스트리밍할 수 있습니다. 이러한 애플리케이션은 Windows 이미지에 설치할 수 있으며, 이 사용자 지정 이미지를 사용하여 플릿을 생성한 후 해당 애플리케이션을 스트리밍할 수 있습니다. 다음 모든 애플리케이션은 32비트 및 64비트 아키텍처에서 사용할 수 있습니다.
+ Microsoft Office LTSC Professional Plus 2021/2024
+ Microsoft Visio LTSC Professional 2021/2024
+ Microsoft Project Professional 2021/2024
+ Microsoft Office LTSC Standard 2021/2024
+ Microsoft Visio LTSC Standard 2021/2024
+ Microsoft Project Standard 2021/2024
**중요**  
Microsoft Office, Visio, Project는 동일한 버전을 사용해야 합니다. 예를 들어, 2021 애플리케이션과 2024 애플리케이션을 함께 사용할 수 없습니다.
Microsoft Office, Visio, Project는 동일한 아키텍처를 따라야 합니다. 예를 들어, 32비트 애플리케이션과 64비트 애플리케이션을 함께 사용할 수 없습니다.
Microsoft Office, Visio 및 Project 2021 Standard/Professional 버전은 Microsoft Windows Server 2019/2022/2025에서 지원됩니다. Microsoft Office, Visio 및 Project 2024 Standard/Professional 버전은 Microsoft Windows Server 2022 및 2025에서 지원됩니다.
이 기능을 활성화하려면 2025년 10월 2일 이후에 릴리스된 WorkSpaces Applications 에이전트를 사용하는 WorkSpaces Applications Image Builder를 사용해야 합니다. 자세한 정보는 [WorkSpaces 애플리케이션 에이전트 버전 관리](base-images-agent.md)을 참조하십시오. 또는 이미지는 2025년 10월 3일 또는 그 이후에 릴리스된 관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용해야 합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 이미지를 Up-to-Date 유지](keep-image-updated.md) 단원을 참조하십시오.
모든 스트리밍 인스턴스의 관리 네트워크 인터페이스에서 포트 1688의 아웃바운드 TCP가 열려 있어야 합니다.
하나 이상의 라이선스 앱이 포함된 이미지로 구동되는 플릿을 통해 스트리밍하는 모든 사용자는 사용량과 관계없이 매월 해당 앱에 대한 요금이 부과됩니다. 애플리케이션 권한 부여 기능은 특정 사용자의 액세스를 제한하지 않습니다.
이미지 빌더의 라이선스 포함 애플리케이션은 관리 목적으로 설치되므로 활성화되지 않습니다. 활성화는 사용자가 플릿 인스턴스를 통해 스트리밍할 때 발생합니다.

**Topics**
+ [이미지에 설치된 라이선스 포함 애플리케이션 목록 보기](view-list-image.md)
+ [이미지 빌더에서 라이선스 포함 애플리케이션 목록 보기](view-list-apps.md)
+ [라이선스 포함 애플리케이션 설치 또는 제거](install-uninstall-apps.md)
+ [이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화](updates-image-builder.md)
+ [Powershell을 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화](enable-updates-managed-powershell.md)
+ [관리형 이미지 업데이트를 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화](enable-updates-managed.md)

# 이미지에 설치된 라이선스 포함 애플리케이션 목록 보기
<a name="view-list-image"></a>

**이미지에 설치된 라이선스 포함 애플리케이션 목록 보기**

이미지에 설치된 라이선스 포함 애플리케이션 목록을 보려면 다음 단계를 따르세요.

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **이미지**를 선택하고 **이미지 레지스트리** 탭을 선택합니다.

1. 이미지를 선택하고 **세부 정보 보기**를 선택합니다.

1. **라이선스 포함 애플리케이션**에서 설치된 모든 애플리케이션 목록을 검토합니다.

# 이미지 빌더에서 라이선스 포함 애플리케이션 목록 보기
<a name="view-list-apps"></a>

**이미지 빌더에서 라이선스 포함 애플리케이션 목록 보기**

이미지 빌더에서 라이선스 포함 애플리케이션 목록을 보려면 다음 단계를 따르세요.

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **이미지**를 선택하고 **이미지 빌더** 탭을 선택합니다.

1. 이미지 빌더를 선택하고 **세부 정보 보기**를 선택합니다.

1. **라이선스 포함 애플리케이션에서 애플리케이션** 목록과 상태를 검토합니다.

# 라이선스 포함 애플리케이션 설치 또는 제거
<a name="install-uninstall-apps"></a>

**라이선스 포함 애플리케이션 설치 또는 제거**

이미지에 라이선스 포함 애플리케이션을 하나 이상 설치하거나 제거하려면 다음 단계를 따르세요.

1. 다음 옵션 중 하나를 수행합니다.
   + 이미지 빌더를 시작하고 라이선스 포함 애플리케이션을 구성합니다. 자세한 내용은 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 단원을 참조하십시오.
   + 이미지 빌더에서 라이선스 포함 애플리케이션을 관리합니다. 자세한 내용은 [서드 파티 SAML 2.0 ID 제공업체를 사용하는 속성 기반 애플리케이션 권한](application-entitlements-saml.md) 단원을 참조하십시오.

1. 하나 이상의 라이선스 포함 애플리케이션으로 생성된 이미지가 있는 경우 이 이미지를 사용하여 플릿을 생성할 수 있습니다. 이 플릿에 연결하는 사용자는 이러한 애플리케이션에 액세스할 수 있습니다.
**중요**  
하나 이상의 라이선스 앱이 포함된 이미지로 구동되는 플릿을 통해 스트리밍하는 모든 사용자는 사용량과 관계없이 매월 해당 앱에 대한 요금이 부과됩니다. 애플리케이션 권한 부여 기능은 특정 사용자의 액세스를 제한하지 않습니다.

라이선스 포함 앱 설치 또는 제거 중에 오류가 발생하면 이미지 빌더의 세부 정보 페이지에 실패 상태가 표시됩니다. 이러한 문제를 해결하려면 이미지 빌더에 연결하고 상세 로깅을 활성화하는 것이 좋습니다. 자세한 내용은 [엔터프라이즈용 Microsoft 365 앱 로깅을 사용하도록 설정하는 방법](https://learn.microsoft.com/en-us/troubleshoot/microsoft-365-apps/diagnostic-logs/how-to-enable-office-365-proplus-uls-logging)을 참조하세요. 로그를 검토하고 문제를 해결한 후에도 문제가 지속되면 AWS Support 에 문의하여 도움을 받으세요.

# 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화
<a name="updates-image-builder"></a>

**이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화**

라이선스가 포함된 모든 애플리케이션에 대한 업데이트는 기본적으로 비활성화되어 있습니다. 이미지 빌더에서 하나 이상의 해당 애플리케이션이 포함된 이미지로 이러한 애플리케이션의 업데이트를 활성화할 수 있습니다. 세션 설정 중 설치가 이루어지지 않도록 플릿 인스턴스의 업데이트는 비활성화된 상태로 유지됩니다.

이미지 빌더에서 라이선스 포함 애플리케이션의 업데이트를 활성화하는 방법에는 세 가지 옵션이 있습니다.

애플리케이션 메뉴를 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트를 활성화하려면 다음 단계를 따르세요.

1. 라이선스 포함 애플리케이션을 엽니다.

1. **파일**, **계정**, **업데이트 옵션** 및 **업데이트 활성화**를 선택합니다.

# Powershell을 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화
<a name="enable-updates-managed-powershell"></a>

Powershell을 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트를 활성화하려면 다음 단계를 따르세요.
+ 관리자 권한으로 PowerShell에서 다음 명령을 실행합니다.

  `Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" -Name UpdatesEnabled -Value True `

# 관리형 이미지 업데이트를 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트 활성화
<a name="enable-updates-managed"></a>

관리형 이미지 업데이트를 사용하여 이미지 빌더에서 라이선스 포함 애플리케이션에 대한 업데이트를 활성화하려면 다음 단계를 따르세요.
+  관리형 이미지 업데이트를 사용하여 Microsoft 라이선스 포함 애플리케이션에 대한 업데이트를 수신합니다. 자세한 내용은 다음 섹션을 참조하세요.

  [관리형 WorkSpaces 애플리케이션 이미지 업데이트를 사용하여 이미지 업데이트](keep-image-updated-managed-image-updates.md).

# 이미지 가져오기
<a name="import-image"></a>

사용자 지정된 EC2 AMIs를 가져와 WorkSpaces 애플리케이션 이미지를 생성할 수 있습니다. 작동 방식은 다음과 같습니다.

1. EC2 [Image Builder를 포함하여 원하는 방법을 사용하여 EC2 ](https://docs.aws.amazon.com/imagebuilder/)AMI를 사용자 지정합니다.

1. 사용자 지정 AMI를 WorkSpaces 애플리케이션으로 가져와 WorkSpaces 애플리케이션 이미지를 생성합니다.

1. 선택적으로 추가 이미지 사용자 지정을 위해 Image Builder 사용

AMI 가져오기를 통해 생성된 이미지는 이고 `type = "custom"` WorkSpaces 애플리케이션에서 제공하는 이미지는 입니다`type = "native"`.

에서 이미지에 stream.\$1 인스턴스 유형을 사용할 수 있습니다`type = "native"`. 다음 인스턴스 유형 중 하나를 사용하려면 AMI를 가져오고를 사용하여 이미지를 생성해야 합니다`type = "custom"`.
+ GeneralPurpose.\$1
+ MemoryOptimized.\$1
+ ComputeOptimized.\$1
+ 가속화됨.\$1

## 이미지 가져오기를 위한 사전 조건
<a name="import-image-prerequisites"></a>

이러한 모든 사전 조건은 성공적인 워크플로 실행에 중요합니다. 지원되는 AMI 구성 및 기타 필수 요구 사항은 다음과 같습니다.

### 필수 AMI 속성
<a name="required-ami-properties"></a>

EBS  
+ 500GB 이하 크기
  + < 200GB인 AMI를 가져올 수 있지만 가져온 이미지는 최소 200GB를 사용합니다.
+ GP2
  + gp2 또는 gp3 EBS 볼륨 유형의 AMI를 가져올 수 있지만 가져온 이미지는 gp2를 사용합니다.
+ 이미지당 볼륨 1개
+ `/dev/sda1` 루트 디바이스 이름
+ 이미지 유형: 머신
+ 아키텍처: x86\$164
+ 가상화 유형: HVM
+ 부팅 모드: UEFI
+ TPM 지원: v2.0. 이는 필수입니다. TPM 지원 AMI를 찾으려면 [https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html\$1ami-windows-tpm-find](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html#ami-windows-tpm-find) 참조하십시오.
+ ENA 지원: true
+ 플랫폼: Windows
+ 플랫폼 세부 정보: Windows

### 운영 체제 속성
<a name="operating-system-properties"></a>

Windows Server 2022/2025 **풀 베이스**  
+ Windows Server **Core**는 지원되지 않습니다.
+ SQL Server를 사용하는 Windows는 지원되지 않습니다.

에이전트  
+ EC2 시작 V2 버전 >= 2.1.1
+ SSM 에이전트 필요

드라이버  
+ EC2 ENA 드라이버 버전 >= 2.9.0
+ EC2 NVMe 드라이버 버전 >= 1.6.0

라이브러리 지원  
+ .NET Framework 4.8 이상
  + Windows Server 2022/2025에 기본적으로 설치됨
+ PowerShell 5.1 이상
  + Windows Server 2022/2025에 기본적으로 설치됨
+ Windows 기능: 원격 데스크톱 서비스 라이선싱 및 원격 데스크톱 서비스 세션 호스트를 설치해서는 안 됩니다.
+ 포트: 포트 8000, 8300 및 8443은 차단 해제되고 점유 해제되어야 합니다.
+ 부팅 모드: UEFI

Accelerated.g4dn, Accelerated.g5, Accelerated.G6 또는 Accelerated.G6e와 같은 그래픽 인스턴스에서 이미지를 사용하려면 AMI에 적절한 GRID 드라이버를 설치해야 합니다. 자세한 내용은 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvidia-GRID-driver.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvidia-GRID-driver.html) 참조하십시오. 드라이버가 올바르게 설정되지 않으면 스트리밍이 작동하지만 그래픽 카드를 사용하지 못할 수 있습니다.

**중요**  
AMI의 "소유자 계정 ID"는 AWS계정 ID여야 합니다. 퍼블릭 EC2 AMI는 가져올 수 없습니다.  
이미지를 가져오기 전에 Windows 업데이트를 수행하고 자동 Windows 업데이트를 비활성화합니다.  
암호화된 EC2 AMIs는 현재 지원되지 않습니다.

### IAM 역할 요구 사항
<a name="iam-role-requirements"></a>

**중요**  
“이미지 가져오기에 사용할 수 있는 다음 권한을 가진 IAM 역할을 생성합니다.

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Sid": "AllowModifyImageAttributeWithTagCondition",  
            "Effect": "Allow",  
            "Action": "ec2:ModifyImageAttribute",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowDescribeImages",  
            "Effect": "Allow",  
            "Action": "ec2:DescribeImages",  
            "Resource": "*"  
        }  
    ]  
}
```

이 IAM 역할에 대해 다음 신뢰 관계를 추가합니다.

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Principal": {  
                "Service": "appstream.amazonaws.com"  
            },  
            "Action": "sts:AssumeRole"  
        }  
    ]  
}
```

## 이미지를 가져오려면
<a name="import-image-procedure"></a>

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **이미지를** 선택한 다음 **이미지 레지스트리**를 선택합니다.

1. **이미지 가져오기**를 선택합니다.

1. **AMI ID** - WorkSpaces 애플리케이션으로 가져오려는 AMI의 AMI ID를 입력합니다. 이 필드를 사용하여 AMI를 검색할 수도 있습니다.

1. **이미지 이름** - 가져오기 작업으로 인해 생성될 이미지의 고유한 이름을 입력합니다.

1. **표시 이름***(선택 사항)* - 이미지에 표시할를 입력합니다.

1. **설명***(선택 사항)* - 이미지에 대한 설명을 입력합니다.

1. **IAM 역할** - 이미지 가져오기를 위해 생성한 IAM 역할을 선택합니다. 자세한 내용은 단원을 참조하십시오[IAM 역할 요구 사항](#iam-role-requirements).

1. **WorkSpaces 애플리케이션 에이전트 관리** - 항상 최신 WorkSpaces 애플리케이션 에이전트 버전을 사용하려면이 옵션을 선택하면 새 에이전트 버전이 릴리스될 AWS때에서 사용할 수 있는 최신 기능, 성능 개선 및 보안 업데이트로 스트리밍 인스턴스가 자동으로 업데이트됩니다.

1. **런타임 검증***(선택 사항)*:이 옵션을 선택하면 서비스가 가져오는 이미지로 인스턴스를 프로비저닝하고 스트리밍 테스트를 실행합니다.
   + 
**참고**  
이러한 스트리밍 테스트는 백그라운드에서 실행되며 WorkSpaces 애플리케이션 클라이언트를 통해이 인스턴스에 연결할 수 없습니다.
   + 이미지가 WorkSpaces 애플리케이션에 적합하다는 신뢰도를 높이려면이 옵션을 사용하는 것이 좋습니다.
   + 해당 인스턴스의 시간당 요금이 청구됩니다.
   + 스트리밍 테스트에 영향을 미치지 않을 수 있는 사소한 변경 후 AMI를 다시 가져오고 런타임 검증이 마지막으로 통과한 경우 런타임 검증을 실행하지 않아도 됩니다.
   + **인스턴스 유형 선택***(선택 사항)*: 스트리밍 테스트를 실행하는 데 적합한 인스턴스 패밀리, 유형 및 크기를 선택합니다. 플릿 생성에 사용할 인스턴스와 동일한 인스턴스를 사용하는 것이 좋습니다.

1. **애플리케이션 카탈로그 및 시작 성능 매니페스트***(선택 사항)*: 최종 사용자를 위한 애플리케이션 카탈로그를 생성하고 애플리케이션의 시작 성능을 개선하기 위한 세부 정보를 제공합니다.
   + **애플리케이션 카탈로그**: 애플리케이션 카탈로그를 생성하려면 이미지를 설치한 애플리케이션에 대한 세부 정보를 지정합니다. 스트리밍하려는 각 애플리케이션에 대해 이름, 표시 이름, 시작할 실행 파일, 표시할 아이콘을 지정할 수 있습니다.
   + **시작 성능**: 애플리케이션 최적화 매니페스트에 파일을 추가하면 새 플릿 인스턴스에서 애플리케이션을 처음 시작하는 데 걸리는 시간이 줄어듭니다. 최적화 매니페스트는 애플리케이션마다 있는 줄로 구분된 텍스트 파일입니다.

   자세한 내용은 단원을 참조하십시오[애플리케이션 세부 정보](applications-details.md).

1. **태그***(선택 사항)* - **태그 추가**를 선택하고 태그의 키와 값을 입력합니다. 태그를 더 추가하려면 이 단계를 반복합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 리소스에 태그 지정](tagging-basic.md) 단원을 참조하십시오.

1. **이미지 가져오기** - 입력한 모든 정보를 검토하고 **이미지 가져오기**를 선택합니다. 서비스는 호환성 검사를 실행하여 AMI가 WorkSpaces 애플리케이션과 호환되는지 확인합니다.
   + 정적 검사에 실패하면 즉시 오류가 발생합니다.
   + 정적 검사가 통과하면 가져오기 요청이 제출되고 선택한 옵션에 따라를 사용하여 새 WorkSpaces 애플리케이션 이미지를 생성하는 데 30\$160분이 걸릴 수 있습니다. `type = "custom"` 

# 애플리케이션 세부 정보
<a name="applications-details"></a>

애플리케이션 세부 정보에는 사전 웜 매니페스트 및 앱 카탈로그 구성에 대한 정보가 포함되어 있습니다.

## 애플리케이션 PreWarm 매니페스트
<a name="application-prewarm-manifests"></a>

WorkSpaces 애플리케이션 이미지를 생성할 때 사용자가 사용할 수 있도록 애플리케이션을 지정할 수 있습니다. 애플리케이션의 시작 시간을 단축하기 위해 PreWarm 매니페스트를 준비할 수 있습니다. 이는 기본적으로 사용자가 애플리케이션을 시작할 때 애플리케이션이 시작해야 하는 파일의 카탈로그입니다. 인스턴스 프로비저닝 중에 이러한 파일은 사용자 세션에서 애플리케이션 시작 시간을 단축하기 위해 세션 연결 전에 준비됩니다.

WorkSpaces 애플리케이션 환경으로 가져오기 전에 AMI에서 사전 워밍 매니페스트를 미리 생성해야 합니다. 공통 Prewarm 매니페스트 파일 하나 또는 각 애플리케이션당 하나를 생성하도록 선택할 수 있습니다. 이렇게 하면 나중에 AMI를 가져오는 방법이 변경됩니다.

### 일반적인 사전 웜 매니페스트
<a name="common-prewarm-manifest"></a>

사전 워밍하려는 각 애플리케이션에 대해 애플리케이션을 시작하고 사용자가 수행할 수 있는 초기 상호 작용을 수행합니다. 그런 다음 애플리케이션 데이터가 저장되는 디렉터리를 대상으로 다음 명령을 사용합니다.

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\ProgramData\Amazon\Photon\Prewarm\PrewarmManifest.txt" -encoding UTF8 -append
```

그러면 각 애플리케이션에 맞게 최적화할 파일이 공통 `C:\\ProgramData\\Amazon\\Photon\\Prewarm\\PrewarmManifest.txt` 파일에 추가됩니다. 애플리케이션 사전 워밍을 수행하는 데 필요한 추가 작업은 없습니다. WorkSpaces 애플리케이션은 위 위치에서 prewarm 파일을 찾아서 있는 경우 사용합니다.

이 프로세스는 선택 사항이며 사전 워밍 매니페스트의 크기가 증가하면 플릿 프로비저닝 시간도 증가합니다. 따라서 최적화와 플릿 프로비저닝의 균형을 맞추도록 주의하십시오.

### 애플리케이션별 매니페스트
<a name="application-specific-manifests"></a>

이미지를 가져오는 동안 애플리케이션당 사전 워밍 자산을 더 쉽게 추적하기 위해 애플리케이션당 별도의 애플리케이션 매니페스트 파일을 지정할 수 있습니다. 이렇게 하려면 위와 동일한 단계를 수행하되 공통 `C:\\ProgramData\\Amazon\\Photon\\Prewarm\\PrewarmManifest.txt` 파일을 생성하는 대신 AMI에서 애플리케이션당 파일을 생성합니다.

사전 워밍하려는 각 애플리케이션에 대해 애플리케이션을 시작하고 사용자가 수행할 수 있는 초기 상호 작용을 수행합니다. 그런 다음 애플리케이션 데이터가 저장되는 디렉터리를 대상으로 다음 명령을 사용합니다.

```
dir -path "C:\Path\To\Folder\To\Optimize" -Recurse -ErrorAction SilentlyContinue | %{$_.FullName} | Out-File "C:\Path\To\My\<ApplicationName>PreWarm.txt" -encoding UTF8 -append
```

이미지 가져오기 프로세스 중에 이러한 애플리케이션 사전 워밍 파일을 사용합니다. 다시 말하지만 이는 전적으로 선택 사항입니다. 이 메서드, 공통 사전 워밍 매니페스트 메서드 또는 사전 워밍 매니페스트를 전혀 사용하지 않도록 선택할 수 있습니다.

## 애플리케이션 카탈로그 구성
<a name="application-catalog-configs"></a>

`AppCatalogConfig` 이를 통해 AMI 가져오기 중에 WorkSpaces 애플리케이션 이미지에 등록할 애플리케이션을 지정할 수 있습니다. 는 다음 구조의 애플리케이션 구성 객체의 JSON 목록`AppCatalogConfig`입니다.

```
[  
    {  
        "Name": "Rufus", //Required and must be unique among the list of applications  
        "DisplayName": "Rufus",  
        "AbsoluteAppPath": "Rufus", //Required  
        "AbsoluteIconPath": "Rufus",  
        "AbsoluteManifestPath": "Rufus",  
        "WorkingDirectory": "Rufus",  
        "LaunchParameters": "Rufus"  
    }  

    ...  

    // Up to 50 applications total  
 ]
```

애플리케이션당 유일한 필수 필드는 `Name` 및 입니다`AbsoluteAppPath`. 각 필드의 세부 정보는 다음과 같습니다.

이름 [**필수**]  
+ 애플리케이션을 식별할 애플리케이션의 지정된 이름입니다.
+ 1\$1100자
+ 허용되는 문자 정규식 `^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,99}$`
+ 지정된 AppCatalogConfig에서 고유해야 합니다.

DisplayName  
+ 사용자에게 표시할 지정된 애플리케이션의 표시 이름입니다.
+ 0\$1100자
+ 허용되는 문자 정규식 `^[a-zA-Z0-9][a-zA-Z0-9_. -]{0,99}$`

AbsoluteAppPath[**필수**]  
+ 애플리케이션을 시작할 실행 파일의 경로입니다.
  + 사용자가 애플리케이션을 선택할 때 시작되는 실행 파일입니다.
+ 1\$132,767자
  + 이 문자 길이 상한은 Windows에서 확장 파일 경로를 지원하기 위한 것입니다. 260자보다 큰 파일 경로를 사용하는 경우 Windows 확장 파일 경로를 지원하도록 AMI와 애플리케이션이 올바르게 구성되어 있는지 확인합니다.
+ 와 같은 이스케이프된 파일 경로 문자열 사용
  + `"C:\\Windows\\System32\\notepad.exe"`

AbsoluteManifestPath  
+ 를 사용하는 경우에만 적용 가능 [애플리케이션별 매니페스트](#application-specific-manifests)
+ 이 애플리케이션의 사전 워밍 매니페스트 파일 경로
+ 0\$132,767자
  + 이 문자 길이 상한은 Windows에서 확장 파일 경로를 지원하기 위한 것입니다. 260자보다 큰 파일 경로를 사용하는 경우 Windows 확장 파일 경로를 지원하도록 AMI와 애플리케이션이 올바르게 구성되어 있는지 확인합니다.
+ 와 같은 이스케이프된 파일 경로 문자열 사용
  + `"C:\\Path\\To\\PrewarmManifest.txt"`

AbsoluteIconPath  
+ 애플리케이션에 사용할 AMI의 아이콘 파일 경로입니다.
  + 이 아이콘은이 이미지로 스트리밍할 때 사용자에게 표시됩니다.
  + 아무 것도 입력하지 않으면 실행 파일 자체에서 아이콘이 파생됩니다.
  + 사용자에게 좋은 클라이언트 경험을 제공하기 위해 적절하게 처리된 배경 투명성이 있는 아이콘 파일을 신중하게 선택합니다.
    + PNG 이미지 사용
+ 1\$132,767자
  + 이 문자 길이 상한은 Windows에서 확장 파일 경로를 지원하기 위한 것입니다. 260자보다 큰 파일 경로를 사용하는 경우 Windows 확장 파일 경로를 지원하도록 AMI와 애플리케이션이 올바르게 구성되어 있는지 확인합니다.
+ 와 같은 이스케이프된 파일 경로 문자열 사용
  + `"C:\\Path\\To\\ApplicationIcon.png"`

WorkingDirectory  
+ 에서 애플리케이션을 시작할 작업 디렉터리
+ 0\$132,767자
  + 이 문자 길이 상한은 Windows에서 확장 파일 경로를 지원하기 위한 것입니다. 260자보다 큰 파일 경로를 사용하는 경우 Windows 확장 파일 경로를 지원하도록 AMI와 애플리케이션이 올바르게 구성되어 있는지 확인합니다.
+ 와 같은 이스케이프된 파일 경로 문자열 사용
  + `"C:\\Path\\To\\Working\\Directory"`

LaunchParameters  
+ 에 지정된 실행 파일의 시작 파라미터로 사용할 문자열 `AbsoluteAppPath`
+ 0\$11,024자 사이
+ PowerShell 실행 파일을 시작 파라미터에 제공된 스크립트와 함께 앱으로 사용하여 PowerShell 스크립트를 애플리케이션으로 사용하는 방법을 보여주는 다음 예제와 같은 필수 시작 파라미터의 전체 목록과 함께 이스케이프된 문자열을 사용합니다.
  + AbsoluteAppPath
    + `"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"`
  + LaunchParameters
    + `"-File \"C:\\Path\\To\\App\\Script.ps1\""`

### 샘플 AppCatalogConfig
<a name="sample-appcatalogconfig"></a>

다음은 메모장, Google Chrome 및 Mozilla Firefox용 AppCatalogConfig의 베어 본 예제입니다.

```
[  
    {  
        "Name": "Notepad",  
        "DisplayName": "Notepad",  
        "AbsoluteAppPath": "C:\\Windows\\System32\\notepad.exe"
    },  
    {  
        "Name": "Chrome",  
        "DisplayName": "Chrome",  
        "AbsoluteAppPath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
        "LaunchParameters": "https://www.amazon.com/"  
    },  
    {  
        "Name": "Firefox",  
        "DisplayName": "Firefox",  
        "AbsoluteAppPath": "C:\\Program Files\\Mozilla Firefox\\firefox.exe",
        "LaunchParameters": "https://aws.amazon.com/"  
    }  
 ]
```

# 이미지 내보내기
<a name="export-image"></a>

이미지를 내보내 EC2 AMIs. 나중에 [이미지 가져오기](import-image.md) 이러한 AMIs 다시 생성하여 WorkSpaces 애플리케이션 이미지를 생성할 수 있습니다. 이렇게 하면 자체 AMI 사용자 지정 도구를 사용하여 이미지를 사용자 지정할 수 있습니다.

**참고**  
내보내는 동안 다음 구성 요소가 이미지에서 제거됩니다.  
WorkSpaces 애플리케이션 에이전트
Image Builder를 사용하여 추가된 Microsoft 라이선스 포함 애플리케이션
Microsoft Windows Server 2022 및 2025 이미지만 내보낼 수 있습니다.

## IAM 역할 요구 사항
<a name="export-image-iam-requirements"></a>

**중요**  
내보내기 가져오기에 사용할 다음 권한을 가진 IAM 역할을 생성합니다.

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Sid": "AllowCopyImage",  
            "Effect": "Allow",  
            "Action": "ec2:CopyImage",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowDescribeImages",  
            "Effect": "Allow",  
            "Action": "ec2:DescribeImages",  
            "Resource": "*"  
        },  
        {  
            "Sid": "AllowCreateTags",  
            "Effect": "Allow",  
            "Action": "ec2:CreateTags",  
            "Resource": "*"  
        }  
    ]  
}
```

이 IAM 역할에 대해 다음 신뢰 관계를 추가합니다.

```
{  
    "Version": "2012-10-17",		 	 	   
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Principal": {  
                "Service": "appstream.amazonaws.com"  
            },  
            "Action": "sts:AssumeRole"  
        }  
    ]  
}
```

## 이미지를 내보내려면
<a name="export-image-procedure"></a>

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 내보낼 프라이빗 이미지를 선택합니다.

1. **작업**, **내보내기**를 선택합니다.

1. **이미지 내보내기** 대화 상자에서 고유한 **AMI 이름과** 선택적으로 **AMI에 대한 AMI 설명을** 입력합니다.

1. **IAM 역할** - 이미지 내보내기를 위해 생성한 IAM 역할을 선택합니다.

1. 선택적으로 **내보내기에서 태그 복사 확인란을 선택하여 이미지에서 AMI로 태그를 복사**할 수 있습니다.

1. **이미지 내보내기**를 선택합니다.

# Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성
<a name="programmatically-create-image"></a>

이미지 빌더에 연결하고 Image Assistant 그래픽 사용자 인터페이스(GUI) 또는 명령줄 인터페이스(CLI) 작업을 사용하여 Amazon WorkSpaces 애플리케이션 이미지를 생성할 수 있습니다. Image Assistant CLI 작업은 Image Assistant GUI와 유사한 기능을 제공합니다. 이러한 작업을 사용하여 프로그래밍 방식으로 다음 작업을 수행할 수 있습니다.
+ 이미지에 포함된 애플리케이션을 관리합니다.
+ 기본 애플리케이션 설정을 저장, 업데이트, 재설정합니다.
+ WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크를 활성화하거나 비활성화합니다.
+ 태그를 지정합니다.
+ 이미지를 생성합니다.

 이러한 작업을 사용하여 WorkSpaces 애플리케이션 이미지 생성을 지속적인 통합 또는 배포 소프트웨어 개발 프로세스와 통합할 수 있습니다.

Image Assistant CLI 작업으로 작업을 수행하려면 이미지 빌더에서 원하는 명령줄 셸을 사용합니다. 예를 들어 Windows 명령 프롬프트 또는 PowerShell을 사용할 수 있습니다.

**참고**  
이미지 빌더는 2019년 7월 26일 이후에 릴리스된 WorkSpaces 애플리케이션 에이전트 버전을 사용해야 합니다. 이미지 빌더가 없으면 하나를 생성해야 합니다. 자세한 내용은 [이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성](tutorial-image-builder-create.md) 단원을 참조하십시오.

**Topics**
+ [Image Assistant CLI 작업을 사용하여 기본 애플리케이션 및 Windows 설정 생성](create-default-app-windows-settings-image-assistant.md)
+ [Image Assistant CLI 작업을 사용하여 애플리케이션 시작 성능 최적화](optimize-app-launch-performance-image-assistant-cli.md)
+ [프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성을 위한 프로세스 개요](process-overview-creating-image-programmatically-image-assistant-cli.md)
+ [Amazon WorkSpaces 애플리케이션 이미지 생성 및 관리를 위한 Image Assistant CLI 작업](cli-operations-managing-creating-image-image-assistant.md)

# Image Assistant CLI 작업을 사용하여 기본 애플리케이션 및 Windows 설정 생성
<a name="create-default-app-windows-settings-image-assistant"></a>

최종 사용자가 빠르게 애플리케이션을 사용할 수 있도록 기본 애플리케이션 및 Windows 설정을 생성할 수 있습니다. 이러한 설정을 생성하면 WorkSpaces 애플리케이션은 Windows 기본 사용자 프로필을 구성한 프로필로 바꿉니다. 그 다음 Windows 기본 사용자 프로필을 사용해 플릿 인스턴스에서 사용자의 초기 설정을 만듭니다. Image Assistant CLI 작업을 사용하여 이러한 설정을 생성할 경우 애플리케이션 설치 관리자 또는 자동화가 Windows 기본 사용자 프로필을 직접 수정해야 합니다.

Windows 기본 사용자 프로필을 다른 Windows 사용자의 프로필로 덮어쓰기 위해 Image Assistant `update-default-profile` CLI 작업을 사용할 수도 있습니다.

기본 애플리케이션 및 Windows 설정 구성에 대한 자세한 내용은의 * WorkSpaces 애플리케이션 사용자를 위한 기본 애플리케이션 및 Windows 설정 생성을 참조하세요*[Amazon WorkSpaces 애플리케이션의 기본 애플리케이션 및 Windows 설정과 애플리케이션 시작 성능](customizing-appstream-images.md).

# Image Assistant CLI 작업을 사용하여 애플리케이션 시작 성능 최적화
<a name="optimize-app-launch-performance-image-assistant-cli"></a>

WorkSpaces 애플리케이션을 사용하면 사용자의 스트리밍 세션에 맞게 애플리케이션의 시작 성능을 최적화할 수 있습니다. 이를 위해 Image Assistant CLI 작업을 사용할 때 애플리케이션 시작에 최적화할 파일을 지정할 수 있습니다. 애플리케이션 최적화 매니페스트에 파일을 추가하면 애플리케이션이 새 플릿 인스턴스에서 처음 시작할 때 걸리는 시간이 단축됩니다. 그러나 이 때문에 사용자에게 새 플릿 인스턴스가 제공되기까지 걸리는 시간은 증가합니다. 최적화 매니페스트는 애플리케이션마다 있는 줄로 구분된 텍스트 파일입니다.

**참고**  
Image Assistant CLI 작업과 Image Assistant GUI를 모두 사용하여 애플리케이션 최적화 매니페스트를 온보딩할 경우 매니페스트가 병합됩니다.

다음은 애플리케이션 최적화 매니페스트 파일의 예시입니다.

```
C:\Program Files (x86)\Notepad++\autoCompletion
C:\Program Files (x86)\Notepad++\localization
C:\Program Files (x86)\Notepad++\plugins
C:\Program Files (x86)\Notepad++\themes
C:\Program Files (x86)\Notepad++\updater
C:\Program Files (x86)\Notepad++\userDefineLangs
C:\Program Files (x86)\Notepad++\change.log
C:\Program Files (x86)\Notepad++\config.xml
C:\Program Files (x86)\Notepad++\contextMenu.xml
C:\Program Files (x86)\Notepad++\doLocalConf.xml
C:\Program Files (x86)\Notepad++\functionList.xml
C:\Program Files (x86)\Notepad++\langs.model.xml
C:\Program Files (x86)\Notepad++\license.txt
C:\Program Files (x86)\Notepad++\notepad++.exe
C:\Program Files (x86)\Notepad++\readme.txt
C:\Program Files (x86)\Notepad++\SciLexer.dll
C:\Program Files (x86)\Notepad++\shortcuts.xml
C:\Program Files (x86)\Notepad++\stylers.model.xml
```

애플리케이션의 시작 성능을 최적화하는 방법에 대한 자세한 내용은 [Amazon WorkSpaces 애플리케이션의 기본 애플리케이션 및 Windows 설정과 애플리케이션 시작 성능](customizing-appstream-images.md)의 *애플리케이션의 시작 성능 최적화*를 참조하세요.

# 프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성을 위한 프로세스 개요
<a name="process-overview-creating-image-programmatically-image-assistant-cli"></a>

Image Assistant CLI 작업을 애플리케이션 설치 자동화와 함께 사용하여 완전히 프로그래밍된 WorkSpaces 애플리케이션 이미지 생성 워크플로를 생성할 수 있습니다. 애플리케이션 설치 자동화가 완료된 후, 이미지가 생성되기 전에 Image Assistant CLI 작업을 사용해 다음을 지정합니다.
+ 최종 사용자가 시작할 수 있는 실행 파일
+ 애플리케이션에 대한 최적화 매니페스트
+ 기타 WorkSpaces 애플리케이션 이미지 메타데이터

다음 개요에서는 WorkSpaces 애플리케이션 이미지를 프로그래밍 방식으로 생성하는 프로세스를 설명합니다.

1. 애플리케이션 설치 자동화를 사용하여 이미지 빌더에 필요한 애플리케이션을 설치합니다. 이 설치는 최종 사용자가 시작할 애플리케이션, 모든 종속성 및 백그라운드 애플리케이션을 포함할 수 있습니다.

1. 최적화할 파일 및 폴더를 결정합니다.

1. 해당하는 경우 Image Assistant `add-application` CLI 작업을 사용하여 WorkSpaces 애플리케이션 이미지에 대한 애플리케이션 메타데이터 및 최적화 매니페스트를 지정합니다.

1. WorkSpaces 애플리케이션 이미지에 추가 애플리케이션을 지정하려면 필요에 따라 각 애플리케이션에 대해 1\$13단계를 반복합니다.

1. 해당될 경우, Image Assistant `update-default-profile` CLI 작업을 사용하여 기본 Windows 프로파일을 덮어쓰고 최종 사용자용 기본 애플리케이션 및 Windows 설정을 생성합니다.

1. Image Assistant `create-image` CLI 작업을 사용하여 이미지를 생성합니다.

# Amazon WorkSpaces 애플리케이션 이미지 생성 및 관리를 위한 Image Assistant CLI 작업
<a name="cli-operations-managing-creating-image-image-assistant"></a>

이 섹션에서는 WorkSpaces 애플리케이션 이미지를 생성하고 관리하는 데 사용할 수 있는 Image Assistant CLI 작업에 대해 설명합니다.

Windows 이미지 빌더에서 명령줄 인터페이스를 포함하는 실행 파일은 C:\$1Program Files\$1Amazon\$1Photon\$1ConsoleImageBuilder\$1Image-Assistant.exe에 있습니다. 사용자 편의를 위해 이 실행 파일이 Windows PATH 변수에 포함되어 있습니다. 그러므로 실행 파일의 절대 경로를 지정하지 않고 Image Assistant CLI 작업을 호출할 수 있습니다. 이들 작업을 호출하려면 **image-assistant.exe** 명령을 입력합니다.

Linux 이미지 빌더에서 이미지 어시스턴트 도구는 /usr/local/appstream/image-assistant/AppStreamImageAssistant에 있으며, 심볼릭 링크는 /bin/AppStreamImageAssistant에 있습니다.

## `help` 작업
<a name="help-operation-image-assistant-cli"></a>

모든 Image Assistant CLI 작업의 목록을 검색합니다. 목록의 각 작업의 경우, 설명 및 사용 구문이 제공됩니다. 특정 작업에 대한 도움말을 표시하려면 작업의 이름을 입력하고 **--help** 파라미터를 지정합니다. 예제:

```
add-application --help
```

**시놉시스**

```
help
```

**출력**

사용 가능한 작업의 목록을 각 기능 설명과 함께 표준 출력으로 출력합니다.

## `add-application` 작업
<a name="add-application-operation-image-assistant-cli"></a>

WorkSpaces 애플리케이션 사용자의 애플리케이션 목록에 애플리케이션을 추가합니다. 이 목록의 애플리케이션은 애플리케이션 카탈로그에 포함되어 있습니다. 사용자가 WorkSpaces 애플리케이션 스트리밍 세션에 로그인하면 애플리케이션 카탈로그가 표시됩니다.

**참고**  
애플리케이션 구성을 변경해야 하는 경우 애플리케이션을 제거하고 업데이트된 설정이 적용된 애플리케이션을 추가하세요.

**시놉시스**

```
add-application
--name <value>
--absolute-app-path <value>
[--display-name <value>]
[--absolute-icon-path <value>]
[--working-directory <value>]
[--launch-parameters <""-escaped value>]
[--absolute-manifest-path <value>]
```

**옵션**

**`--name`(문자열)**  
애플리케이션의 고유한 이름입니다. 최대 길이는 256자입니다. 최대 50개 애플리케이션을 추가할 수 있습니다. 공백 문자는 사용할 수 없습니다.

**`--absolute-app-path`(문자열)**  
애플리케이션에 대한 실행 파일, 배치 파일 또는 스크립트의 절대 경로입니다. 이 경로는 유효한 파일을 가리켜야 합니다.

**`--display-name`(문자열)**  
애플리케이션 카탈로그에서 애플리케이션에 표시할 이름입니다. 표시 이름을 지정하지 않으면 WorkSpaces 애플리케이션은 실행 파일 이름에서 파생된 이름을 생성합니다. 이 이름은 파일 확장명 없이 생성되며 공백 대신 밑줄이 들어갑니다. 최대 길이는 256자입니다.

**`--absolute-icon-path`(문자열)**  
애플리케이션 아이콘의 절대 경로입니다. 이 경로는 .jpg, .png 또는 .bmp 형식 중 하나인 유효한 아이콘 파일을 가리켜야 합니다. 최대 크기는 256px x 256px입니다. 경로를 지정하지 않으면 실행 파일에 대한 기본 아이콘이 사용됩니다(사용 가능한 경우). 실행 파일에 기본 아이콘을 사용할 수 없는 경우 기본 WorkSpaces 애플리케이션 아이콘이 사용됩니다.

**`--working-directory`(문자열)**  
애플리케이션이 시작될 때 애플리케이션의 초기 작업 디렉터리입니다.

**`--absolute-manifest-path`(문자열)**  
새로운 줄로 구분된 텍스트 파일의 경로입니다. 이 파일은 스트리밍을 위해 사용자에게 플릿 인스턴스를 제공하기 전에 최적화할 파일의 절대 경로를 지정합니다. 이 경로는 유효한 텍스트 파일을 가리켜야 합니다.

**메시지 출력**


| 종료 코드 | 표준 출력으로 출력된 메시지 | 설명 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  애플리케이션이 성공적으로 추가되었습니다. | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  작업을 완료하려면 관리자 권한이 필요합니다. | 
| 1 |  \$1"status": 1, "message": "Unable to add more than 50 apps to the catalog."\$1  |  WorkSpaces 애플리케이션 카탈로그에 추가할 수 있는 최대 애플리케이션 수가 50개이므로 애플리케이션을 추가할 수 없습니다. | 
| 1 |  \$1"status": 1, "message": "Name is not unique"\$1  |  해당 이름의 애플리케이션이 WorkSpaces 애플리케이션 카탈로그에 이미 있습니다. | 
| 1 |  \$1"status": 1, "message": "File not found (absolute-app-path)"\$1  |  absolute-app-path에 지정된 파일을 찾을 수 없습니다. | 
| 1 |  \$1"status": 1, "message": "Unsupported file extension"\$1  |  Absolute-app-path 파라미터는 .exe 및 .bat 파일 형식만 지원합니다. | 
| 1 |  \$1"status": 1, "message": "Directory not found (working-directory)" |  working-directory에 지정된 디렉터리를 찾을 수 없습니다. | 
| 1 |  \$1"status": 1, "message": "Optimization-manifest not found: <filename>"\$1  |  optimization-manifest에 지정된 파일을 찾을 수 없습니다. | 
| 1 |  \$1"status": 1, "message": "File not found: <filename>"\$1  |  최적화 매니페스트에 지정된 파일을 찾을 수 없습니다. | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속되면 AWS Support 에 문의하여 도움을 받으세요. 자세한 내용은 [AWS Support Center](https://console.aws.amazon.com/support/home#/)를 참조하세요. | 

## `remove-application` 작업
<a name="remove-application-operation-image-assistant-cli"></a>

WorkSpaces 애플리케이션 이미지의 애플리케이션 목록에서 애플리케이션을 제거합니다. 애플리케이션은 제거되거나 수정되지 않지만 사용자는 WorkSpaces 애플리케이션 카탈로그에서 애플리케이션을 시작할 수 없습니다.

**시놉시스**

```
remove-application
--name <value>
```

**옵션**

**`--name`(문자열)**  
제거할 애플리케이션의 고유한 식별자입니다.

**메시지 출력**


| 종료 코드 | 표준 출력으로 출력된 메시지 | 설명 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  애플리케이션이 성공적으로 제거되었습니다. | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  작업을 완료하려면 관리자 권한이 필요합니다. | 
| 1 |  \$1"status": 1, "message": "App not found"\$1  |  지정된 애플리케이션을 WorkSpaces 애플리케이션 애플리케이션 카탈로그에서 찾을 수 없습니다. | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속되면 AWS Support 에 문의하여 도움을 받으세요. 자세한 내용은 [AWS Support Center](https://console.aws.amazon.com/support/home#/)를 참조하세요. | 

## `list-applications` 작업
<a name="list-applications-operation-image-assistant-cli"></a>

애플리케이션 카탈로그에 지정된 모든 애플리케이션을 나열합니다.

**시놉시스**

```
list-applications
```

**메시지 출력**


| 종료 코드 | 표준 출력으로 출력된 메시지 | 설명 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success", "applications": [ \$1..app1.. \$1, \$1 ..app2.. \$1]\$1  |  WorkSpaces 애플리케이션 카탈로그의 애플리케이션 목록입니다. | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속되면 AWS Support 에 문의하여 도움을 받으세요. 자세한 내용은 [AWS Support Center](https://console.aws.amazon.com/support/home#/)를 참조하세요. | 

## `update-default-profile` 작업
<a name="update-default-profile-image-assistant-cli"></a>

지정된 Windows 사용자의 프로필을 Windows 기본 사용자 프로필로 복사합니다. 스트리밍하는 새로운 사용자가 지정된 프로필에 저장된 설정을 상속합니다.

**참고**  
Linux 이미지 어시스턴트 CLI 도구에서는 이 작업을 지원하지 않습니다.

**시놉시스**

```
update-default-profile
[--profile <value>]
```

**옵션**

**`--profile`(문자열)**  
Windows 기본 사용자 프로필로 Windows 프로필이 복사된 사용자의 이름입니다. 이름에는 다음 형식을 사용합니다.  
"<domain>\$1<username>"  
이미지 빌더가 Microsoft Active Directory 도메인에 가입되지 않았으면 도메인에 마침표(".")를 입력합니다. 사용자를 지정하지 않으면 WorkSpaces 애플리케이션 템플릿 사용자 계정이 사용됩니다.

**메시지 출력**


| 종료 코드 | 표준 출력으로 출력된 메시지 | 설명 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  사용자 설정이 기본 Windows 프로필에 성공적으로 복사되었습니다. | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  작업을 완료하려면 관리자 권한이 필요합니다. | 
| 1 |  \$1"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"\$1  |  파일 또는 폴더가 없어 사용자 설정을 복사하지 못했습니다. | 
| 1 |  \$1"status": 1, "message": "Cannot copy a domain user when not joined to a domain""\$1  |  Microsoft Active Directory 도메인 사용자가 지정되었지만 이미지 빌더가 Active Directory 도메인에 가입되지 않았습니다. | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속되면 AWS Support 에 문의하여 도움을 받으세요. 자세한 내용은 [AWS Support Center](https://console.aws.amazon.com/support/home#/)를 참조하세요. | 

## `reset-user-profile` 작업
<a name="reset-user-profile-image-assistant-cli"></a>

지정된 사용자의 Windows 사용자 프로필을 삭제합니다.

**참고**  
Linux 이미지 어시스턴트 CLI 도구에서는 이 작업을 지원하지 않습니다.

**시놉시스**

```
reset-user-profile
[--profile <value>]
```

**옵션**

**`--profile`(문자열)**  
Windows 프로필이 삭제될 Windows 사용자의 이름입니다. 이름에는 다음 형식을 사용합니다.  
"<domain>\$1<username>"  
이미지 빌더가 Microsoft Active Directory 도메인에 가입되지 않았으면 도메인에 마침표(".")를 입력합니다.

**메시지 출력**


| 종료 코드 | 표준 출력으로 출력된 메시지 | 설명 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  지정된 사용자 설정이 성공적으로 삭제되었습니다. | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  작업을 완료하려면 관리자 권한이 필요합니다. | 
| 1 |  \$1"status": 1, "message": "Unable to copy file or folder: <path>. <reason>"\$1  |  파일 또는 폴더가 없어 사용자 설정을 재설정하지 못했습니다. | 
| 1 |  \$1"status": 1, "message": "Cannot copy a domain user when not joined to a domain""\$1  |  Microsoft Active Directory 도메인 사용자가 지정되었지만 이미지 빌더가 Active Directory 도메인에 가입되지 않았습니다. | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속되면 AWS Support 에 문의하여 도움을 받으세요. 자세한 내용은 [AWS Support Center](https://console.aws.amazon.com/support/home#/)를 참조하세요. | 

## `create-image` 작업
<a name="create-image-operation-image-assistant-cli"></a>

이미지 생성 워크플로를 시작하여 WorkSpaces 애플리케이션 플릿에 사용할 수 있는 WorkSpaces 애플리케이션 이미지를 생성합니다.

**시놉시스**

```
create-image
--name <value>
[--description <value>]
[--display-name <value>]
[--enable-dynamic-app-catalog] | [--no-enable-dynamic-app-catalog]
[--use-latest-agent-version] | [--no-use-latest-agent-version]            
[--tags <value>]
[--dry-run]
```

**옵션**

**`--name`(문자열)**  
WorkSpaces 애플리케이션 이미지의 이름입니다. 이름은 Amazon Web Services 계정 및 AWS 리전 내에서 고유해야 합니다. 최대 길이는 100자입니다. 허용되는 문자는 다음과 같습니다.  
a\$1z, A\$1Z, 0\$19, 밑줄(\$1), 하이픈(-) 및 마침표(.)  
이미지 이름은 'aws', 'appstream', 'amazon’과 같은 접두사로 시작할 수 없습니다. 이러한 접두사는 AWS 용으로 예약되어 있습니다.

**`--description`(문자열)**  
이미지에 표시할 설명입니다. 최대 길이는 256자입니다.

**`--display-name`(문자열)**  
이미지에 표시할 이름입니다. 최대 길이는 256자입니다.

**`--enable-dynamic-app-catalog` \$1 `--no-enable-dynamic-app-catalog`**  
WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크에 대한 지원을 활성화하거나 비활성화합니다. 두 파라미터 중 하나를 지정하지 않으면 동적 애플리케이션 프레임워크에 대한 지원이 활성화되지 않습니다.  
동적 애플리케이션 프레임워크는 동적 앱 공급자를 구축하는 데 사용할 수 있는 WorkSpaces 애플리케이션 스트리밍 인스턴스 내의 작업을 제공합니다. 동적 앱 공급자는 이들 작업을 사용해 사용자가 실시간으로 액세스하는 애플리케이션의 카탈로그를 수정할 수 있습니다. 자세한 내용은 [WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크를 사용하여 동적 앱 공급자 구축](build-dynamic-app-provider.md) 단원을 참조하십시오.

**`--use-latest-agent-version` \$1 `--no-use-latest-agent-version`**  
이미지를 현재 설치된 WorkSpaces 애플리케이션 에이전트의 버전에 고정할지 아니면 항상 최신 에이전트 버전을 사용할지 지정합니다. 두 파라미터 중 하나를 지정하지 않으면 이미지가 현재 설치된 WorkSpaces 애플리케이션 에이전트 버전에 고정됩니다. 자세한 내용은 [WorkSpaces 애플리케이션 에이전트 버전 관리](base-images-agent.md) 단원을 참조하십시오.

**`--tags`(문자열)**  
이미지와 연결할 태그입니다. 태그는 키-값 쌍입니다. 다음 형식을 사용합니다.  
--tags "mykey" "myval" "mykey2" "myval2"  
태그에 대한 자세한 내용은 [Amazon WorkSpaces 애플리케이션 리소스에 태그 지정](tagging-basic.md) 섹션을 참조하세요.

**`--dry-run`(문자열)**  
이미지를 생성하지 않고 유효성 검사를 수행합니다. 이미지를 생성하기 전에 이 명령을 사용하여 이미지에 문제가 있는지 확인합니다.

**메시지 출력**


| 종료 코드 | 표준 출력으로 출력된 메시지 | 설명 | 
| --- | --- | --- | 
| 0 |  \$1"status": 0, "message": "Success"\$1  |  이미지를 생성하는 워크플로가 성공적으로 시작되었습니다. | 
| 1 |  \$1"status": 1, "message": "Administrator privileges are required to perform this operation"\$1  |  작업을 완료하려면 관리자 권한이 필요합니다. | 
| 1 |  \$1"status": 1, "message": "An image with the given name already exists"\$1  |  지정된 이름의 이미지가 Amazon Web Services 계정에 이미 있습니다. | 
| 1 |  \$1"status": 1, "message": "Invalid value (tags)"\$1  |  지정된 태그가 잘못되었습니다. | 
| 255 |  \$1"status": 255, "message": <error message>\$1  |  예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속되면 AWS Support 에 문의하여 도움을 받으세요. 자세한 내용은 [AWS Support Center](https://console.aws.amazon.com/support/home#/)를 참조하세요. | 

# Linux 기반 이미지 만들기
<a name="create-linux-based-images"></a>

Linux 이미지 빌더에 연결하고, 필요한 애플리케이션을 설치하고, 기본 애플리케이션 설정 및 환경 변수를 생성하고, 명령줄 인터페이스(CLI) 도구 또는 Image Assistant(GUI) 도구를 사용하여 이러한 애플리케이션을 애플리케이션 카탈로그에 추가하여 Linux 기반 Amazon WorkSpaces 애플리케이션 이미지를 생성할 수 있습니다. GUI 도구를 열려면 애플리케이션 목록에서 **Image Assistant**를 검색합니다.

**Topics**
+ [사용자를 위한 기본 애플리케이션 설정 만들기](create-default-app-settings.md)
+ [Linux 사용자를 위한 기본 환경 변수 생성](create-default-variables-linux.md)
+ [Linux 애플리케이션의 시작 성능 최적화](optimize-launch-performance.md)
+ [세션 스크립트 생성](create-session-scripts.md)
+ [Linux용 Image Assistant CLI 도구 사용](image-assistant-cli.md)
+ [웹캠 지원 활성화 및 비활성화](webcam-support.md)
+ [홈 폴더용 헤비 파일 동기화 모드 활성화 및 비활성화](heavy-file-sync.md)
+ [자습서: 사용자 지정 Linux 기반 WorkSpaces 애플리케이션 이미지 생성](tutorial-create-linux-image.md)
+ [자습서: Linux 이미지에 일본어 지원 활성화](enable-japanese-support-linux.md)

# 사용자를 위한 기본 애플리케이션 설정 만들기
<a name="create-default-app-settings"></a>

다음 단계에 따라 사용자를 위한 기본 애플리케이션 설정을 만들 수 있습니다.

**Topics**
+ [1단계: 이미지 빌더에 Linux 애플리케이션 설치](#app-settings-image-install)
+ [2단계: TemplateUser 계정 생성](#app-settings-template-user)
+ [3단계: 기본 애플리케이션 설정 만들기](#app-settings-image-create-default-app-settings)
+ [4단계: 기본 애플리케이션 설정 저장](#app-settings-image-save-default-app-settings)
+ [5단계: 기본 애플리케이션 설정 테스트(선택 사항)](#app-settings-image-test-applications)
+ [6단계: 정리](#app-settings-image-finish)

## 1단계: 이미지 빌더에 Linux 애플리케이션 설치
<a name="app-settings-image-install"></a>

이 단계에서는 Linux 이미지 빌더에 연결하고 이미지 빌더에 애플리케이션을 설치합니다.

**이미지 빌더에 애플리케이션을 설치하려면**

1. 다음 중 하나를 수행하여 이미지 빌더에 연결합니다.
   + [WorkSpaces 애플리케이션 콘솔 사용](managing-image-builders-connect-console.md)(웹 연결에만 해당)
   + [스트리밍 URL 생성](managing-image-builders-connect-streaming-URL.md)(웹 또는 WorkSpaces 애플리케이션 클라이언트 연결용)
**참고**  
Amazon Linux GNOME 데스크톱에 ImageBuilderAdmin 사용자로 로그인하고 루트 관리자 권한을 갖게 됩니다.

1. 필요한 애플리케이션을 설치합니다. 예를 들어 퍼블릭 yum 리포지토리에서 Chromium 브라우저를 설치하려면 먼저 터미널 애플리케이션을 열고 다음 명령을 실행합니다.

   **[ImageBuilderAdmin]\$1 sudo yum update && sudo yum install chromium.x86\$164** 

## 2단계: TemplateUser 계정 생성
<a name="app-settings-template-user"></a>

이 단계에서는 스트리밍 사용자를 위한 기본 애플리케이션 설정을 생성하는 TemplateUser 계정을 생성합니다.

**TemplateUser 계정을 만드는 방법**

1. 루트 권한이 없는 TemplateUser 계정을 생성합니다. 예를 들어 터미널 창에서 다음 명령을 실행하여 이미지 빌더에서 TemplateUser를 생성합니다.

   **[ImageBuilderAdmin]\$1 sudo useradd -m TemplateUser** 

   **[ImageBuilderAdmin]\$1 echo -e '<*password*>\$1n<*password*>\$1n' \$1 sudo passwd TemplateUser**

1. TemplateUser 계정으로 전환합니다.

   **[ImageBuilderAdmin]\$1 su - TemplateUser** 

## 3단계: 기본 애플리케이션 설정 만들기
<a name="app-settings-image-create-default-app-settings"></a>

이 단계에서는 WorkSpaces 애플리케이션 사용자를 위한 기본 애플리케이션 설정을 생성합니다. 이렇게 하면 사용자가 WorkSpaces 애플리케이션 스트리밍 세션 중에 이러한 설정을 직접 생성하거나 구성할 필요 없이 애플리케이션을 빠르게 시작할 수 있습니다.

**사용자의 기본 애플리케이션 설정을 만드는 방법**

1. 기본 설정을 만들려는 애플리케이션을 시작합니다. 예를 들어 터미널 창에서 다음 명령을 실행하여 Chromium 브라우저를 시작합니다.

    **[TemplateUser]\$1 chromium-browser**

1. 애플리케이션의 설정을 구성합니다. 예를 들어 Chromium 브라우저의 홈 페이지를 **https://aws.amazon.com**으로 설정합니다.

1. 애플리케이션을 닫습니다.

1. 로그아웃:

   **[TemplateUser]\$1 logout** 

## 4단계: 기본 애플리케이션 설정 저장
<a name="app-settings-image-save-default-app-settings"></a>

이 단계에서는 **/etc/skel/** 디렉터리에 추가한 기본 애플리케이션 설정을 복사하여 스트리밍 사용자가 사용할 수 있도록 합니다.

**기본 애플리케이션 설정을 저장하는 방법**
+ 터미널 창에서 다음 명령을 실행하여 스트리밍 사용자를 위한 기본 애플리케이션 설정을 복사합니다.

   **[ImageBuilderAdmin]\$1 sudo cp -r -f /home/TemplateUser/. /etc/skel**

## 5단계: 기본 애플리케이션 설정 테스트(선택 사항)
<a name="app-settings-image-test-applications"></a>

이 단계에서는 추가한 애플리케이션이 제대로 실행되고 기본 애플리케이션 설정이 예상대로 작동하는지 확인합니다.

**이미지 빌더에서 애플리케이션 및 기본 설정을 테스트하는 방법**

1. 루트 권한이 없는 테스트 사용자를 만듭니다. 예를 들어 **터미널** 창에서 다음 명령을 실행하여 이미지 빌더에서 **test-user**를 생성합니다.

   **[ImageBuilderAdmin]\$1 sudo useradd -m test-user**

   **[ImageBuilderAdmin]\$1 echo -e '*password*>\$1n<*password*>\$1n' \$1 sudo passwd test-user** 

1. 테스트 사용자로 전환합니다.

   **[ImageBuilderAdmin]\$1 su - test-user**

1. 테스트 사용자로 애플리케이션(예: Chromium)을 실행합니다.

   **[test-user]\$1 /usr/bin/chromium-browser** 

1. 테스트 사용자가 기본 설정을 사용할 수 있는지 확인합니다(예: Chromium 홈페이지는 https://aws.amazon.com/).

1. 로그아웃:

   **[test-user]\$1 logout**

## 6단계: 정리
<a name="app-settings-image-finish"></a>

마지막 단계는 정리입니다.

**정리하려면**

1. TemplateUser 삭제:

   **[ImageBuilderAdmin]\$1 sudo killall -u TemplateUser**

   **[ImageBuilderAdmin]\$1 sudo userdel -r TemplateUser**

1. test-user 삭제(5단계를 건너뛴 경우 필요 없음):

   **[ImageBuilderAdmin]\$1 sudo killall -u test-user**

   **ImageBuilderAdmin]\$1 sudo userdel -r test-user**

# Linux 사용자를 위한 기본 환경 변수 생성
<a name="create-default-variables-linux"></a>

Linux 이미지 빌더 인스턴스에서 환경 변수를 생성할 수 있습니다. 환경 변수를 만들면 해당 이미지로 만든 스트리밍 인스턴스에서 환경 변수를 사용할 수 있습니다.

**참고**  
Linux 플릿 인스턴스에서는 Image Assistant(GUI) 도구를 사용하여 설정한 환경 변수와 기본 시스템 환경 변수를 /etc/profile.d/appstream\$1system\$1vars.sh 스크립트를 통해 내보냅니다. 이러한 환경 변수에 액세스하려면 애플리케이션에서 /etc/profile.d/appstream\$1system\$1vars.sh 스크립트를 명시적으로 소싱해야 합니다.

**사용자를 위한 환경 변수를 생성하는 방법**

1. `/etc/profile` 폴더가 없는 경우 다음 명령을 실행하여 생성합니다.

   **[ImageBuilderAdmin]\$1 sudo mkdir -p /etc/profile.d** 

1. 이 폴더에 새 쉘 스크립트 파일(예: my-environment.sh)을 만들려면 다음 명령을 실행합니다.

   **[ImageBuilderAdmin]\$1 vim my-environment.sh**

1. 스크립트 파일의 첫 줄에 다음 내용을 추가합니다.

   **\$1\$1/bin/sh **

1. 이어지는 각 줄에 이미지의 환경 변수를 설정하는 **export** 명령을 추가합니다. 다음 예에서는 `PATH` 변수에 `$HOME/bin`을 추가합니다.

   **export PATH=”\$1HOME/bin:\$1PATH”**

1. **Esc** 키를 눌러 vim에서 명령 모드로 돌아간 다음 명령을 실행하여 스크립트를 저장하고 vim을 종료합니다.

   **:x**

1. 다음 명령을 실행하여 스크립트가 프로그램으로 실행되도록 허용합니다.

   **[ImageBuilderAdmin]\$1 chmod \$1x my-environment.sh**

# Linux 애플리케이션의 시작 성능 최적화
<a name="optimize-launch-performance"></a>

Image Assistant GUI 도구를 사용하는 경우 이 도구는 애플리케이션의 시작 성능을 자동으로 최적화합니다.

Image Assistant CLI를 사용하는 경우 다음 단계를 사용하여 시작 성능을 수동으로 최적화하세요. 파일을 생성하여 애플리케이션 최적화 매니페스트에 추가하면 새 플릿 인스턴스에서 처음 시작할 때 애플리케이션이 더 빠르게 실행됩니다. 그러나 이 때문에 사용자에게 새 플릿 인스턴스가 제공되기까지 걸리는 시간은 증가합니다. 최적화 매니페스트는 애플리케이션마다 있는 줄로 구분된 텍스트 파일 1개입니다.

수동으로 또는 아래 단계에 따라 매니페스트 파일(예: <*your-app>-manifest.txt*)을 생성할 수 있습니다.

**매니페스트 파일 생성 방법**

1. 최적화하려는 애플리케이션이 시작되어 실행 중인지 확인합니다.

1. Linux 이미지 빌더의 터미널에서 다음 명령을 실행합니다.

   **ps -ef \$1 grep <*application-process-name*>**

1. 마지막 단계 출력에서 가장 작은 PID 번호를 검색합니다. 애플리케이션의 루트 상위 프로세스에 대한 PID입니다.

1. 애플리케이션을 계속 실행하고 사용자에게 필요한 초기 구성 요소를 사용해야 합니다. 그러면 최적화 프로세스가 이러한 구성 요소를 캡처할 수 있습니다.

1. 다음 콘텐츠가 포함된 스크립트 파일(예: `~/getfilestool.sh`)을 생성합니다.

   ```
   #!/bin/bash
   ## usage getfilestool.sh $pid
   lsof -p $(pstree -p $1 | grep -o '([0-9]\+)' | grep -o '[0-9]\+' | tr '\012' ,)|grep REG | sed -n '1!p' | awk '{print $9}'|awk 'NF'
   ```

1. 다음 명령으로 파일을 실행할 수 있는지 확인합니다.

   **[ImageBuilderAdmin]\$1 chmod u\$1x \$1/getfilestool.sh**

1. 다음 명령을 실행하여 3단계에서 찾은 루트 상위 프로세스에서 실행 중인 모든 파일을 캡처하고 임시 매니페스트 파일에 저장합니다.

   **[ImageBuilderAdmin]\$1 sudo \$1/getfilestool.sh <*root-parent-pid*> > /tmp/<y*our-app*>-manifest.txt **

1. 각 애플리케이션의 줄로 구분된 텍스트 파일인 최적화 매니페스트의 내용을 확인합니다.

Image Assistant 명령줄 인터페이스(CLI) 도구를 사용하여 애플리케이션별로 최적화 매니페스트를 지정할 수 있습니다. 자세한 내용은 [Linux용 Image Assistant CLI 도구 사용](image-assistant-cli.md) 단원을 참조하십시오.

# 세션 스크립트 생성
<a name="create-session-scripts"></a>

WorkSpaces 애플리케이션은 Windows 및 Linux 기반 스트리밍 인스턴스 모두에서 온인스턴스 세션 스크립트를 제공합니다. 세션 스크립트에 대한 자세한 내용은 [세션 스크립트를 사용하여 Amazon WorkSpaces 애플리케이션 사용자의 스트리밍 환경 관리](use-session-scripts.md) 섹션을 참조하세요.

세션 스크립트는 WorkSpaces 애플리케이션 이미지 내에서 지정됩니다. Linux 인스턴스에서 세션 스크립트 구성 파일을 찾으려면 `/opt/appstream/SessionScripts/config.json`으로 이동하세요. 다음 코드는 이름이 '`test-session-start`'인 세션 시작 스크립트와 이름이 '`test-session-stop`'인 세션 종료 스크립트를 런타임 파라미터와 함께 지정하는 샘플 `config.json` 파일입니다. `config.json`에서 참조되는 스크립트에 실행 권한이 있고 명령 인터프리터가 정의되어 있는지 확인합니다(예: \$1\$1/bin/bash).

```
{
     "SessionStart": {
          "Executables": [
               {
                    "Context": "system",
                    "Filename": "/opt/appstream/SessionScripts/test-session-start",
                    "Arguments": "arg1",
                    "S3LogEnabled": true
               }
          ],
          "WaitingTime": 30
     },
     "SessionTermination": {
          "Executables": [
               { 
                    "Context": "system",
                    "Filename": "/opt/appstream/SessionScripts/test-session-stop", 
                    "Arguments": "arg2", 
                    "S3LogEnabled": true
               }
          ],
          "WaitingTime": 30
     }
}
```

# Linux용 Image Assistant CLI 도구 사용
<a name="image-assistant-cli"></a>

Linux 기반 이미지 빌더에서 Image Assistant CLI 도구 **AppStreamImageAssistant**를 사용하여 WorkSpaces 애플리케이션 이미지를 생성하고 관리할 수 있습니다. 도구는 `/usr/local/appstream/image-assistant/AppStreamImageAssistant`에 있으며 심볼릭 링크는 `/bin/AppStreamImageAssistant`에 있습니다. 이 Linux용 CLI 도구는 Windows용 Image Assistant CLI 도구와 동일한 작업 중 많은 작업을 지원합니다. 이러한 작업에 대한 자세한 내용은 [Amazon WorkSpaces 애플리케이션 이미지 생성 및 관리를 위한 Image Assistant CLI 작업](cli-operations-managing-creating-image-image-assistant.md) 섹션을 참조하세요.

# 웹캠 지원 활성화 및 비활성화
<a name="webcam-support"></a>

WorkSpaces 애플리케이션은 로컬 웹캠 비디오 입력을 WorkSpaces 애플리케이션 스트리밍 세션으로 리디렉션하여 실시간 오디오-비디오(AV)를 지원합니다. 이 기능을 사용하면 사용자가 WorkSpaces 애플리케이션 스트리밍 세션 내에서 비디오 및 오디오 회의에 로컬 웹캠을 사용할 수 있습니다. 실시간 AV 및 실시간 오디오 지원을 통해 사용자는 WorkSpaces 애플리케이션 스트리밍 세션을 종료하지 않고도 익숙한 비디오 및 오디오 회의 애플리케이션을 사용하여 협업할 수 있습니다.

이 기능을 사용하려면 2022년 9월 21일 이후에 릴리스된 Linux WorkSpaces 애플리케이션 에이전트를 사용하는 Linux WorkSpaces 애플리케이션 이미지를 사용해야 합니다.

**참고**  
Rocky Linux 또는 Red Hat Enterprise Linux로 구동되는 stream.standard.small 인스턴스에는 실시간 AV가 지원되지 않습니다. 따라서 클라이언트 도구 모음에 카메라 및 마이크 아이콘이 표시되지 않습니다.

Linux 스트리밍 세션에서는 실시간 AV 기능이 기본적으로 활성화됩니다. Linux 이미지 빌더에서 사용자의 웹캠 권한을 구성하려면 `/etc/appstream/appstream.conf`를 만들고 다음 내용을 추가하세요.

**참고**  
웹캠을 활성화하려면 **1**을, 웹캠을 비활성화하려면 **0**을 지정합니다.

```
[webcam]
permission = 1
```

# 홈 폴더용 헤비 파일 동기화 모드 활성화 및 비활성화
<a name="heavy-file-sync"></a>

조직에 홈 Amazon Simple Storage Service 폴더 옵션을 활성화할 수 있습니다. WorkSpaces 애플리케이션 스택에 대해 Amazon S3 홈 폴더를 활성화하면 스택 사용자는 애플리케이션 스트리밍 세션 중에 영구 스토리지 폴더에 액세스할 수 있습니다. 사용자가 해당 홈 폴더를 액세스하기 위해 추가로 설정해야 하는 구성은 없습니다. 홈 폴더에 사용자가 저장한 데이터는의 Amazon S3 버킷에 자동으로 백업 AWS 계정되며 후속 세션에서 해당 사용자가 사용할 수 있습니다. 자세한 내용은 [WorkSpaces 애플리케이션 사용자를 위한 홈 폴더 활성화 및 관리](home-folders.md) 단원을 참조하십시오.

원활한 환경을 보장하고 사용자가 스트리밍 인스턴스에서 홈 폴더로 대용량 텍스트 파일을 저장할 때 일관되지 않은 파일 동기화가 관찰될 수 있는 기존 제한 사항을 해결하기 위해 WorkSpaces 애플리케이션 관리자는 WorkSpaces 애플리케이션을 사용하는 동안 Amazon S3에 대용량 파일을 업로드하는 것이 일반적인 사용자 시나리오인 경우 **heavy\$1sync** 구성 옵션을 켤 수 있습니다. WorkSpaces 이 옵션을 켜면 홈 폴더 파일 동기화 프로세스가 약간 지연될 수 있지만 Amazon S3에 대한 모든 동기화의 완전성이 보장됩니다.

이 기능은 2024년 9월 12일 또는 그 이후에 릴리스된 Linux WorkSpaces 애플리케이션 에이전트를 사용하는 모든 Red Hat Enterprise Linux 이미지 및 Linux WorkSpaces 애플리케이션 이미지에서 사용할 수 있습니다.

헤비 동기화 기능은 기본적으로 Red Hat Enterprise Linux 및 Amazon Linux 스트리밍 세션에 대해 비활성화되어 있습니다. Red Hat Enterprise Linux or Amazon Linux 이미지 빌더에서 사용자의 헤비 동기화 권한을 구성하려면 `/etc/appstream/appstream.conf`를 생성하고 다음 내용을 추가합니다.

**참고**  
헤비 동기화를 활성화하려면 **1**을 지정하고, 헤비 동기화를 비활성화하려면 **0**을 지정합니다.

```
[storage]
heavy_sync = 1
```

# 자습서: 사용자 지정 Linux 기반 WorkSpaces 애플리케이션 이미지 생성
<a name="tutorial-create-linux-image"></a>

이 자습서에서는 사용자에게 스트리밍할 수 있는 애플리케이션이 포함된 사용자 지정 Linux 기반 Amazon WorkSpaces 애플리케이션 이미지를 생성하는 방법을 설명합니다.

**중요**  
이미지 빌더에서 "as2-streaming-user"라는 사용자를 생성하지 마세요. 플릿에 예약된 사용자 이름입니다. WorkSpaces 애플리케이션 워크플로 외부에서이 사용자 이름을 생성하면 플릿에서 스트리밍 문제가 발생할 수 있습니다.

**Topics**
+ [1단계: 이미지 빌더에 Linux 애플리케이션 설치](#tutorial-linux-image-install)
+ [2단계: 애플리케이션 최적화 매니페스트 파일 생성](#tutorial-linux-image-manifest)
+ [3단계: WorkSpaces 애플리케이션 애플리케이션 카탈로그 생성](#tutorial-linux-image-catalog)
+ [4단계: 기본 애플리케이션 설정 및 환경 변수 생성](#tutorial-linux-image-create-default-app-settings)
+ [5단계: 애플리케이션 및 설정 테스트](#tutorial-linux-image-test-applications)
+ [6단계: 이미지 생성 완료](#tutorial-linux-image-finish-create-image)
+ [7단계(선택 사항): 이미지 태그 및 복사](#tutorial-linux-image-tag-copy)
+ [8단계: 정리](#tutorial-linux-image-finish)

## 1단계: 이미지 빌더에 Linux 애플리케이션 설치
<a name="tutorial-linux-image-install"></a>

이 단계에서는 Linux 이미지 빌더에 연결하고 이미지 빌더에 애플리케이션을 설치합니다.

**이미지 빌더에 애플리케이션을 설치하려면**

1. 다음 중 하나를 수행하여 이미지 빌더에 연결합니다.
   + [WorkSpaces 애플리케이션 콘솔 사용](managing-image-builders-connect-console.md)(웹 연결에만 해당)
   + [스트리밍 URL 생성](managing-image-builders-connect-streaming-URL.md)(웹 또는 WorkSpaces 애플리케이션 클라이언트 연결용)
**참고**  
Amazon Linux GNOME 데스크톱에 ImageBuilderAdmin 사용자로 로그인하고 루트 관리자 권한을 갖게 됩니다.

1. 필요한 애플리케이션을 설치합니다. 예를 들어 퍼블릭 yum 리포지토리에서 Chromium 브라우저를 설치하려면 먼저 터미널 애플리케이션을 열고 다음 명령을 실행합니다.

   **[ImageBuilderAdmin]\$1 sudo yum update && sudo yum install chromium.x86\$164** 
**참고**  
신뢰할 수 있는 사이트에서만 애플리케이션을 다운로드하여 설치합니다.

## 2단계: 애플리케이션 최적화 매니페스트 파일 생성
<a name="tutorial-linux-image-manifest"></a>

이 단계에서는 1단계에서 설치한 각 애플리케이션에 대한 매니페스트 파일을 생성합니다.

**애플리케이션의 실행 성능을 최적화하기 위한 매니페스트 파일을 생성하는 방법**

1. 최적화하려는 애플리케이션(예: Chromium)이 시작되어 실행 중인지 확인합니다.

1. 터미널 창에서 다음 명령을 실행하여 애플리케이션과 관련된 프로세스를 나열합니다.

   **[ImageBuilderAdmin]\$1 ps -ef \$1 grep chromium **

1. 위 명령의 출력에서 루트 상위 PID를 찾습니다. 다음은 예시 출력이며, 루트 상위 PID는 16712입니다.  
**Example**  

   ```
   [ImageBuilderAdmin]$ ps -ef | grep chromium
   
   ImageBu+ 16712 4128 0 Aug26 ? 00:00:44 /usr/lib64/chromium- browser/chromium-browser --enable-plugins --enable-extensions -- enable-user- scripts --enable-printing --enable-gpu-rasterization -- enable-sync --auto-ssl- client-auth
   
   ImageBu+ 16726 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygote --no-zygote-sandbox ImageBu+ 16727 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium- browser --type=zygote
   
   ImageBu+ 16731 16727 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygot
   ```

1. 애플리케이션을 계속 실행하고 사용자에게 필요한 초기 구성 요소를 사용해야 합니다. 그러면 최적화 프로세스가 이러한 구성 요소를 캡처할 수 있습니다.

1. 다음 콘텐츠가 포함된 스크립트 파일(예: `~/getfilestool.sh`)을 생성합니다.

   ```
   #!/bin/bash
   ## usage getfilestool.sh $pid
   lsof -p $(pstree -p $1 | grep -o '([0-9]\+)' | grep -o '[0-9]\+' | tr '\012' ,)|grep REG | sed -n '1!p' | awk '{print $9}'|awk 'NF'
   ```

1. 다음 명령을 실행하여 파일을 실행할 수 있는지 확인합니다.

   **[ImageBuilderAdmin]\$1 chmod u\$1x \$1/getfilestool.sh** 

1. 다음 명령을 실행하여 위의 3단계에서 찾은 루트 상위 프로세스에서 실행 중인 모든 파일을 캡처하고 임시 매니페스트 파일에 저장합니다.

   **[ImageBuilderAdmin]\$1 sudo \$1/getfilestool.sh 16712 > /tmp/chromium-manifest.txt **

1. 각 애플리케이션의 줄로 구분된 텍스트 파일인 최적화 매니페스트의 내용을 확인합니다.

## 3단계: WorkSpaces 애플리케이션 애플리케이션 카탈로그 생성
<a name="tutorial-linux-image-catalog"></a>

이 단계에서는 이미지 빌더`AppStreamImageAssistant`의 CLI 도구를 사용하여 이미지에 대한 애플리케이션을 지정하여 WorkSpaces 애플리케이션 카탈로그를 생성합니다. 스트리밍하려는 각 애플리케이션에 대해 이름, 표시 이름, 시작할 실행 파일, 표시할 아이콘을 지정할 수 있습니다.

**WorkSpaces 애플리케이션 애플리케이션 카탈로그를 생성하려면**

1. 이미지 빌더 데스크톱에서 사이드 패널로부터 또는 앱 그리드를 열어 **터미널**을 엽니다.

1. **AppStreamImageAssistant --help**를 실행하여 사용 가능한 명령 목록을 확인합니다. 이 명령을 사용하여 애플리케이션을 추가하고 이미지를 생성합니다.

1. 다음 명령을 실행하여 WorkSpaces 애플리케이션 사용자의 애플리케이션 목록에 설치된 애플리케이션(예: Chromium)을 추가합니다.

   ```
   AppStreamImageAssistant add-application \
    --name Chromium \
    --absolute-app-path /usr/lib64/chromium-browser/chromium-browser \
    --display-name Chromium \
    --absolute-icon-path /usr/share/icons/hicolor/256x256/apps/chromium-browser.png \
    --absolute-manifest-path /tmp/chromium-manifest.txt
   ```

   또는 다음 명령을 실행합니다.

   ```
   AppStreamImageAssistant add-application \
    --name="Chromium" \
    --absolute-app-path="/usr/lib64/chromium-browser/chromium-browser" \
    --display-name="Chromium" \
    --absolute-icon-path="/usr/share/icons/hicolor/256x256/apps/chromium-browser.png" \
    --absolute-manifest-path="/tmp/chromium-manifest.txt"
   ```

1. 애플리케이션을 더 추가하려면 각 애플리케이션에 대해 3단계를 반복합니다.

1. 카탈로그에 추가된 애플리케이션 목록과 아이콘 경로, 실행 파라미터와 같은 메타데이터를 보려면 다음 명령을 실행합니다.

   **AppStreamImageAssistant list-applications**

1. 카탈로그에서 애플리케이션을 제거하려면 다음 명령을 실행합니다.

   **AppStreamImageAssistant remove-application –-name *application\$1name***

## 4단계: 기본 애플리케이션 설정 및 환경 변수 생성
<a name="tutorial-linux-image-create-default-app-settings"></a>

이 단계에서는 WorkSpaces 애플리케이션 사용자를 위한 기본 애플리케이션 설정 및 환경 변수를 생성합니다. 이렇게 하면 사용자가 WorkSpaces 애플리케이션 스트리밍 세션 중에 이러한 설정을 직접 생성하거나 구성할 필요 없이 애플리케이션을 빠르게 시작할 수 있습니다.

**사용자를 위한 기본 애플리케이션 및 환경 변수를 생성하는 방법**

1. 기본 설정을 만들려는 애플리케이션을 시작합니다. 예를 들어 터미널 창에서 다음 명령을 실행하여 Chromium 브라우저를 시작합니다.

    **[ImageBuilderAdmin]\$1 chromium-browser**

1. 애플리케이션의 설정을 구성합니다. 예를 들어 Chromium 브라우저의 홈 페이지를 **https://aws.amazon.com**으로 설정합니다.

1. Chromium 애플리케이션이 종료되었는지 확인한 후, 다음 명령어를 실행하여 Chromium 설정을 **/etc/skel**로 복사합니다.

   **[ImageBuilderAdmin]\$1 sudo mkdir /etc/skel/.config**

   **[ImageBuilderAdmin]\$1 sudo cp -R \$1/.config/chromium /etc/skel/.config** 

1. 환경 변수를 설정하고 스크립트 파일에 추가합니다. 예를 들어 다음 명령을 실행합니다.

   **[ImageBuilderAdmin]\$1 echo "export *FOO*=*BAR*" \$1 sudo tee -a /etc/profile.d/myenvvars.sh** 

   **[ImageBuilderAdmin]\$1 sudo chmod \$1x /etc/profile.d/myenvvars.sh** 

## 5단계: 애플리케이션 및 설정 테스트
<a name="tutorial-linux-image-test-applications"></a>

이 단계에서는 추가한 애플리케이션이 제대로 실행되고 기본 애플리케이션 설정과 환경 변수가 예상대로 작동하는지 확인합니다.

**이미지 빌더에서 애플리케이션 및 기본 설정을 테스트하는 방법**

1. 루트 권한이 없는 테스트 사용자를 만듭니다. 예를 들어 **터미널** 창에서 다음 명령을 실행하여 이미지 빌더에서 **test-user**를 생성합니다.

   **[ImageBuilderAdmin]\$1 sudo useradd -m test-user**

   **[ImageBuilderAdmin]\$1 echo -e 'Pa55w0rdas2\$1\$1\$1\$1nPa55w0rdas2\$1\$1\$1\$1n' \$1 sudo passwd test-user** 

1. 테스트 사용자로 전환합니다.

   **[ImageBuilderAdmin]\$1 su - test-user**

1. 테스트 사용자로 애플리케이션(예: Chromium)을 실행합니다.

   **[test-user]\$1 /usr/bin/chromium-browser** 

1. 테스트 사용자가 기본 설정을 사용할 수 있는지 확인합니다(예: Chromium 홈페이지는 https://aws.amazon.com/).

1. 테스트 사용자가 환경 변수를 사용할 수 있는지 확인합니다. 예를 들어 다음 명령을 실행합니다.

   **[test-user]\$1 echo \$1*FOO***

   이 명령은 ***BAR*** 터미널에 출력을 표시합니다.

1. 이 이미지 빌더에서 이미지를 생성하기 전에 다음 명령을 실행하여 테스트 사용자를 삭제합니다.

   **\$1 logout test user**

   **[test-user]\$1 logout**

   **\$1 kill test user's running processes**

   **[ImageBuilderAdmin]\$1 sudo killall -u test-user**

   **\$1 delete user**

   **[ImageBuilderAdmin]\$1 sudo userdel -r test-user**

## 6단계: 이미지 생성 완료
<a name="tutorial-linux-image-finish-create-image"></a>

이 단계에서는 이미지 이름을 선택하고 이미지 생성을 완료합니다.

**이미지를 생성하려면**

1. **터미널** 창에서 **AppStreamImageAssistant create-image**를 실행하여 이미지를 생성합니다. 이 이미지에는 설치 및 등록된 애플리케이션, 구성한 모든 세션 스크립트 및 기본 애플리케이션 설정이 들어 있습니다.

   사용 가능한 명령 목록을 확인하려면 **AppStreamImageAssistant create-image --help**를 실행합니다. 자세한 내용은 [Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 Amazon WorkSpaces 애플리케이션 이미지 생성](programmatically-create-image.md)의 **create-image**를 참조하세요.

1. 원격 세션이 잠시 후 연결 해제됩니다. **Lost Connectivity(연결 끊김)** 메시지가 표시되면 브라우저 탭을 닫습니다. 이미지가 생성되는 동안 이미지 빌더 상태는 **Snapshotting(스냅샷을 만드는 중)**으로 표시됩니다. 이 프로세스를 완료할 때까지 이미지 빌더에 연결할 수 없습니다.

1. 콘솔로 되돌아가 [**Images**], [**Image Registry**]를 선택합니다. 새 이미지가 목록에 나타나는지 확인합니다.

   이미지가 생성되는 동안 콘솔의 이미지 레지스트리에 있는 이미지 상태는 **Pending(대기 중)**으로 표시됩니다. **보류 중**중 상태인 이미지에는 연결할 수 없습니다.

1. **새로 고침** 아이콘을 선택하여 상태를 업데이트합니다. 이미지가 생성되면 이미지 상태가 **Available(사용 가능)**로 변경되고 이미지 빌더가 자동으로 중지됩니다.

   이미지 만들기를 계속하려면 이미지 빌더를 시작하고 콘솔에서 이미지 빌더에 연결하거나, 새 이미지 빌더를 만듭니다.

## 7단계(선택 사항): 이미지 태그 및 복사
<a name="tutorial-linux-image-tag-copy"></a>

이미지 생성 중에 또는 이미지를 생성한 후 이미지에 태그를 하나 이상 추가할 수 있습니다. 이미지를 동일한 리전 안에서 복사하거나 동일한 Amazon Web Services 계정 안의 새 리전으로 복사할 수도 있습니다. 그러나 소스 이미지를 복사하면 동일하지만 고유한 대상 이미지가 생성됩니다.는 사용자 정의 태그를 복사하지 AWS 않습니다. 그리고 AWS가 제공하는 기본 이미지가 아니라 사용자가 생성하는 사용자 지정 이미지만 복사할 수 있습니다.

**참고**  
동시에 2개의 이미지를 한 대상에 복사할 수 있습니다. 이미지를 복사하려는 대상이 이미지 한계에 도달한 경우, 오류가 발생합니다. 이 경우 이미지를 복사하려면 먼저 그 대상에서 이미지를 삭제해야 합니다. 대상이 이미지 할당량(한도라고도 함)보다 작으면 소스 리전에서 이미지 복사본을 시작합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션 Service Quotas](limits.md) 단원을 참조하십시오.

**기존 이미지에 태그를 추가하려면**

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 태그를 추가할 이미지를 선택합니다.

1. **태그**를 선택하고 **태그 추가/편집**을 선택한 후 **태그 추가**를 선택합니다. 태그의 키와 값을 지정한 다음 **저장**을 선택합니다.

자세한 내용은 [Amazon WorkSpaces 애플리케이션 리소스에 태그 지정](tagging-basic.md) 단원을 참조하십시오.

**이미지를 복사하려면**

지리적으로 분산된 리전들에 걸쳐 이미지를 복사하면 동일한 이미지에 기초하여 여러 리전의 애플리케이션들을 스트리밍할 수 있습니다. 사용자와 가까운 곳에서 애플리케이션을 스트리밍하면 WorkSpaces 애플리케이션을 사용하여 애플리케이션을 스트리밍하는 사용자 경험을 개선할 수 있습니다.

1. 탐색 창에서 [**Images**], [**Image Registry**]를 선택합니다.

1. 이미지 목록에서 복사하려는 이미지를 선택합니다.

1. [**Actions**], [**Copy**]를 선택합니다.

1. [**Copy Image**] 대화 상자에서 다음 정보를 지정한 다음 [**Copy Image**]를 선택합니다.
   + [**Destination region**]에서 새 이미지를 복사할 리전을 선택합니다.
   + **Name**에는 그 이미지가 대상에 복사될 때 갖게 될 이름을 지정합니다.
   + **Description**(선택 사항)에는 그 이미지가 대상에 복사될 때 갖게 될 설명 정보를 지정합니다.

1. 복사 작업의 진행률을 확인하려면 콘솔로 돌아가서 [**Images**], [**Image Registry**]로 이동합니다. 탐색 모음을 이용하여 대상 리전으로 전환하고, 이미지 목록에 새 이미지가 나타나는지 확인합니다.

   새 이미지는 처음에 콘솔의 이미지 레지스트리에 **Copying** 상태로 나타납니다. 이미지가 생성된 후에는 이미지 상태가 **사용 가능**으로 바뀝니다. 이 상태가 되면 이제 이미지를 사용하여 스택을 시작하고 애플리케이션을 스트리밍할 수 있습니다.

## 8단계: 정리
<a name="tutorial-linux-image-finish"></a>

마지막으로 이미지 빌더 실행을 중지하여 리소스를 비우고 의도하지 않은 계정 변경을 방지할 수 있습니다. 사용하지 않는 실행 중인 이미지 빌더를 모두 중단하는 것이 좋습니다. 자세한 내용은 [WorkSpaces 애플리케이션 요금을](https://aws.amazon.com/appstream2/pricing/) 참조하세요.

**실행 중인 이미지 빌더를 중단하려면**

1. 탐색 창에서 [**Images**], [**Image Builders**]를 선택하고 실행 중인 이미지 빌더 인스턴스를 선택합니다.

1. [**Actions**], [**Stop**]을 선택합니다.

# 자습서: Linux 이미지에 일본어 지원 활성화
<a name="enable-japanese-support-linux"></a>

이 자습서에서는 Linux 이미지에 대한 일본어 지원을 활성화하는 방법을 설명합니다. 이를 통해 이미지의 애플리케이션은 일본어 문자를 표시할 수 있고 스트리밍 사용자는 이미지의 스트리밍 세션에서 일본어 입력 방법을 사용할 수 있습니다.

**Topics**
+ [1단계: 일본어 글꼴 및 입력 방법 설치](#tutorial-japanese-font)
+ [2단계: 시스템 시간대 설정](#tutorial-japanese-zone)
+ [3단계: 시스템 로캘 및 표시 언어 설정](#tutorial-japanese-locale)
+ [4단계: 입력 방법 구성](#tutorial-japanese-input)
+ [5단계: 키보드 레이아웃 설정](#tutorial-japense-keyboard)
+ [6단계: 이미지 빌더에서 확인](#tutorial-japense-verify)
+ [7단계: 이미지 생성](#tutorial-japanese-create)

## 1단계: 일본어 글꼴 및 입력 방법 설치
<a name="tutorial-japanese-font"></a>

이 단계에서는 Linux 이미지 빌더를 연결하고 원하는 글꼴 및 입력 방법 패키지를 설치합니다.

**일본어 글꼴 및 입력 방법을 설치하는 방법**

1. 다음 중 하나를 수행하여 이미지 빌더에 연결합니다.
   + [WorkSpaces 애플리케이션 콘솔 사용](managing-image-builders-connect-console.md)(웹 연결에만 해당)
   + [스트리밍 URL 생성](managing-image-builders-connect-streaming-URL.md)(웹 또는 WorkSpaces 애플리케이션 클라이언트 연결용)
**참고**  
Amazon Linux GNOME 데스크톱에 ImageBuilderAdmin 사용자로 로그인하고 루트 관리자 권한을 갖게 됩니다.

1. 필요한 글꼴 및 입력 방법을 설치합니다. 이렇게 하려면 터미널 애플리케이션을 열고 다음 명령을 실행합니다.

   **sudo yum install vlgothic-p-fonts.noarch**

   **sudo yum install ibus-kkc.x86\$164**

1. 위의 명령 외에도 Rocky Linux 및 Red Hat Enterprise Linux의 경우 다음 명령을 실행합니다.

   **sudo yum install glibc-langpack-ja**

## 2단계: 시스템 시간대 설정
<a name="tutorial-japanese-zone"></a>

시스템 시간대를 설정하려면 다음 명령을 실행합니다.

**sudo timedatectl set-timezone "Asia/Tokyo"**

## 3단계: 시스템 로캘 및 표시 언어 설정
<a name="tutorial-japanese-locale"></a>

시스템 로캘과 표시 언어를 설정하려면 다음 명령을 실행합니다.

**시스템 로캘 및 표시 언어를 설정하는 방법**

1. **sudo vim /etc/cloud/cloud.cfg** 명령을 실행하여 `cloud-init config` 파일을 업데이트하고 **로캘**을 **locale: ja\$1JP.utf8**로 변경한 다음 파일을 저장하고 닫습니다.

1. **sudo localectl set-locale LANG=ja\$1JP.utf8**을 실행하여 시스템 설정을 업데이트합니다.

1. **sudo gsettings set org.gnome.system.locale region "ja\$1JP.utf8"**을 실행하여 Gnome 쉘 설정을 업데이트합니다.

## 4단계: 입력 방법 구성
<a name="tutorial-japanese-input"></a>

이미지에 추가하려는 애플리케이션의 입력 방법을 구성합니다. 애플리케이션 설치, 매니페스트 파일 생성 및 기본 설정 생성 방법에 대한 자세한 내용은 [자습서: 사용자 지정 Linux 기반 WorkSpaces 애플리케이션 이미지 생성](tutorial-create-linux-image.md) 섹션을 참조하세요. 이 단계에서는 `/usr/local/firefox/firefox`에 위치한 Firefox 애플리케이션을 이미 설치했다고 가정합니다.

**입력 방법을 구성하는 방법**

1. **sudo vim /usr/local/bin/update-input-method.sh** 명령을 실행하여 스크립트를 만들고 스크립트에 다음 내용을 추가합니다.

   ```
   #!/bin/bash
   
   function start_process()
   {
       command=$1
       process_name=$2
   
       process_count=$(pgrep $process_name -c)
       echo "$(date) current $process_name count: $process_count"
       while [ $process_count -lt 1 ]
       do
           echo "$(date) starting $process_name"
           eval $command
           sleep 1
           process_count=$(pgrep $process_name -c)
       done
       echo "$(date) $process_name started"
   }
   
   start_process "ibus-daemon --xim &" "ibus-daemon"
   start_process "/usr/libexec/ibus-engine-kkc --ibus &" "ibus-engine-kkc"
   
   gsettings set org.gnome.desktop.input-sources sources "[('ibus','kkc'), ('xkb', 'us')]"
   gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Control>space']"
   gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Control>space']"
   
   echo "$(date) updated input source and switch shortcut"
   ```

   위 스크립트에서는 첫 번째 입력 소스('ibus', 'kkc')가 기본 입력 방법입니다. 입력 소스의 순서를 변경하여 기본 입력 방법을 변경할 수 있습니다. 또한 입력 방법 간 전환을 위한 단축키 조합으로 'Control\$1Space'와 'Shift\$1Control\$1Space'가 지정되어 있습니다. 스트리밍 세션 중에 사용자가 입력 방법을 전환하는 데 사용할 수 있는 고유한 키 조합을 지정할 수 있습니다.

1. 이미지에 추가할 애플리케이션(Firefox)을 시작하기 위한 스크립트를 만듭니다. 이렇게 하려면 명령을 실행**sudo vim /usr/local/bin/firefox-jp.sh**한 다음 스크립트에 다음 콘텐츠를 추가합니다.

   ```
   #!/bin/bash
   
   # Gather required environment variables from the GNOME shell session
   while IFS= read -r -d $'\0' env_var; do
       case "$env_var" in
           DBUS_SESSION_BUS_ADDRESS=*|\
           GTK_IM_MODULE=*|\
           QT_IM_MODULE=*|\
           XMODIFIERS=*|\
           XAUTHORITY=*)
               echo "$env_var"
               export "$env_var"
               ;;
       esac
   done < "/proc/$(pgrep -u as2-streaming-user gnome-shell | head -n1)/environ"
   
   /usr/local/bin/update-input-method.sh > /var/tmp/update-input-method.log 2>&1 &
   
   /usr/local/firefox/firefox &
   ```

1. 다음 명령을 실행하여 두 스크립트에 실행 권한을 추가합니다.

   **sudo chmod \$1x /usr/local/bin/update-input-method.sh**

   **sudo chmod \$1x /usr/local/bin/firefox-jp.sh**

1. 애플리케이션에 대한 최적화 매니페스트 파일을 이미 생성한 경우 다음 명령을 실행하여 애플리케이션 카탈로그에 애플리케이션 실행 스크립트를 추가하세요.

   ```
   sudo AppStreamImageAssistant add-application \
   --name firefox \
   --absolute-app-path /usr/local/bin/firefox-jp.sh \
   --display-name firefox \
   --absolute-icon-path /usr/local/firefox/browser/chrome/icons/default/default128.png \
   --absolute-manifest-path /tmp/firefox-manifest.txt
   ```

또는 update-input-method.sh 스크립트를 이미지의 애플리케이션 카탈로그에 별도의 애플리케이션으로 추가하여 입력 방법을 구성할 수도 있습니다. 스트리밍 세션 중에 사용자는 이 애플리케이션을 실행하여 일본어 입력을 활성화하고 동일한 세션 내에서 지정된 단축키를 사용하여 입력 방법을 전환할 수 있습니다.

## 5단계: 키보드 레이아웃 설정
<a name="tutorial-japense-keyboard"></a>

사용자가 스트리밍 세션 중에 사용할 키보드와 일치하도록 키보드 레이아웃을 설정합니다. 예를 들어 **localectl list-keymaps** 명령을 사용하여 사용 가능한 모든 키맵을 나열하고 **sudo localectl set-keymap jp106** 명령을 사용하여 키맵을 106개 키의 일본어 키보드로 설정할 수 있습니다.

## 6단계: 이미지 빌더에서 확인
<a name="tutorial-japense-verify"></a>

이미지 빌더에서 확인하려면 먼저 **sudo shutdown -r now** 명령을 실행하여 이미지 빌더를 재부팅합니다. 재부팅한 후 이미지 빌더에 다시 연결하고 시간대, 로캘, 언어, 입력 방법 등 모든 항목이 예상대로 작동하는지 확인합니다.

## 7단계: 이미지 생성
<a name="tutorial-japanese-create"></a>

이미지 빌더에서 이미지를 생성합니다. 자세한 내용은 [자습서: 사용자 지정 Linux 기반 WorkSpaces 애플리케이션 이미지 생성](tutorial-create-linux-image.md) 단원을 참조하십시오. 방금 구성한 리전별 설정을 포함하여 기본 애플리케이션 설정을 생성해야 합니다. 자세한 내용은 [Linux 기반 이미지 만들기](create-linux-based-images.md)에서 '사용자를 위한 기본 애플리케이션 설정 만들기'를 참조하세요.

이 이미지에서 생성된 모든 Linux 플릿 인스턴스는 이미지에 구성한 것과 동일한 기본 시간대, 로캘, 언어 및 입력 방법 설정을 갖게 됩니다.

# 세션 스크립트를 사용하여 Amazon WorkSpaces 애플리케이션 사용자의 스트리밍 환경 관리
<a name="use-session-scripts"></a>

WorkSpaces 애플리케이션은 인스턴스 세션 스크립트를 제공합니다. 이러한 스크립트를 사용하여 사용자의 스트리밍 세션에서 특정 이벤트가 발생했을 때 자체 사용자 지정 스크립트를 실행할 수 있습니다. 예를 들어 사용자 지정 스크립트를 사용하여 사용자의 스트리밍 세션이 시작되기 전에 WorkSpaces 애플리케이션 환경을 준비할 수 있습니다. 또한 사용자 지정 스크립트를 사용하여 사용자가 스트리밍 세션을 완료한 후 스트리밍 인스턴스를 정리할 수도 있습니다.

세션 스크립트는 WorkSpaces 애플리케이션 이미지 내에서 지정됩니다. 이러한 스크립트는 사용자 컨텍스트 또는 시스템 컨텍스트 내에서 실행됩니다. 세션 스크립트가 표준 출력을 사용하여 정보, 오류 또는 디버깅 메시징을 쓰는 경우, Amazon Web Services 계정 내의 Amazon S3 버킷에 이러한 것을 저장할 수도 있습니다.

**Topics**
+ [스트리밍 세션이 시작되기 전에 스크립트 실행](run-scripts-before-streaming-sessions-begin.md)
+ [스트리밍 세션이 종료된 후 스크립트 실행](run-scripts-after-streaming-sessions-end.md)
+ [세션 스크립트 생성 및 지정](create-specify-session-scripts.md)
+ [세션 스크립트 구성 파일](session-script-configuration-file.md)
+ [Windows PowerShell 파일 사용](using-powershell-files-with-session-scripts.md)
+ [세션 스크립트 출력 로깅](logging-session-output.md)
+ [세션 스크립트와 함께 스토리지 커넥터 사용](use-storage-connectors-with-session-scripts.md)
+ [세션 스크립트 로그를 저장하기 위해 Amazon S3 버킷 스토리지 활성화](enable-S3-bucket-storage-session-script-logs.md)
+ [다중 세션 플릿에서 세션 스크립트 사용](session-scripts-multi-session-fleets.md)

# 스트리밍 세션이 시작되기 전에 스크립트 실행
<a name="run-scripts-before-streaming-sessions-begin"></a>

사용자의 애플리케이션이 시작되고 스트리밍 세션이 시작되기 전에 최대 60초 동안 스크립트가 실행되도록 구성할 수 있습니다. 이렇게 하면 사용자가 애플리케이션 스트리밍을 시작하기 전에 WorkSpaces 애플리케이션 환경을 사용자 지정할 수 있습니다. 세션 스크립트가 실행되면 사용자에게 로딩 회전자가 표시됩니다. 스크립트가 성공적으로 완료되거나 최대 대기 시간이 경과하면, 사용자의 스트리밍 세션이 시작됩니다. 스크립트가 성공적으로 완료되지 않은 경우 사용자에게 오류 메시지가 표시됩니다. 그러나 사용자의 스트리밍 세션 사용이 방해되지는 않습니다.

Windows 인스턴스에서 파일 이름을 지정할 때 이중 백슬래시를 사용해야 합니다. 예제:

C:\$1\$1Scripts\$1\$1Myscript.bat

이중 백슬래시를 사용하지 않으면 .json 파일이 잘못 포맷되었다는 오류가 표시됩니다.

**참고**  
스크립트가 성공적으로 완료되면 스크립트는 값 0을 반환합니다. 스크립트가 0 이외의 값을 반환하면 WorkSpaces 애플리케이션은 사용자에게 오류 메시지를 표시합니다.

스트리밍 세션이 시작되기 전에 스크립트를 실행하고 WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크가 활성화되지 않은 경우 다음 프로세스가 발생합니다.

![\[WorkSpaces Applications workflow diagram showing connection, application selection, and session launch steps.\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/images/session-scripts-without-DAF-non-domain-joined2.png)


1. 사용자는 도메인에 조인되지 않은 WorkSpaces 애플리케이션 플릿 인스턴스에 연결합니다. 사용자는 다음 액세스 방법 중 하나를 사용하여 연결합니다.
   + WorkSpaces 애플리케이션 사용자 풀
   + SAML 2.0
   + WorkSpaces 애플리케이션 API

1. 애플리케이션 카탈로그가 WorkSpaces 애플리케이션 포털에 표시되고 사용자가 시작할 애플리케이션을 선택합니다.

1. 다음 중 하나가 발생합니다.
   + 사용자에게 애플리케이션 설정 지속성이 활성화된 경우, 사용자의 사용자 지정 및 Windows 설정을 저장하는 애플리케이션 설정 VHD(가상 하드 디스크) 파일이 다운로드 및 탑재됩니다. 이 경우 Windows 사용자 로그인이 필요합니다.

     애플리케이션 설정 지속성에 대한 자세한 내용은 [WorkSpaces 애플리케이션 사용자에 대한 애플리케이션 설정 지속성 활성화](app-settings-persistence.md) 섹션을 참조하세요.
   + 애플리케이션 설정 지속성이 활성화되지 않은 경우, Windows 사용자가 이미 로그인한 것입니다.

1. 세션 스크립트가 시작됩니다. 사용자에게 영구 스토리지가 활성화된 경우, 스토리지 커넥터 탑재도 시작됩니다. 영구 스토리지에 대한 자세한 내용은 [WorkSpaces 애플리케이션 사용자를 위한 영구 스토리지 활성화 및 관리](persistent-storage.md) 섹션을 참조하세요.
**참고**  
스트리밍 세션을 시작하기 위해 스토리지 커넥터 탑재를 완료할 필요는 없습니다. 스토리지 커넥터 탑재가 완료되기 전에 세션 스크립트가 완료되면, 스트리밍 세션이 시작됩니다.  
스토리지 커넥터의 장착 상태 모니터링에 대한 자세한 내용은 [세션 스크립트와 함께 스토리지 커넥터 사용](use-storage-connectors-with-session-scripts.md) 섹션을 참조하세요.

1. 세션 스크립트가 완료되거나 시간 초과됩니다.

1. 사용자의 스트리밍 세션이 시작됩니다.

1. 사용자가 선택한 애플리케이션이 시작됩니다.

WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크에 대한 자세한 내용은 섹션을 참조하세요[WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크를 사용하여 동적 앱 공급자 구축](build-dynamic-app-provider.md).

스트리밍 세션이 시작되기 전에 스크립트를 실행하고 WorkSpaces 애플리케이션 동적 애플리케이션 프레임워크가 활성화되면 다음 프로세스가 발생합니다.

![\[WorkSpaces Applications workflow from user login to application launch, including SAML authentication and session scripts.\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/images/session-scripts-with-DAF-domain-joined2.png)


1. 사용자는 조직의 SAML 2.0 애플리케이션 포털을 방문하여 WorkSpaces 애플리케이션 스택을 선택합니다.

1. 도메인에 조인된 WorkSpaces 애플리케이션 플릿 인스턴스에 연결합니다.

1. 사용자에게 애플리케이션 설정 지속성이 활성화된 경우, 사용자의 사용자 지정 및 Windows 설정을 저장하는 애플리케이션 설정 VHD 파일이 다운로드 및 탑재됩니다.

1. Windows 사용자 로그온이 발생합니다.

1. 애플리케이션 카탈로그가 WorkSpaces 애플리케이션 포털에 표시되고 사용자가 시작할 애플리케이션을 선택합니다.

1. 세션 스크립트가 시작됩니다. 사용자에게 영구 스토리지가 활성화된 경우, 스토리지 커넥터 탑재도 시작됩니다.
**참고**  
스트리밍 세션을 시작하기 위해 스토리지 커넥터 탑재를 완료할 필요는 없습니다. 스토리지 커넥터 탑재가 완료되기 전에 세션 스크립트가 완료되면, 스트리밍 세션이 시작됩니다.  
스토리지 커넥터의 장착 상태 모니터링에 대한 자세한 내용은 [세션 스크립트와 함께 스토리지 커넥터 사용](use-storage-connectors-with-session-scripts.md) 섹션을 참조하세요.

1. 세션 스크립트가 완료되거나 시간 초과됩니다.

1. 사용자의 스트리밍 세션이 시작됩니다.

1. 사용자가 선택한 애플리케이션이 시작됩니다.

# 스트리밍 세션이 종료된 후 스크립트 실행
<a name="run-scripts-after-streaming-sessions-end"></a>

사용자의 스트리밍 세션이 종료된 후 스크립트가 실행되도록 구성할 수도 있습니다. 예를 들어 사용자가 WorkSpaces 애플리케이션 도구 모음에서 **세션 종료**를 선택하거나 세션에 허용되는 최대 기간에 도달하면 스크립트를 실행할 수 있습니다. 스트리밍 인스턴스가 종료되기 전에 이러한 세션 스크립트를 사용하여 WorkSpaces 애플리케이션 환경을 정리할 수도 있습니다. 예를 들어 스크립트를 사용하여 파일 잠금을 풀거나 로그 파일을 업로드할 수 있습니다. 스트리밍 세션이 종료된 후 스크립트를 실행하면, 다음 프로세스가 발생합니다.

![\[Flowchart showing WorkSpaces Applications session termination process with scripts and storage actions.\]](http://docs.aws.amazon.com/ko_kr/appstream2/latest/developerguide/images/session-scripts-termination.png)


1. 사용자의 WorkSpaces 애플리케이션 스트리밍 세션이 종료됩니다.

1. 세션 종료 스크립트가 시작됩니다.

1. 세션 종료 스크립트가 완료되거나 시간 초과됩니다.

1. Windows 사용자 로그아웃이 발생합니다.

1. 해당하는 경우 다음 중 하나 또는 둘 모두가 동시에 발생합니다.
   + 사용자에게 애플리케이션 설정 지속성이 활성화된 경우, 사용자의 사용자 지정 및 Windows 설정을 저장하는 애플리케이션 설정 VHD 파일이 탑재 해제되고 계정의 Amazon S3 버킷에 업로드됩니다.
   + 사용자에게 영구 스토리지가 활성화된 경우, 스토리지 커넥터가 최종 동기화를 완료하고 탑재 해제됩니다.

1. 플릿 인스턴스가 종료됩니다.

# 세션 스크립트 생성 및 지정
<a name="create-specify-session-scripts"></a>

올웨이즈 온, 온디맨드 및 Elastic 플릿에 대한 세션 스크립트를 구성하고 지정할 수 있습니다.

**올웨이즈 온 및 온디맨드 플릿용 세션 스크립트를 구성 및 지정하는 방법**

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 **이미지**, **이미지 빌더**를 선택합니다.

1. **실행 중** 상태인 이미지 빌더를 선택하고, **연결**을 선택합니다.

1. 메시지가 표시되면 **관리자**를 선택합니다.

1. `C:\AppStream\SessionScripts`로 이동하여 `config.json` 구성 파일을 엽니다.

   세션 스크립트 파라미터에 대한 자세한 내용은 [세션 스크립트 구성 파일](session-script-configuration-file.md) 섹션을 참조하세요.

1. 변경을 완료한 후, `config.json` 파일을 저장하고 닫습니다.

1. 이미지 빌더 바탕 화면에서 **Image Assistant**를 엽니다.

1. (선택 사항) 그 밖에 이미지에 추가하고 싶은 애플리케이션을 지정합니다.

1. Image Assistant의 필요한 단계에 따라 이미지 생성을 마칩니다.

   세션 스크립트 구성을 확인할 수 없는 경우(예를 들어 .json 파일의 형식이 올바르지 않은 경우), **Disconnect and Create Image(이미지 연결 해제 및 생성)**를 선택할 때 알림을 받습니다.
**참고**  
Linux 기반 이미지 빌더용 세션 스크립트 구성 파일을 찾으려면 `/opt/appstream/SessionScripts/config.json`으로 이동하세요.

**Elastic 플릿용 세션 스크립트를 구성 및 지정하는 방법**

1. 세션 스크립트와 config.json 파일을 포함한 zip 파일을 생성합니다. 스크립트 파일은 다음 위치에 복사됩니다. config.json에 이 위치를 사용해야 합니다.
   + Windows의 경우 `C:\AppStream\SessionScripts\SessionScript`를 사용합니다.
   + Linux의 경우 `/opt/appstream/SessionScripts/SessionScript`를 사용합니다.
**참고**  
세션 스크립트 파일을 실행하려면.zip 파일에 세션 스크립트와 `config.json` 파일만 있고 포함하는 폴더는 없어야 합니다. 자세한 내용은 [세션 스크립트 구성 파일](session-script-configuration-file.md) 단원을 참조하십시오.

1. 계정의 Amazon S3의 버킷에 zip 파일을 업로드합니다.
**참고**  
VPC는 Amazon S3 버킷에 대한 액세스 권한을 부여해야 합니다. 자세한 내용은 [WorkSpaces 애플리케이션에 Amazon S3 VPC 엔드포인트 사용 기능](managing-network-vpce-iam-policy.md) 단원을 참조하십시오.  
S3 버킷과 WorkSpaces 애플리케이션 플릿이 동일한에 있어야 합니다 AWS 리전.  
Amazon S3 버킷의 세션 스크립트 객체에서 `S3:GetObject` 작업을 수행하려면 IAM 권한이 있어야 합니다. Amazon S3 버킷에 세션 스크립트를 저장하는 방법에 대한 자세한 내용은 [애플리케이션 아이콘, 설정 스크립트, 세션 스크립트 및 VHD를 S3 버킷에 저장](store-s3-bucket.md) 섹션을 참조하세요.

1. [https://console.aws.amazon.com/appstream2](https://console.aws.amazon.com/appstream2) WorkSpaces 애플리케이션 콘솔을 엽니다.

1. 탐색 창에서 [**Fleets**]를 선택합니다.

1. 업데이트할 Elastic 플릿을 선택하고 **세부 정보 보기**를 선택합니다.

1. **세션 스크립트 설정** 탭에서 **편집**을 선택합니다.

1. **S3의 세션 스크립트 객체**의 경우, 세션 스크립트 객체를 나타내는 S3 URI를 입력하거나, **S3 찾아보기**를 선택하고 S3 버킷으로 이동하여 세션 스크립트 객체를 찾습니다.

1. 변경 작업을 마치면 **변경 사항 저장**을 선택합니다.

1. 이제 시작된 모든 플릿 인스턴스에 세션 스크립트를 사용할 수 있습니다.
**참고**  
새 Elastic 플릿을 생성할 때 세션 스크립트를 구성할 수도 있습니다.

# 세션 스크립트 구성 파일
<a name="session-script-configuration-file"></a>

Windows 계정에서 세션 스크립트 구성 파일을 찾으려면 C:\$1AppStream\$1SessionScripts\$1config.json으로 이동합니다. Linux 인스턴스에서는 /opt/AppStream/SessionScripts/config.json으로 이동합니다. 파일 형식은 다음과 같습니다.

**참고**  
구성 파일은 .json 형식입니다. 이 파일에 입력하는 텍스트가 유효한 .json 형식인지 확인합니다.

```
{
  "SessionStart": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  },
  "SessionTermination": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  }
}
```

세션 스크립트 구성 파일에서 다음 파라미터를 사용할 수 있습니다.

***SessionStart/SessionTermination ***  
객체의 이름을 기반으로 적절한 세션 이벤트에서 실행할 세션 스크립트입니다.  
**유형**: 문자열  
**필수 항목 여부**: 아니요  
**허용된 값:** **SessionStart**, **SessionTermination** 

***WaitingTime***  
세션 스크립트의 최대 기간(초)입니다.  
**유형**: 정수  
**필수 항목 여부**: 아니요  
**제약:** 최대 지속 기간은 60초입니다. 세션 스크립트가 이 기간 내에 완료되지 않으면 중지됩니다. 스크립트를 계속 실행해야 하는 경우 별도의 프로세스로 시작하세요.

***Executables***  
실행할 세션 스크립트에 대한 세부 정보입니다.  
**유형**: 문자열  
**필수 항목 여부:** 예  
**제약:** 세션 이벤트당 실행할 수 있는 최대 스크립트 수는 2개입니다(사용자 컨텍스트용 하나와 시스템 컨텍스트용 하나).

***컨텍스트***  
세션 스크립트를 실행할 컨텍스트입니다.  
**유형**: 문자열  
**필수 항목 여부:** 예  
**허용된 값:** **user**, **system** 

***Filename***  
실행할 세션 스크립트의 전체 경로입니다. 이 파라미터가 지정되지 않은 경우, 세션 스크립트가 실행되지 않습니다.  
**유형**: 문자열  
**필수 항목 여부**: 아니요  
**제약:** 파일 이름 및 전체 경로의 최대 길이는 1,000자입니다.  
**허용된 값:** **.bat**, **.exe**, **.sh**   
Windows PowerShell 파일을 사용할 수도 있습니다. 자세한 내용은 [Windows PowerShell 파일 사용](using-powershell-files-with-session-scripts.md) 단원을 참조하십시오.

***인수***  
세션 스크립트 또는 실행 파일의 인수입니다.  
**유형**: 문자열  
**필수 항목 여부**: 아니요  
**길이 제한:** 최대 길이는 1,000자입니다.

***S3LogEnabled***  
이 파라미터의 값이 **True**로 설정되어 있으면, 세션 스크립트가 생성하는 로그를 저장하기 위해 Amazon Web Services 계정 내에 S3 버킷이 생성됩니다. 기본적으로 이 값은 **True**로 설정됩니다. 자세한 내용은 이 주제 뒷부분의 *세션 스크립트 출력 로깅* 섹션을 참조하세요.  
**유형**: 부울  
**필수 항목 여부**: 아니요  
**허용된 값:** **True**, **False** 

# Windows PowerShell 파일 사용
<a name="using-powershell-files-with-session-scripts"></a>

Windows PowerShell 파일을 사용하려면 **filename** 파라미터에서 PowerShell 파일의 전체 경로를 지정합니다.

```
"filename": 
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
```

그런 다음 **arguments** 파라미터에서 세션 스크립트를 지정합니다.

```
"arguments": "-File \"C:\\path\\to\\session\\script.ps1\"",
```

마지막으로 PowerShell 실행 정책이 PowerShell 파일이 실행되도록 허용하는지 확인합니다.

# 세션 스크립트 출력 로깅
<a name="logging-session-output"></a>

구성 파일에서이 옵션을 활성화하면 WorkSpaces 애플리케이션은 표준에 기록된 세션 스크립트의 출력을 자동으로 캡처합니다. 이 출력은 계정의 Amazon S3 버킷에 업로드됩니다. 문제 해결 또는 디버깅을 위해 로그 파일을 검토할 수 있습니다.

**참고**  
세션 스크립트가 값을 반환하거나 **WaitingTime**에 설정된 값이 경과되면 둘 중 더 빠른 시간을 기준으로 로그 파일이 업로드됩니다.

# 세션 스크립트와 함께 스토리지 커넥터 사용
<a name="use-storage-connectors-with-session-scripts"></a>

WorkSpaces 애플리케이션 스토리지 커넥터가 활성화되면 세션 시작 스크립트가 실행될 때 탑재가 시작됩니다. 스크립트가 마운트된 스토리지 커넥터를 사용하는 경우 커넥터를 사용할 수 있을 때까지 기다릴 수 있습니다. WorkSpaces 애플리케이션은 Windows 인스턴스의 Windows 레지스트리에 있는 스토리지 커넥터의 탑재 상태를 다음 키로 유지합니다.

HKEY\$1LOCAL\$1MACHINE\$1SOFTWARE\$1Amazon\$1AppStream\$1Storage\$1<provided user name>\$1<Storage connector>

레지스트리 키 값은 다음과 같습니다.
+ 제공된 사용자 이름 - 액세스 모드를 통해 제공되는 사용자 ID입니다. 액세스 모드와 각 모드의 값은 다음과 같습니다.
  + 사용자 풀 - 사용자의 이메일 주소입니다.
  + 스트리밍 URL - UserID입니다.
  + SAML - NameID입니다. 사용자 이름에 슬래시가 포함된 경우(예를 들어 도메인 사용자의 SAMAccountName), 슬래시는 "-" 문자로 대체됩니다.
+ 스토리지 커넥터 - 사용자가 사용할 수 있는 영구 스토리지 옵션용 커넥터입니다. 스토리지 커넥터 값은 다음과 같습니다.
  + HomeFolder
  + GoogleDrive
  + OneDrive

각 스토리지 커넥터 레지스트리 키에는 **MountStatus** DWORD 값이 포함되어 있습니다. 다음 표에는 **MountStatus**에 사용할 수 있는 값이 나와 있습니다.

**참고**  
이러한 레지스트리 키를 보려면 Microsoft .NET Framework 버전 4.7.2 이상이 이미지에 설치되어 있어야 합니다.


| 값 | 설명 | 
| --- | --- | 
| 0 |  이 사용자에게 스토리지 커넥터가 활성화되어 있지 않음  | 
| 1 |  스토리지 커넥터 탑재를 진행 중  | 
| 2 |  스토리지 커넥터가 탑재됨  | 
| 3 |  스토리지 커넥터 탑재에 실패함  | 
| 4 |  스토리지 커넥터 탑재가 활성화되어 있지만 아직 탑재되지 않음  | 

Linux 인스턴스에서는 \$1/.config/appstream-home-folder/appstream-home-folder-mount-status 파일의 appstream\$1home\$1folder\$1mount\$1status 값을 확인하여 홈 폴더 마운트 상태를 확인할 수 있습니다.


| 값 | 설명 | 
| --- | --- | 
| True |  홈 폴더가 성공적으로 마운트되었습니다.  | 
| False | 홈 폴더가 아직 마운트되지 않았습니다. | 

# 세션 스크립트 로그를 저장하기 위해 Amazon S3 버킷 스토리지 활성화
<a name="enable-S3-bucket-storage-session-script-logs"></a>

세션 스크립트 구성에서 Amazon S3 로깅을 활성화하면 WorkSpaces 애플리케이션은 세션 스크립트에서 표준 출력을 캡처합니다. 출력은 Amazon Web Services 계정 내 S3 버킷에 주기적으로 업로드됩니다. 모든 AWS 리전에 대해 WorkSpaces 애플리케이션은 계정 및 리전에 고유한 버킷을 계정에 생성합니다.

이러한 S3 버킷을 관리하기 위해 구성 작업을 수행하지 않아도 됩니다. WorkSpaces 애플리케이션 서비스에서 완벽하게 관리됩니다. 각 버킷에 저장된 로그 파일은 전송 중에는 Amazon S3의 SSL 엔드포인트를 이용하고, 정지 상태일 때는 Amazon S3 관리형 암호화 키를 이용하여 암호화됩니다. 버킷의 이름은 다음과 같은 특정 형식으로 지정됩니다.

```
appstream-logs-region-code-account-id-without-hyphens-random-identifier
```

***region-code***  
세션 스크립트 로그에 대해 활성화된 Amazon S3 버킷 스토리지를 사용하여 스택이 생성되는 AWS 리전 코드입니다.

***account-id-without-hyphens***  
Amazon Web Services 계정 식별자입니다. 임의의 ID를 통해 해당 리전의 다른 버킷과 충돌이 없도록 보장합니다. 버킷 이름의 첫 번째 부분인 `appstream-logs`은 계정이나 리전 간에 변경되지 않습니다.

예를 들어 계정 번호 123456789012에서 미국 서부(오레곤) 리전(us-west-2)의 이미지에 세션 스크립트를 지정하면 WorkSpaces 애플리케이션은 표시된 이름으로 해당 리전의 계정 내에 Amazon S3 버킷을 생성합니다. 충분한 권한이 있는 관리자만 이 버킷을 삭제할 수 있습니다.

```
appstream-logs-us-west-2-1234567890123-abcdefg
```

세션 스크립트를 비활성화해도 S3 버킷에 저장된 로그 파일이 삭제되지 않습니다. 로그 파일을 영구적으로 삭제하려면 사용자 또는 적절한 권한이 있는 다른 관리자가 Amazon S3 콘솔이나 API를 이용해 이를 수행해야 합니다. WorkSpaces 애플리케이션은 버킷의 우발적 삭제를 방지하는 버킷 정책을 추가합니다. 자세한 내용은 [Amazon WorkSpaces 애플리케이션의 ID 및 액세스 관리](controlling-access.md)의 **IAM Policies and the Amazon S3 Bucket for Application Settings Persistence를 참조하세요.

세션 스크립트가 활성화되면 시작되는 각 스트리밍 세션에 고유한 폴더가 생성됩니다.

 계정 내 S3 버킷에 로그 파일이 저장되는 폴더의 경로는 다음 구조를 사용합니다.

```
bucket-name/stack-name/fleet-name/access-mode/user-id-SHA-256-hash/session-id/SessionScriptsLogs/session-event
```

***bucket-name***  
세션 스크립트가 저장되는 S3 버킷의 이름입니다. 이름 형식은 본 섹션의 앞부분에서 설명했습니다.

***stack-name***  
세션이 시작된 스택 이름입니다.

***fleet-name***  
세션 스크립트를 실행 중인 플릿 이름입니다.

***access-mode***  
사용자의 자격 증명 메서드: WorkSpaces 애플리케이션 API 또는 CLI의 `custom` 경우 , SAML의 `federated` 경우 , 사용자 풀의 사용자의 `userpool` 경우 .

***user-id-SHA-256-hash***  
사용자별 폴더 이름입니다. 이 이름은 사용자 식별자에서 생성한 소문자 SHA-256 해시 16진법 문자열을 이용해 생성됩니다.

***session-id***  
사용자의 스트리밍 세션의 식별자입니다. 각 사용자 스트리밍 세션은 고유한 ID를 생성합니다.

***session-event***  
세션 스크립트 로그를 생성한 이벤트입니다. 이벤트 값은 `SessionStart` 및 `SessionTermination`입니다.

다음 폴더 구조 예는 test-stack 및 test-fleet에서 시작된 스트리밍 세션에 적용됩니다. 세션은 ID가 `testuser@mydomain.com`인 사용자 AWS 계정 ID의 API`123456789012`와 미국 서부(오레곤) 리전(us-west-2)`test-stack`의 설정 그룹을 사용합니다.

```
appstream-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
```

이 폴더 구조 예에는 사용자 컨텍스트 세션 시작 스크립트용 로그 파일 하나와, 시스템 컨텍스트 세션 시작 스크립트용 로그 파일 하나가 포함되어 있습니다(해당하는 경우).

# 다중 세션 플릿에서 세션 스크립트 사용
<a name="session-scripts-multi-session-fleets"></a>

다중 세션 플릿에서 세션 스크립트를 사용하는 경우 최적의 성능과 보안을 보장하기 위한 추가 요구 사항과 고려 사항이 있습니다.

## 요구 사항
<a name="session-scripts-multi-session-fleets-requirements"></a>

단일 세션 플릿에서는 지정된 인스턴스에 대해 **SessionStart** 및 **SessionTermination** 후크가 한 번만 실행됩니다. 이는 세션과 인스턴스가 1:1로 매핑되기 때문입니다. 다중 세션 플릿을 사용하는 경우 세션과 인스턴스 간에 N:M 매핑이 이루어지며, 각 세션은 자체 **SessionStart** 및 **SessionTermination** 후크를 실행합니다. 즉, 지정된 인스턴스에서 **SessionStart** 및 **SessionTermination** 후크를 여러 번, 그리고 다양한 순서로 실행할 수 있습니다. 최상의 환경을 위해서는 다중 세션 플릿에서 세션 스크립트를 사용할 때 다음 사항이 충족되어야 합니다.
+ 스크립트가 멱등성을 가짐

  이미 작업이 수행된 경우, 스크립트는 동일한 인스턴스에 대해 동일한 작업이 여러 번 실행될 때도 원활하게 처리해야 합니다.
+ 스크립트가 독립적으로 작동함

  스크립트는 세션별로 실행되므로 한 세션이 **SessionTermination**을 실행하는 동안 다른 세션이 **SessionStart**를 실행하는 경우 서로 간섭하거나 다른 세션의 환경을 방해해서는 안됩니다.
+ 스크립트 성능이 뛰어남

  다중 세션 인스턴스에서는 여러 세션을 동시에 프로비저닝할 수 있습니다. 즉, 세션 스크립트를 동시에 여러 번 실행할 수 있습니다. 스크립트는 효율적이어야 하고, 과도하게 리소스를 소비하지 않아야 하며, 인스턴스에 대한 다른 사용자의 환경이나 세션의 안정성에 영향을 미치지 않아야 합니다.

이러한 요구 사항 중 상당수는 세션 스크립트 로직을 스크립트가 실행 중인 특정 사용자 세션에 집중하는 방식으로 충족할 수 있습니다.

## 보안 고려 사항
<a name="session-scripts-multi-session-fleets-security"></a>

WorkSpaces 애플리케이션 이미지는 사용자가 스크립트 파일을 세션할 수 있는 쓰기 권한을 허용하도록 구성해서는 안 됩니다. 이렇게 하면 악의적인 사용자가 스크립트 파일을 수정할 수 있는 중요한 공격 벡터가 생깁니다. 이러한 파일은 구성에 따라 SYSTEM 권한이나 다른 사용자로 실행될 수 있습니다.

**중요**  
WorkSpaces 애플리케이션 이미지가 안전하게 구성되었는지 확인하는 것은 사용자의 책임입니다. 이는 여러 사용자가 동일한 인스턴스를 사용하는 다중 세션 인스턴스의 경우에 특히 중요합니다. 이미지가 안전하게 구성되지 않은 경우 해당 인스턴스의 모든 사용자에게 보안 위험이 있습니다.

다음은 이미지 및 세션 스크립트 파일에 대해 적용되어야 하는 사항입니다.
+ 사용자에게 세션 스크립트 파일을 수정할 수 있는 권한이 없습니다.
+ 사용자에게 세션 스크립트 config.json을 수정할 수 있는 권한이 없습니다. 이미지의 기본 동작은 관리자에 대한 액세스를 제한합니다.

세션 스크립트 실행 파일은 런타임 시 수정될 수 없는 안전한 위치에 저장해야 합니다.

서비스에서 세션 스크립트 실행 파일이 수정된 것을 감지하면 해당 인스턴스에서 해당 후크의 후속 실행이 실패하고 로그 파일을 Amazon S3에 업로드하며(Amazon S3 로깅이 활성화된 경우) 다음과 같은 메시지가 표시됩니다.

**인스턴스 프로비저닝 후 실행 파일이 수정되었기 때문에 세션 스크립트가 실행되지 않았습니다. 보안을 위해 실행을 건너뛰었습니다.**

사용 사례에서 런타임 시 세션 스크립트 실행 파일을 수정해야 하는 경우(예: 런타임 시 자동 업데이트 프로세스에 의해 수정된 EXE 파일을 가리키는 경우) 위 검사가 실패합니다. 이 경우 수정된 실행 파일로 실행을 리디렉션하는 스크립트를 사용하세요. 서비스가 보안 검사를 수행할 때 런타임 시 스크립트가 수정되지 않도록 합니다.

세션 스크립트 파일이 지나치게 큰 경우(100MB 이상) 인스턴스 및 세션 프로비저닝이 지연될 수 있으며, 보안 검사에 추가 시간이 소요됩니다(인스턴스 유형 및 사용 가능한 리소스에 따라 다름). 사용 사례에 대형 세션 스크립트가 필요한 경우 작은 스크립트를 사용하여 실행을 리디렉션하는 것을 고려하세요. 이렇게 하면 인스턴스 및 세션 프로비저닝 환경이 개선됩니다.

해당 서비스는 세션 스크립트 config.json에 정의된 실행 파일만 검사하며, 이는 대체/최선의 노력 방식일 뿐입니다. 세션 스크립트 실행 파일의 모든 코드 경로가 안전하며 최종 사용자가 수정할 수 없도록 하는 것은 사용자의 책임입니다.