Distributor에 패키지 버전 추가 - AWS Systems Manager

Distributor에 패키지 버전 추가

패키지 버전을 추가하려면 패키지를 생성한 후 Distributor를 사용해 이전 버전에 이미 존재하는 AWS Systems Manager(SSM) 문서에 항목을 추가하여 패키지 버전을 추가합니다. Distributor는 AWS Systems Manager의 기능입니다. 시간을 절약하기 위해 패키지의 이전 버전에 대한 매니페스트를 업데이트하고 매니페스트에서 version 항목의 값을 변경한 다음(예: Test_1.0에서 Test_2.0으로 변경) 새 버전의 매니페스트로 저장합니다. Distributor 콘솔의 간단한 [버전 추가(Add version)] 워크플로가 매니페스트 파일을 업데이트합니다.

새 패키지 버전은 다음 작업을 수행할 수 있습니다.

  • 현재 버전에 연결된 설치 파일을 하나 이상 바꿉니다.

  • 추가 플랫폼을 지원하기 위해 새로운 설치 파일을 추가합니다.

  • 특정 플랫폼에 대한 지원을 중단하기 위해 파일을 삭제합니다.

새 버전에서 동일한 Amazon Simple Storage Service(Amazon S3) 버킷을 사용할 수 있지만 맨 끝에 표시되는 URL의 파일 이름은 달라야 합니다. Systems Manager 콘솔이나 AWS Command Line Interface(AWS CLI)를 사용하여 새 버전을 추가할 수 있습니다. 기존에 Amazon S3 버킷에 저장되어 있던 설치 파일과 동일한 이름으로 설치 파일을 업로드할 경우 기존 파일을 덮어쓰게 됩니다. 설치 파일은 이전 버전에서 새로운 버전으로 복사할 수 없습니다. 따라서 새로운 버전에 추가하려면 이전 버전에서 설치 파일을 업로드해야 합니다. Distributor가 새로운 패키지 버전 생성을 마치면 Amazon S3 버킷을 삭제하거나 다른 용도로 사용할 수 있습니다. Distributor가 버전 관리 프로세스의 일환으로 소프트웨어를 내부 Systems Manager 버킷에 복사하기 때문입니다.

참고

각 패키지는 최대 25개 버전으로 유지됩니다. 더 이상 필요하지 않은 버전을 삭제할 수 있습니다.

패키지 버전 추가(콘솔)

이러한 단계를 수행하기 전에 패키지 생성의 지침에 따라 해당 버전에 대한 새 패키지를 생성합니다. 그런 다음 Systems Manager 콘솔을 사용하여 Distributor에 새 패키지 버전을 추가합니다.

패키지 버전 추가(심플)

Simple(단순) 워크플로를 사용해 패키지 버전을 추가할 때는 업데이트된 설치 가능한 파일을 준비하거나, 더욱 많은 플랫폼과 아키텍처를 지원할 수 있는 설치 파일을 추가합니다. 그런 다음 Distributor를 사용해 새롭거나 업데이트된 설치 파일을 업로드하고 패키지 버전을 추가합니다. Distributor 콘솔의 간단한 [버전 추가(Add version)] 워크플로가 매니페스트 파일과 관련 SSM 문서를 업데이트합니다.

패키지 버전을 추가하려면(단순)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Distributor를 선택합니다.

  3. Distributor 홈 페이지에서 다른 버전을 추가하려는 패키지를 선택합니다.

  4. Add version(버전 추가) 페이지에서 Simple(단순)을 선택합니다.

  5. Version name(버전 이름)에 버전 이름을 입력합니다. 새로운 버전 이름은 이전 버전 이름과 달라야 합니다. 버전 이름은 최대 512자로 구성되며, 여기에 특수 문자가 포함될 수 없습니다.

  6. S3 버킷 이름의 목록에서 기존 S3 버킷을 선택합니다. 이전 버전에서 설치 파일을 저장했던 버킷을 그대로 선택할 수도 있지만 이때는 버킷에 저장된 기존 설치 파일을 덮어쓰지 않도록 설치 파일 이름이 달라야 합니다.

  7. S3 키 접두사에 설치 가능한 자산이 저장되는 버킷의 하위 폴더를 입력합니다.

  8. [소프트웨어 업로드(Upload software)]에서 새로운 버전에 추가할 소프트웨어 설치 파일을 찾습니다. 기존 버전의 설치 파일은 새로운 버전으로 자동 복사되지 않습니다. 따라서 새로운 버전에 동일한 설치 파일을 추가하려면 이전 패키지 버전에서 설치 파일을 업로드해야 합니다. 소프트웨어 파일은 한 번에 1개 이상 업로드할 수 있습니다.

  9. 대상 플랫폼(Target platform)에서 설치 파일마다 표시된 대상 운영 체제 플랫폼이 정확한지 확인합니다. 운영 체제가 잘못 표시되어 있으면 드롭다운 목록에서 정확한 운영 체제를 선택합니다.

    Simple(단순) 버전 관리 워크플로우에서는 설치 파일마다 한 번씩 업로드하기 때문에 다수의 운영 체제를 대상으로 단일 파일을 업로드해야 한다면 추가 단계가 필요합니다. 예를 들어 이름이 Logtool_v1.1.1.rpm인 소프트웨어 설치 파일을 업로드하는 경우에는 Simple(단순) 워크플로우에서 기본값을 몇 가지 변경해야만 Distributor에서 동일한 소프트웨어를 Amazon Linux 운영 체제와 Ubuntu 운영 체제에 업로드할 수 있습니다. 이러한 제약은 다음 중 한 가지를 사용해 해결할 수 있습니다.

    • 시작하기 전에 고급 버전 관리 워크플로우를 사용해 각 설치 파일을 .zip 파일로 압축한 다음 설치 파일을 다수의 운영 체제 플랫폼 또는 버전에 업로드할 수 있도록 매니페스트를 직접 작성합니다. 자세한 내용은 패키지 버전 추가(고급) 단원을 참조하십시오.

    • zip 파일이 다수의 운영 체제 플랫폼 또는 버전으로 업로드될 수 있도록 심플 워크플로에서 매니페스트 파일을 직접 편집합니다. 자세한 내용은 2단계: JSON 패키지 매니페스트 생성 단원에서 4단계 마지막을 참조하십시오.

  10. [플랫폼 버전(Platform version)]에서 표시된 운영 체제 플랫폼 버전이 _any, 와일드카드 뒤에 오는 주 릴리스 버전(7.*) 또는 소프트웨어를 적용하려는 정확한 운영 체제 릴리스 버전인지 확인합니다. 플랫폼 버전을 지정하는 방법에 대한 자세한 내용은 2단계: JSON 패키지 매니페스트 생성 단원에서 4단계를 참조하십시오.

  11. 아키텍처의 드롭다운 목록에서 설치 파일마다 정확한 프로세서 아키텍처를 선택합니다. 지원되는 아키텍처에 대한 자세한 내용은 지원되는 패키지 플랫폼 및 아키텍처 섹션을 참조하세요.

  12. (선택 사항) 스크립트를 확장하여 Distributor에서 설치 가능한 소프트웨어에 대해 생성된 설치 및 제거 스크립트를 검토합니다.

  13. 소프트웨어 설치 파일을 새로운 버전에 추가하려면 Add software(소프트웨어 추가)를 선택합니다. 아니면 다음 단계로 이동합니다.

  14. (선택 사항) Manifest(매니페스트)를 확장하여 Distributor에서 설치 가능한 소프트웨어에 생성한 JSON 패키지 매니페스트를 살펴봅니다. 이번 절차를 시작한 이후 플랫폼 버전, 대상 플랫폼 등 설치 가능한 소프트웨어에 대한 정보를 변경하였다면 Generate manifest(매니페스트 생성)을 선택하여 업데이트된 패키지 매니페스트를 확인합니다.

    9단계에서 설명한 것처럼 소프트웨어 설치 파일을 다수의 운영 체제에 업로드하는 경우에는 매니페스트를 수동으로 편집할 수 있습니다. 매니페스트 편집에 대한 자세한 내용은 2단계: JSON 패키지 매니페스트 생성 섹션을 참조하세요.

  15. 소프트웨어 추가를 비롯해 대상 플랫폼, 버전 및 아키텍처 데이터에 대한 검토까지 마쳤다면 이제 Add version(버전 추가)를 선택합니다.

  16. Distributor에서 소프트웨어 업로드 및 새로운 패키지 버전 생성을 마칠 때까지 기다립니다. 각 설치 파일의 업로드 상태가 Distributor에 표시됩니다. 이 작업은 추가하는 패키지 수와 크기에 따라 몇 분까지 걸릴 수 있습니다. Distributor에서 패키지의 Package details(패키지 세부 정보) 페이지로 자동 리디렉션되지만 소프트웨어가 업로드된 후에도 이 페이지를 열도록 직접 선택할 수 있습니다. Distributor가 패키지 새 패키지 버전 생성을 마칠 때까지 [Package details(패키지 세부 정보)] 페이지에 패키지에 대한 모든 정보가 표시되지 않습니다. 업로드 및 패키지 버전 생성을 중지하려면 Stop upload(업로드 중지)를 선택합니다.

  17. Distributor에서 일부 소프트웨어 설치 파일을 업로드하지 못하는 경우에는 [업로드 실패(Upload failed)] 메시지가 표시됩니다. 업로드를 다시 시도하려면 Retry upload(업로드 재시도)를 선택합니다. 패키지 버전 생성 실패에 따른 문제 해결 방법에 대한 자세한 내용은 AWS Systems ManagerDistributor 문제 해결 섹션을 참조하세요.

  18. Distributor가 새로운 패키지 버전 생성을 마치면 해당 패키지 세부 정보 페이지의 버전 탭에서 사용 가능한 패키지 버전 목록에 새로운 버전이 있는지 확인합니다. 버전을 추가한 다음 기본 버전 설정을 선택하여 패키지의 기본 버전을 설정합니다.

    기본 버전을 설정하지 않으면 최신 패키지 버전이 기본 버전입니다.

패키지 버전 추가(고급)

패키지 버전을 추가하려면 패키지를 생성한 후 Distributor를 사용해 이전 버전에 존재하는 SSM 문서에 항목을 추가하여 패키지 버전을 추가합니다. 시간을 절약하기 위해 패키지의 이전 버전에 대한 매니페스트를 업데이트하고 매니페스트에서 version 항목의 값을 변경한 다음(예: Test_1.0에서 Test_2.0으로 변경) 새 버전의 매니페스트로 저장합니다. 고급 워크플로우에서 새로운 패키지 버전을 추가하려면 업데이트된 매니패스트가 필요합니다.

패키지 버전을 추가하려면(고급)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Distributor를 선택합니다.

  3. Distributor 홈페이지에서 다른 버전을 추가할 패키지와 Add version(버전 추가)를 차례대로 선택합니다.

  4. Version name(버전 이름)에 매니페스트 파일의 version 항목에 있는 값을 입력합니다.

  5. S3 버킷 이름의 목록에서 기존 S3 버킷을 선택합니다. 이전 버전에서 설치 파일을 저장했던 버킷을 그대로 선택할 수도 있지만 이때는 버킷에 저장된 기존 설치 파일을 덮어쓰지 않도록 설치 파일 이름이 달라야 합니다.

  6. S3 키 접두사에 설치 가능한 자산이 저장되는 버킷의 하위 폴더를 입력합니다.

  7. .zip 파일과 함께 S3 버킷에 업로드한 매니페스트를 사용하려면 Manifest(매니페스트)에서 Extract from package(패키지에서 추출)를 선택합니다.

    (옵션) .zip 파일이 저장된 Amazon S3 버킷에 수정된 JSON 매니페스트를 업로드하지 않았다면 [새 매니페스트(New manifest)]를 선택합니다. JSON 편집기 필드에서 전체 매니페스트를 작성하거나 붙여넣을 수 있습니다. JSON 매니페스트를 생성하는 자세한 방법은 2단계: JSON 패키지 매니페스트 생성 섹션을 참조하세요.

  8. 매니페스트 작성을 마치면 [패키지 버전 추가(Add package version)]를 선택합니다.

  9. 패키지 세부 정보 페이지의 버전 탭에서 사용 가능한 패키지 버전 목록의 새 버전을 확인합니다. 버전을 추가한 다음 기본 버전 설정을 선택하여 패키지의 기본 버전을 설정합니다.

    기본 버전을 설정하지 않으면 최신 패키지 버전이 기본 버전입니다.

패키지 버전 추가(AWS CLI)

AWS CLI을 사용하여 Distributor에 새 패키지 버전을 추가할 수 있습니다. 이러한 명령을 실행하기 전에 이 주제 시작 부분에서 설명한 것처럼 새 패키지 버전을 생성해 S3에 업로드해야 합니다.

패키지 버전을 추가하려면(AWS CLI)
  1. 다음 명령을 실행하여 새 패키지 버전에 대한 항목으로 AWS Systems Manager 문서를 편집합니다. document-name을 문서 이름으로 바꿉니다. DOC-EXAMPLE-BUCKET3단계: Amazon S3 버킷에 패키지 및 매니페스트 업로드에서 복사한 JSON 매니페스트의 URL로 바꿉니다. S3-bucket-URL-of-package는 전체 패키지가 저장된 Amazon S3 버킷의 URL입니다. version-name-from-updated-manifest를 매니페스트의 version 값으로 바꿉니다. --document-version 파라미터를 $LATEST로 설정해 이 패키지 버전과 연결된 문서를 최신 버전 문서로 지정합니다.

    aws ssm update-document \ --name "document-name" \ --content "S3-bucket-URL-to-manifest-file" \ --attachments Key="SourceUrl",Values="DOC-EXAMPLE-BUCKET" \ --version-name version-name-from-updated-manifest \ --document-version $LATEST

    다음은 예입니다.

    aws ssm update-document \ --name ExamplePackage \ --content "https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/ExamplePackage/manifest.json" \ --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/ExamplePackage" \ --version-name 1.1.1 \ --document-version $LATEST
  2. 다음 명령을 실행하여 패키지가 업데이트되었는지 확인하고 패키지 매니페스트를 표시합니다. package-name은 패키지의 이름으로 바꾸고, 경우에 따라 document-version은 업데이트한 문서의 버전 번호(패키지 버전과 다름)로 바꿉니다. 이 패키지 버전이 문서의 최신 버전과 연결된 경우 선택적 --document-version 파라미터의 값에 대해 $LATEST를 지정할 수 있습니다.

    aws ssm get-document \ --name "package-name" \ --document-version "document-version"

update-document 명령과 함께 사용할 수 있는 다른 옵션에 대한 자세한 내용은 AWS CLI Command Reference의 AWS Systems Manager 섹션에 있는 update-document를 참조하세요.