Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 AppStream 2.0 이미지 생성 - 아마존 AppStream 2.0

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

Image Assistant CLI 작업을 사용하여 프로그래밍 방식으로 AppStream 2.0 이미지 생성

이미지 빌더에 연결하고 Image Assistant 그래픽 사용자 인터페이스(GUI) 또는 명령줄 인터페이스(CLI) 작업을 사용하여 AppStream 2.0 이미지를 생성할 수 있습니다. Image Assistant CLI 작업은 Image Assistant GUI와 유사한 기능을 제공합니다. 이러한 작업을 사용하여 프로그래밍 방식으로 다음 작업을 수행할 수 있습니다.

  • 이미지에 포함된 애플리케이션을 관리합니다.

  • 기본 애플리케이션 설정을 저장, 업데이트, 재설정합니다.

  • AppStream 2.0 동적 애플리케이션 프레임워크를 활성화 또는 비활성화합니다.

  • 태그를 지정합니다.

  • 이미지를 생성합니다.

이러한 작업을 사용하여 AppStream 2.0 이미지 생성을 지속적 통합 또는 배포 소프트웨어 개발 프로세스에 통합할 수 있습니다.

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

참고

이미지 빌더는 2019년 7월 26일 이후 릴리스된 버전의 AppStream 2.0 에이전트를 사용해야 합니다. 이미지 빌더가 없으면 하나를 생성해야 합니다. 자세한 내용은 이미지 빌더를 시작하여 스트리밍 애플리케이션 설치 및 구성 섹션을 참조하세요.

Image Assistant CLI 작업을 사용하여 기본 애플리케이션 및 Windows 설정 생성

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

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

기본 애플리케이션 및 Windows 설정을 구성하는 방법에 대한 자세한 내용은 기본 애플리케이션 및 Windows 설정과 애플리케이션 시작 성능AppStream 2.0 사용자를 위한 기본 애플리케이션 및 Windows 설정 만들기를 참조하세요.

Image Assistant CLI 작업을 사용하여 애플리케이션 시작 성능 최적화

AppStream 2.0을 사용하면 사용자의 스트리밍 세션을 위해 애플리케이션의 시작 성능을 최적화할 수 있습니다. 이를 위해 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

애플리케이션의 시작 성능을 최적화하는 방법에 대한 자세한 내용은 기본 애플리케이션 및 Windows 설정과 애플리케이션 시작 성능애플리케이션의 시작 성능 최적화를 참조하세요.

프로그래밍 방식으로 AppStream 2.0 이미지를 생성하기 위한 프로세스 개요

애플리케이션 설치 자동화에 Image Assistant CLI 작업을 사용하여 완전 프로그래밍 방식 AppStream 2.0 이미지 생성 워크플로를 생성할 수 있습니다. 애플리케이션 설치 자동화가 완료된 후, 이미지가 생성되기 전에 Image Assistant CLI 작업을 사용해 다음을 지정합니다.

  • 최종 사용자가 시작할 수 있는 실행 파일

  • 애플리케이션에 대한 최적화 매니페스트

  • 다른 AppStream 2.0 이미지 메타데이터

다음의 대략적 개요에서는 프로그래밍 방식으로 AppStream 2.0 이미지를 생성하는 프로세스를 설명합니다.

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

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

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

  4. AppStream 2.0 이미지를 위한 추가 애플리케이션을 지정하려면 필요한 각 애플리케이션에 1~3단계를 반복합니다.

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

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

AppStream 2.0 이미지를 생성 및 관리하기 위한 Image Assistant CLI 작업

이 섹션에서는 AppStream 2.0 이미지를 생성하고 관리하는 데 사용할 수 있는 Image Assistant CLI 작업을 설명합니다.

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

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

help 작업

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

add-application --help

시놉시스

help

출력

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

add-application 작업

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

참고

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

시놉시스

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 (문자열)

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

--absolute-icon-path (문자열)

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

--working-directory (문자열)

애플리케이션이 시작될 때 애플리케이션의 초기 작업 디렉터리입니다.

--absolute-manifest-path (문자열)

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

메시지 출력

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

remove-application 작업

AppStream 2.0 이미지의 애플리케이션 목록에서 애플리케이션을 제거합니다. 해당 애플리케이션이 설치 제거 또는 수정되지는 않지만 사용자가 AppStream 2.0 애플리케이션 카탈로그에서 시작할 수는 없습니다.

시놉시스

remove-application --name <value>

옵션

--name (문자열)

제거할 애플리케이션의 고유한 식별자입니다.

메시지 출력

종료 코드 표준 출력으로 출력된 메시지 설명
0 {"status": 0, "message": "Success"} 애플리케이션이 성공적으로 제거되었습니다.
1 {"status": 1, "message": "Administrator privileges are required to perform this operation"} 작업을 완료하려면 관리자 권한이 필요합니다.
1 {"status": 1, "message": "App not found"} 지정된 애플리케이션을 AppStream 2.0 애플리케이션 카탈로그에서 찾을 수 없습니다.
255 {"status": 255, "message": <error message>} 예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속될 경우 AWS Support에 문의하세요. 자세한 내용은 AWS Support Center를 참조하세요.

list-applications 작업

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

시놉시스

list-applications

메시지 출력

종료 코드 표준 출력으로 출력된 메시지 설명
0 {"status": 0, "message": "Success", "applications": [ {..app1.. }, { ..app2.. }]} AppStream 2.0 애플리케이션 카탈로그 내 애플리케이션의 목록입니다.
255 {"status": 255, "message": <error message>} 예상치 못한 오류가 발생했습니다. 요청을 다시 시도하십시오. 오류가 지속될 경우 AWS Support에 문의하세요. 자세한 내용은 AWS Support Center를 참조하세요.

update-default-profile 작업

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

참고

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

시놉시스

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

옵션

--profile (문자열)

Windows 기본 사용자 프로필로 Windows 프로필이 복사된 사용자의 이름입니다. 이름에는 다음 형식을 사용합니다.

"<domain>\<username>"

이미지 빌더가 Microsoft Active Directory 도메인에 가입되지 않았으면 도메인에 마침표(".")를 입력합니다. 사용자를 지정하지 않으면 AppStream 2.0 템플릿 사용자 계정이 사용됩니다.

메시지 출력

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

reset-user-profile 작업

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

참고

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

시놉시스

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

옵션

--profile (문자열)

Windows 프로필이 삭제될 Windows 사용자의 이름입니다. 이름에는 다음 형식을 사용합니다.

"<domain>\<username>"

이미지 빌더가 Microsoft Active Directory 도메인에 가입되지 않았으면 도메인에 마침표(".")를 입력합니다.

메시지 출력

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

create-image 작업

이미지 생성 워크플로를 시작합니다. 결과는 AppStream 2.0 플릿에 사용할 수 있는 AppStream 2.0 이미지입니다.

시놉시스

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 (문자열)

AppStream 2.0 이미지의 이름입니다. 이 이름은 Amazon Web Services 계정과 AWS에서 고유해야 합니다. 최대 길이는 100자입니다. 허용되는 문자는 다음과 같습니다.

a~z, A~Z, 0~9, 밑줄(_), 하이픈(-) 및 마침표(.)

이미지 이름은 'aws', 'appstream', 'amazon’과 같은 접두사로 시작할 수 없습니다. 이러한 접두사는 AWS용으로 예약되어 있습니다.

--description (문자열)

이미지에 표시할 설명입니다. 최대 길이는 256자입니다.

--display-name (문자열)

이미지에 표시할 이름입니다. 최대 길이는 256자입니다.

--enable-dynamic-app-catalog | --no-enable-dynamic-app-catalog

AppStream 2.0 동적 애플리케이션 프레임워크에 대한 지원을 활성화 또는 비활성화합니다. 두 파라미터 중 하나를 지정하지 않으면 동적 애플리케이션 프레임워크에 대한 지원이 활성화되지 않습니다.

동적 애플리케이션 프레임워크는 AppStream 2.0 스트리밍 인스턴스에서 동적 앱 공급자를 빌드할 때 사용할 수 있도록 여러 작업을 제공합니다. 동적 앱 공급자는 이들 작업을 사용해 사용자가 실시간으로 액세스하는 애플리케이션의 카탈로그를 수정할 수 있습니다. 자세한 내용은 AppStream 2.0 동적 애플리케이션 프레임워크를 사용하여 동적 앱 공급자 빌드 섹션을 참조하세요.

--use-latest-agent-version | --no-use-latest-agent-version

이미지를 현재 설치된 AppStream 2.0 에이전트의 버전에 고정할지 또는 항상 최신 에이전트 버전을 사용할지 지정합니다. 두 파라미터를 모두 지정하지 않으면 이미지가 현재 설치된 AppStream 2.0 에이전트의 버전에 고정됩니다. 자세한 내용은 AppStream 2.0 에이전트 버전 관리 섹션을 참조하세요.

--tags (문자열)

이미지와 연결할 태그입니다. 태그는 키-값 쌍입니다. 다음 형식을 사용합니다.

--tags "mykey" "myval" "mykey2" "myval2"

태그에 대한 자세한 내용은 Amazon AppStream 2.0 리소스 태그 지정 단원을 참조하세요.

--dry-run (문자열)

이미지를 생성하지 않고 유효성 검사를 수행합니다. 이미지를 생성하기 전에 이 명령을 사용하여 이미지에 문제가 있는지 확인합니다.

메시지 출력

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