AWS WA Tool의 렌즈 형식 사양 - AWS Well-Architected Tool

Well-Architected Framework의 새 버전을 출시했습니다. 또한 Lens Catalog에 새 렌즈와 업데이트된 렌즈를 추가했습니다. 변경 사항에 대해 자세히 알아보세요.

AWS WA Tool의 렌즈 형식 사양

렌즈는 특정 JSON 형식을 사용하여 정의됩니다. 사용자 지정 렌즈를 생성하기 시작하면 템플릿 JSON 파일을 다운로드할 수 있습니다. 이 파일은 원칙의 기본 구조, 질문, 모범 사례, 개선 계획을 정의하므로 사용자 지정 렌즈의 기반으로 사용할 수 있습니다.

렌즈 섹션

이 섹션에서는 사용자 지정 렌즈 자체의 속성을 정의합니다. 다음은 속성의 이름과 설명입니다.

  • schemaVersion: 사용할 사용자 지정 렌즈 스키마의 버전입니다. 템플릿에 의해 설정되므로 변경하지 마세요.

  • name: 렌즈의 이름입니다. 이름은 최대 128자까지 지정할 수 있습니다.

  • description: 렌즈에 대한 텍스트 설명입니다. 이 텍스트는 워크로드 생성 중에 추가할 렌즈를 선택하거나 나중에 기존 워크로드에 적용할 렌즈를 선택할 때 표시됩니다. 설명은 최대 2048자까지 작성할 수 있습니다.

"schemaVersion": "2021-11-01", "name": "Company Policy ABC", "description": "This lens provides a set of specific questions to assess compliance with company policy ABC-2021 as revised on 2021/09/01.",

원칙 섹션

이 섹션에서는 사용자 지정 렌즈와 관련된 원칙을 정의합니다. 질문을 AWS Well-Architected Framework의 원칙에 매핑하거나, 자체 원칙을 정의하거나, 두 작업을 모두 수행할 수 있습니다.

사용자 지정 렌즈 하나에는 최대 10개의 원칙을 정의할 수 있습니다.

  • id: 원칙의 ID입니다. ID에는 3~128자까지 사용 가능하며 영숫자 및 밑줄('_') 문자만 포함할 수 있습니다. 원칙에 사용되는 ID는 고유해야 합니다.

    질문을 Framework의 원칙에 매핑할 때는 다음 ID를 사용하세요.

    • operationalExcellence

    • security

    • reliability

    • performance

    • costOptimization

    • sustainability

  • name: 원칙의 이름입니다. 이름은 최대 128자까지 지정할 수 있습니다.

"pillars": [ { "id": "company_Privacy", "name": "Privacy Excellence", . . . }, { "id": "company_Security", "name": "Security", . . . } ]

질문 섹션

이 섹션에서는 원칙과 관련된 질문을 정의합니다.

사용자 지정 렌즈에서는 원칙에 최대 20개의 질문을 정의할 수 있습니다.

  • id: 질문의 ID입니다. ID에는 3~128자까지 사용 가능하며 영숫자 및 밑줄('_') 문자만 포함할 수 있습니다. 질문에 사용되는 ID는 고유해야 합니다.

  • title: 질문의 제목입니다. 제목은 최대 128자까지 지정할 수 있습니다.

  • description: 질문을 더 자세히 설명합니다. 설명은 최대 2048자까지 작성할 수 있습니다.

  • helpfulResource displayText: 선택 사항. 질문에 대한 유용한 정보를 제공하는 텍스트입니다. 텍스트는 최대 2048자까지 작성할 수 있습니다. helpfulResource url을 지정하는 경우 이 텍스트도 지정해야 합니다.

  • helpfulResource url: 선택 사항. 질문을 더 자세히 설명하는 URL 리소스입니다. URL은 http:// 또는 https://로 시작해야 합니다.

참고

사용자 지정 렌즈 워크로드를 Jira와 동기화할 때 질문에는 질문의 "id"와 "title"이 모두 표시됩니다.

Jira 티켓에 사용된 형식은 [ QuestionID ] QuestionTitle입니다.

"questions": [ { "id": "privacy01", "title": "How do you ensure HR conversations are private?", "description": "Career and benefits discussions should occur on secure channels only and be audited regularly for compliance.", "helpfulResource": { "displayText": "This is helpful text for the first question", "url": "https://example.com/poptquest01_help.html" }, . . . }, { "id": "privacy02", "title": "Is your team following the company privacy policy?", "description": "Our company requires customers to opt-in to data use and does not disclose customer data to third parties either individually or in aggregate.", "helpfulResource": { "displayText": "This is helpful text for the second question", "url": "https://example.com/poptquest02_help.html" }, . . . } ]

선택 항목 섹션

이 섹션에서는 질문과 관련된 선택 항목을 정의합니다.

사용자 지정 렌즈에서는 질문에 최대 15개의 선택 항목을 정의할 수 있습니다.

  • id: 선택 항목의 ID입니다. ID에는 3~128자까지 사용 가능하며 영숫자 및 밑줄('_') 문자만 포함할 수 있습니다. 질문의 각 선택 항목에 대해 고유한 ID를 지정해야 합니다. 접미사가 _no인 선택 항목을 추가하면 질문에 대한 None of these 선택 항목으로 작동합니다.

  • title: 선택 항목의 제목입니다. 제목은 최대 128자까지 지정할 수 있습니다.

  • helpfulResource displayText: 선택 사항. 선택 항목에 대한 유용한 정보를 제공하는 텍스트입니다. 텍스트는 최대 2048자까지 작성할 수 있습니다. helpfulResource url이 지정된 경우 텍스트를 포함해야 합니다.

  • helpfulResource url: 선택 사항. 선택 항목을 더 자세히 설명하는 URL 리소스입니다. URL은 http:// 또는 https://로 시작해야 합니다.

  • improvementPlan displayText: 선택 항목을 개선할 수 있는 방법을 설명하는 텍스트입니다. 텍스트는 최대 2048자까지 작성할 수 있습니다. None of these 선택 항목을 제외한 각 선택 항목에는 improvementPlan이 필요합니다.

  • improvementPlan url: 선택 사항. 개선에 도움이 될 수 있는 URL 리소스입니다. URL은 http:// 또는 https://로 시작해야 합니다.

  • additionalResources type: 선택 사항. 추가 리소스 유형입니다. 이때 값은 HELPFUL_RESOURCE 또는 IMPROVEMENT_PLAN이 될 수 있습니다.

  • additionalResources content: 선택 사항. 추가 리소스의 displayTexturl 값을 지정합니다. 선택 항목에 최대 5개의 유용한 추가 리소스와 최대 5개의 추가 개선 계획 항목을 지정할 수 있습니다.

    • displayText: 선택 사항. 유용한 리소스 또는 개선 계획을 설명하는 텍스트입니다. 텍스트는 최대 2048자까지 작성할 수 있습니다. url이 지정된 경우 텍스트를 포함해야 합니다.

    • url: 선택 사항. 유용한 리소스 또는 개선 계획을 위한 URL 리소스입니다. URL은 http:// 또는 https://로 시작해야 합니다.

참고

사용자 지정 렌즈 워크로드를 Jira와 동기화할 때 선택 항목에는 질문 및 선택 항목의 "id"와 선택 항목의 "title"이 표시됩니다.

사용된 형식은 [ QuestionID | ChoiceID ] ChoiceTitle입니다.

"choices": [ { "id": "choice_1", "title": "Option 1", "helpfulResource": { "displayText": "This is helpful text for the first choice", "url": "https://example.com/popt01_help.html" }, "improvementPlan": { "displayText": "This is text that will be shown for improvement of this choice.", "url": "https://example.com/popt01_iplan.html" } }, { "id": "choice_2", "title": "Option 2", "helpfulResource": { "displayText": "This is helpful text for the second choice", "url": "https://example.com/hr_manual_CORP_1.pdf" }, "improvementPlan": { "displayText": "This is text that will be shown for improvement of this choice.", "url": "https://example.com/popt02_iplan_01.html" }, "additionalResources":[ { "type": "HELPFUL_RESOURCE", "content": [ { "displayText": "This is the second set of helpful text for this choice.", "url": "https://example.com/hr_manual_country.html" }, { "displayText": "This is the third set of helpful text for this choice.", "url": "https://example.com/hr_manual_city.html" } ] }, { "type": "IMPROVEMENT_PLAN", "content": [ { "displayText": "This is additional text that will be shown for improvement of this choice.", "url": "https://example.com/popt02_iplan_02.html" }, { "displayText": "This is the third piece of improvement plan text.", "url": "https://example.com/popt02_iplan_03.html" } { "displayText": "This is the fourth piece of improvement plan text.", "url": "https://example.com/popt02_iplan_04.html" } ] } ] }, { "id": "option_no", "title": "None of these", "helpfulResource": { "displayText": "Choose this if your workload does not follow these best practices.", "url": "https://example.com/popt02_iplan_none.html" } }

위험 규칙 섹션

이 섹션에서는 선택한 선택 항목이 위험 수준을 결정하는 방법을 정의합니다.

각 위험 수준에 하나씩, 질문당 최대 3개의 위험 규칙을 정의할 수 있습니다.

  • condition: 질문의 위험 수준에 매핑되는 선택 항목의 부울 표현식으로, 해당 사항이 없는 경우 default 값이 지정됩니다.

    각 질문에는 default 위험 규칙이 있어야 합니다.

  • risk: 조건과 관련된 위험을 나타냅니다. 유효한 값은 HIGH_RISK, MEDIUM_RISK, NO_RISK입니다.

위험 규칙의 순서는 중요합니다. 첫 번째 conditiontrue로 평가되며 질문에 대한 위험 수준을 설정합니다. 위험 규칙을 구현하는 일반적인 패턴은 위험이 가장 적은(일반적으로 가장 세분화된) 규칙에서 시작하여 가장 위험한(가장 구체적이지 않은) 규칙 순서로 적용하는 것입니다.

예:

"riskRules": [ { "condition": "choice_1 && choice_2 && choice_3", "risk": "NO_RISK" }, { "condition": "((choice_1 || choice_2) && choice_3) || (!choice_1 && choice_3)", "risk": "MEDIUM_RISK" }, { "condition": "default", "risk": "HIGH_RISK" } ]

질문에 세 가지 선택 항목(choice_1,choice_2, choice_3)이 있는 경우 이러한 위험 규칙의 결과는 다음과 같습니다.

  • 세 가지 선택 항목을 모두 선택해도 위험은 없습니다.

  • choice_1 또는 choice_2 중 하나가 선택된 상태에서 choice_3이 선택된 경우 위험 수준은 중간입니다.

  • choice_1이 선택되지 않은 상태에서 choice_3이 선택된 경우 역시 위험 수준이 중간입니다.

  • 위 조건 중 어느 것에도 해당하지 않으면 높은 위험입니다.