SSM 문서 콘텐츠 생성 - AWS Systems Manager

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

SSM 문서 콘텐츠 생성

AWS Systems Manager 공개 문서가 AWS 리소스에 대해 수행하려는 모든 작업을 수행하지 않는 경우 자체 SSM 문서를 만들 수 있습니다. 콘솔을 사용하여 SSM 문서를 복제할 수도 있습니다. 문서를 복제하면 기존 문서의 내용이 수정 가능한 새 문서로 복사됩니다. 문서를 생성하거나 복제할 경우, 문서의 콘텐츠는 64KB를 초과할 수 없습니다. 이 할당량에는 런타임 시 입력 파라미터에 지정된 콘텐츠도 포함됩니다. 새 Policy 또는 Command 문서를 생성할 때는 문서 편집, 자동 버전 관리, 시퀀싱 등과 같은 최신 기능을 활용할 수 있도록 스키마 버전 2.2 이상을 사용하는 것이 좋습니다.

SSM 문서 콘텐츠 작성

사용자 고유의 SSM 문서 콘텐츠를 생성하려면 SSM 문서에 사용할 수 있는 다양한 스키마, 기능, 플러그인 및 구문을 이해하는 것이 중요합니다. 다음 리소스를 숙지하는 것이 좋습니다.

AWS 사전 정의된 SSM 문서는 필요한 일부 작업을 수행할 수 있습니다. 문서 유형에 따라 사용자 정의 SSM 문서 내에서 aws:runDocument, aws:runCommand 또는 aws:executeAutomation 플러그인을 사용하여 이러한 문서를 호출할 수 있습니다. 이러한 문서의 일부를 사용자 정의 SSM 문서로 복사하고 요구 사항에 맞게 콘텐츠를 편집할 수도 있습니다.

작은 정보

SSM 문서 콘텐츠를 생성할 때 테스트하는 동안 SSM 문서의 콘텐츠를 변경하고 여러 번 업데이트할 수 있습니다. 다음 명령은 최신 콘텐츠로 SSM 문서를 업데이트하고 문서의 기본 버전을 최신 버전의 문서로 업데이트합니다.

참고

Linux 및 Windows 명령은 jq 명령줄 도구를 사용하여 JSON 응답 데이터를 필터링합니다.

Linux & macOS
latestDocVersion=$(aws ssm update-document \ --content file://path/to/file/documentContent.json \ --name "ExampleDocument" \ --document-format JSON \ --document-version '$LATEST' \ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version \ --name "ExampleDocument" \ --document-version $latestDocVersion
Windows
latestDocVersion=$(aws ssm update-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "ExampleDocument" ^ --document-format JSON ^ --document-version "$LATEST" ^ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version ^ --name "ExampleDocument" ^ --document-version $latestDocVersion
PowerShell
$content = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String $latestDocVersion = Update-SSMDocument ` -Content $content ` -Name "ExampleDocument" ` -DocumentFormat "JSON" ` -DocumentVersion '$LATEST' ` | Select-Object -ExpandProperty LatestVersion Update-SSMDocumentDefaultVersion ` -Name "ExampleDocument" ` -DocumentVersion $latestDocVersion

SSM 문서 복제

Systems Manager AWS Systems Manager 문서 콘솔을 사용하여 문서를 복제하여 SSM 문서를 생성할 수 있습니다. SSM 문서를 복제하면 기존 문서의 내용이 수정 가능한 새 문서로 복사됩니다. 64KB보다 큰 문서는 복제할 수 없습니다.

SSM 문서를 복제하려면
  1. https://console.aws.amazon.com/systems-manager/ 에서 AWS Systems Manager 콘솔을 엽니다.

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

    -또는-

    AWS Systems Manager 홈 페이지가 먼저 열리면 메뉴 아이콘 ( 
    The menu icon
  ) 을 선택하여 탐색 창을 연 다음 탐색 창에서 [Documents] 를 선택합니다.

  3. 검색 상자에 복제하려는 문서의 이름을 입력합니다.

  4. 복제할 문서의 이름을 선택한 다음 [작업(Actions)] 드롭다운에서 [문서 복제(Clone document)]를 선택합니다.

  5. 원하는 대로 문서를 수정한 다음 [문서 생성(Create document)]을 선택하여 문서를 저장합니다.

다음 방법 중 하나를 통해 SSM 문서 콘텐츠를 작성한 후 해당 콘텐츠를 사용하는 SSM 문서를 생성할 수 있습니다.

SSM 문서 생성

복합 문서 생성

복합 AWS Systems Manager (SSM) 문서는 하나 이상의 보조 SSM 문서를 실행하여 일련의 작업을 수행하는 사용자 지정 문서입니다. 복합 문서는 부트스트랩 소프트웨어 또는 도메인 조인 인스턴스와 같은 일반적인 태스크에 대한 표준 SSM 문서 집합을 생성할 수 있도록 하여 코드형 인프라를 승격합니다. 그런 다음 이러한 문서를 같은 AWS 계정 문서에서 AWS 리전 공유하여 SSM 문서 유지 관리를 줄이고 일관성을 유지할 수 있습니다.

예를 들어 다음 작업을 수행하는 복합 문서를 생성할 수 있습니다.

  1. 허용 목록에 모든 패치를 설치합니다.

  2. 안티바이러스 소프트웨어를 설치

  3. 에서 스크립트를 GitHub 다운로드하고 실행합니다.

이 예에서는 사용자 정의 SSM 문서가 이러한 작업을 수행하기 위해 다음과 같은 플러그인을 포함합니다.

  1. aws:runDocument 플러그인은 나열된 모든 허용 패치를 설치하는 AWS-RunPatchBaseline 문서를 실행합니다.

  2. 안티바이러스 소프트웨어를 설치하는 AWS-InstallApplication 문서를 실행하기 위한 aws:runDocument 플러그인.

  3. 스크립트를 GitHub 다운로드하고 실행할 수 있는 aws:downloadContent 플러그인입니다.

복합 문서 및 보조 문서는 Systems Manager GitHub (퍼블릭 및 프라이빗 리포지토리) 또는 Amazon S3에 저장할 수 있습니다. 복합 문서 및 보조 문서는 JSON 또는 YAML으로 생성할 수 있습니다.

참고

복합 문서는 최대 3개 문서 깊이까지만 실행될 수 있습니다. 즉, 복합 문서가 하위 문서 하나를 호출하고, 이 하위 문서가 마지막 문서를 호출할 수 있습니다.

복합 문서를 생성하려면 사용자 정의 SSM 문서에서 aws:runDocument 플러그인을 추가하고 필요한 입력을 지정합니다. 다음은 다음 작업을 수행하는 복합 문서의 예입니다.

  1. aws:downloadContent플러그인을 실행하여 GitHub 퍼블릭 리포지토리에서 bootstrap이라는 로컬 디렉터리로 SSM 문서를 다운로드합니다. SSM StateManagerBootstrap 문서는.yml (YAML 문서) 이라고 합니다.

  2. aws:runDocument플러그인을 실행하여.yml 문서를 실행합니다. StateManagerBootstrap 파라미터는 지정하지 않습니다.

  3. aws:runDocument 플러그인을 실행하여 AWS-ConfigureDocker pre-defined SSM 문서를 실행합니다. 지정된 파라미터가 인스턴스에 도커를 설치합니다.

{ "schemaVersion": "2.2", "description": "My composite document for bootstrapping software and installing Docker.", "parameters": { }, "mainSteps": [ { "action": "aws:downloadContent", "name": "downloadContent", "inputs": { "sourceType": "GitHub", "sourceInfo": "{\"owner\":\"TestUser1\",\"repository\":\"TestPublic\", \"path\":\"documents/bootstrap/StateManagerBootstrap.yml\"}", "destinationPath": "bootstrap" } }, { "action": "aws:runDocument", "name": "runDocument", "inputs": { "documentType": "LocalPath", "documentPath": "bootstrap", "documentParameters": "{}" } }, { "action": "aws:runDocument", "name": "configureDocker", "inputs": { "documentType": "SSMDocument", "documentPath": "AWS-ConfigureDocker", "documentParameters": "{\"action\":\"Install\"}" } } ] }
추가 정보