

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

# 스키마 관리
<a name="schema-management"></a>

AWS의 Cloud Migration Factory 솔루션은 완전히 확장 가능한 메타데이터 리포지토리를 제공하므로 자동화, 감사 및 상태 추적을 위한 데이터를 단일 도구에 저장할 수 있습니다. 리포지토리는 배포 시 기본 엔티티(웨이브, 애플리케이션, 서버, 데이터베이스) 및 속성 세트를 제공하여 가장 자주 사용되는 데이터를 캡처하고 사용할 수 있도록 하며, 여기에서 필요에 따라 스키마를 사용자 지정할 수 있습니다.

Cognito 관리자 그룹 사용자만 스키마를 관리할 권한이 있습니다. 사용자를 관리자 또는 다른 그룹의 구성원으로 만들려면 [사용자 관리](permission-management.md)를 참조하세요.

**관리**로 이동하여 기본 엔티티 탭의 **속성**을 선택합니다. 엔티티 관리를 지원하는 데 사용할 수 있는 탭은 다음과 같습니다.

 **속성** - 속성을 추가, 편집 및 삭제할 수 있습니다.

 **정보 패널** - 정보 패널 도움말 콘텐츠를 편집할 수 있으며, 이는 마이그레이션 관리 섹션의 개체 화면 오른쪽에 표시됩니다.

 **스키마 설정** - 현재이 탭은 개체의 표시 이름만 변경할 수 있는 기능을 제공하며, 이는 사용자 인터페이스에 표시되는 이름입니다. 정의되지 않은 경우 사용자 인터페이스는 엔티티의 프로그래밍 이름을 사용합니다.

자체 비즈니스별 엔터티를 CMF에 매핑해야 할 때 사용자 지정 자산을 생성할 수도 있습니다. 개체 이름 행 끝에 있는 **\+** 탭을 눌러 새 사용자 지정 자산을 추가할 수 있습니다.

## 새 사용자 지정 자산 추가
<a name="adding-a-new-custom-asset"></a>

**참고**  
사용자 지정 자산은 Wave Planning Manager(WPM) 모듈의 기능입니다. 이를 사용하려면 CMF를 배포할 때 WPM을 활성화해야 합니다.

가져오려는 비즈니스 사례별 엔터티가 있는 경우 CMF에 새 사용자 지정 자산(스키마)을 추가할 수 있습니다. 개체 탭 끝에 있는 **\+** 기호를 통해 새 사용자 지정 자산을 추가할 수 있습니다.

**\+** 기호를 선택하면 새 애셋을 생성하는 데 필요한 최소 정보를 요청하는 새 패널이 나타납니다.

![새 스키마 생성](http://docs.aws.amazon.com/ko_kr/solutions/latest/cloud-migration-factory-on-aws/images/create-new-schema.png)


새 자산을 생성한 후 자산별 속성을 추가할 수 있습니다. 자세한 내용은 [속성 추가/편집](#addingediting-an-attribute) 섹션을 참조하세요.

## 속성 추가/편집하기
<a name="addingediting-an-attribute"></a>

속성은 AWS의 Cloud Migration Factory 솔루션의 **속성** 관리 섹션을 통해 동적으로 수정할 수 있습니다. 속성이 추가, 편집 또는 삭제되면 변경하는 관리자를 위해 업데이트가 실시간으로 적용됩니다. 현재 동일한 인스턴스에 로그인한 다른 모든 사용자는 관리자가 변경 내용을 저장한 후 1분 이내에 세션이 자동으로 업데이트됩니다.

일부 속성은 시스템 속성으로 정의됩니다. 즉, 이 속성은 AWS의 Cloud Migration Factory의 핵심 기능에 중요하므로 관리자가 일부 속성만 수정할 수 있습니다. 시스템 속성인 모든 속성은 **속성 수정** 화면 상단에 경고와 함께 표시됩니다.

시스템 정의 속성의 경우 다음 항목만 편집할 수 있습니다.
+ 정보 패널
+ 고급 옵션
  + 속성 그룹화 및 배치하기
  + 입력 검증

시스템 정의 속성의 다른 모든 속성은 읽기 전용입니다.

속성 추가하기:

 **속성 관리** 

![속성 관리](http://docs.aws.amazon.com/ko_kr/solutions/latest/cloud-migration-factory-on-aws/images/attribute-management.png)


속성을 추가하려는 개체의 속성 탭에서 **추가** 버튼을 선택하여 새 속성을 추가할 수 있습니다. 위 예시에서 **추가**를 선택하면 데이터베이스 엔티티에 새 속성이 추가됩니다.

**속성 수정** 대화 상자에서 다음과 같은 필수 속성을 제공해야 합니다.

 **프로그래밍 방식 이름** - DynamoDB 테이블의 항목에 대해 속성의 데이터를 저장하는 데 사용되는 키입니다. 또한 Migration Factory API를 사용할 때와 자동화 스크립트를 사용할 때도 참조됩니다.

 **표시 이름** - 데이터 입력 필드에 대해 웹 인터페이스에 표시되는 레이블입니다.

 **유형** -이 드롭다운 선택은 사용자가 속성에 대해 저장할 수 있는 데이터 유형을 정의합니다. 다음 옵션을 사용할 수 있습니다.


| 유형 | 용도 | 
| --- | --- | 
| 문자열 | 사용자는 한 줄의 텍스트를 입력할 수 있습니다. 캐리지 리턴은 허용되지 않습니다. | 
| 다중값 문자열 | **문자열**과 마찬가지로 사용자가 필드 내의 개별 줄에 여러 값을 입력할 수 있다는 점만 다릅니다. 그러면 값이 배열/목록으로 저장됩니다. | 
| 암호 | 기본적으로 화면에 표시되지 않아야 하는 데이터를 안전하게 입력할 수 있는 방법을 사용자에게 제공합니다. 이 속성 유형을 사용할 때는 데이터가 암호화되어 저장되지 않으며 API 페이로드에서 볼 때 일반 텍스트로 표시되므로 민감한 데이터를 저장하는 데 사용해서는 안 됩니다. 모든 암호 또는 보안 암호는 AWS Secrets Manager(이 문서에서 설명)에 저장해야 합니다.  | 
| Date | 사용자가 날짜를 선택하도록 날짜 선택기가 있는 필드를 제공하거나 필요한 날짜를 수동으로 입력할 수 있습니다. | 
| Checkbox | 표준 확인란을 제공합니다. 선택하지 않으면 키 값에 '`true'가 저장되고 선택하지 않으면 '`false'가 되거나 키가 레코드에 존재하지 않습니다. | 
| 텍스트 영역 | **문자열** 유형과 달리 **텍스트 영역**은 여러 줄 텍스트를 저장하는 기능을 제공하지만 기본 텍스트 문자만 지원합니다. | 
| 태그 | 사용자가 키/값 쌍의 목록을 저장할 수 있습니다. | 
| List | 선택할 수 있는 사전 정의된 옵션의 목록을 사용자에게 제공합니다. 이러한 옵션은 속성의 값 목록 속성에 있는 스키마 속성 정의에 정의되어 있습니다. | 
| 관계 | 이 속성 유형은 두 엔티티 또는 레코드 간의 관계를 저장하는 기능을 제공합니다. 관계 속성을 정의할 때는 관계를 적용할 엔티티를 선택한 다음 항목을 연관시키는 데 사용되는 키 값을 선택하고 사용자에게 표시할 관련 항목에서 속성을 선택합니다.<br />관계에 사용할 수 있는 엔티티 및 디스플레이 값을 기반으로 하는 드롭다운 목록이 사용자에게 제공됩니다.<br />각 관계 필드 아래에는 관련 항목의 요약을 표시하는 빠른 링크가 있습니다. | 
| JSON | JSON 데이터를 저장하고 편집할 수 있는 JSON 편집기 필드를 제공합니다. 이는 스크립트 입력/출력 파라미터 또는 작업 자동화에 필요한 기타 데이터를 저장하거나 다른 용도로 사용하는 데 사용할 수 있습니다. | 

새 속성을 추가할 때는 정책을 통해 사용자에게 새 속성에 대한 액세스 권한을 부여해야 합니다. 속성 액세스 권한을 부여하는 방법에 대한 자세한 내용은 [권한 관리](permission-management.md) 섹션을 참조하세요.

### 정보 패널
<a name="info-panel"></a>

속성 사용에 대한 상황별 도움말과 지침을 지정하는 기능을 제공합니다. 지정된 경우 UI의 속성 레이블 오른쪽에 **정보** 링크가 표시됩니다. 이 링크를 클릭하면 화면 오른쪽에 이 섹션에 지정된 **도움말 콘텐츠**와 **도움말 링크**가 사용자에게 제공됩니다.

정보 패널 섹션은 두 가지 데이터 보기를 제공합니다. 하나는 내용을 정의할 수 있는 **편집** 보기이고, 다른 하나는 속성에 대한 업데이트가 저장될 때 사용자에게 표시되는 내용을 빠르게 미리 볼 수 있는 **미리보기** 보기입니다.

**도움말 제목**은 일반 텍스트 값만 지원합니다. **도움말 콘텐츠**는 텍스트 서식을 허용하는 html 태그의 하위 집합을 지원합니다. 예를 들어 텍스트 주위에 <b>시작 및</b> 끝 태그를 추가하면 안에 있는 텍스트가 굵게 표시됩니다(예: <b>네트워크 인터페이스 ID</b>는 **네트워크 인터페이스 ID**와 같이 됨). 지원되는 태그는 다음과 같습니다.


| 태그 | 용도 | UI 예시 | 
| --- | --- | --- | 
| <p></p> | 단락을 정의합니다. | <p>내 첫 번째 단락</p><br /><p>내 두 번째 단락</p> | 
| <a> | 하이퍼링크를 정의합니다. | <a href="https://aws.amazon.com/">Visit AWS\!</a> | 
| <h3>, <h4> 및 <h5> | h3에서 h5까지의 제목을 정의합니다. | <h3>내 제목 3</h3> | 
| <span> | 텍스트 섹션을 정의하여 텍스트 색상, 크기, 글꼴 등의 추가 서식을 적용할 수 있습니다. | <span style="color:blue">파란색</span> | 
| <div> | 문서 블록을 정의하여 텍스트 색상, 크기, 글꼴 등의 추가 서식을 적용할 수 있습니다. | <div style="color:blue"><br /><h3>파란색 제목입니다. </h3><br /><p>div에 있는 파란색 텍스트입니다.</p><br /></div> | 
| <ul> \+ <li> | 정렬되지 않은 글머리 기호 목록을 정의합니다. | <ul><br /><li>리호스팅</li><br /><li>리플랫포밍</li><br /><li>사용 중지</li><br /></ul> | 
| <ol>, <li> | 순서가 지정된/번호가 매겨진 목록을 정의합니다. | <ol><br /><li>리호스팅</li><br /><li>리플랫포밍</li><br /><li>사용 중지</li><br /></ol> | 
| <code> | 코드를 포함하는 텍스트 블록 또는 섹션을 정의합니다. | <code>background-color</code> | 
| <pre> | 미리 서식이 지정된 텍스트 블록을 정의하고 모든 줄 바꿈, 탭 및 공백을 출력합니다. | <pre><br />미리 서식이 지정된 내 텍스트입니다.<br />이 글꼴은 고정 너비 글꼴로 표시되며 입력한 대로 표시됩니다. <<이 공백이 표시됩니다.<br /></pre> | 
| <dl>, <dt> 및 <dd> | 설명 목록을 정의합니다. | <dl><br /><dt>리호스팅</dt><br /><dd>리프트 앤드 시프트 마이그레이션</dd><br /><dt>사용 중지</dt><br /><dd>인스턴스 또는 서비스 폐기</dd><br /></dl> | 
| <hr> | 주제 또는 섹션의 전환을 표시하기 위해 페이지 전체에 가로 규칙을 정의합니다. | <hr> | 
| <br> | 텍스트의 줄 바꿈을 정의합니다. 저장 시 편집기의 모든 캐리지 리턴이 <br>로 대체되므로 지원되지만 필수는 아닙니다. | <br> | 
| <i> 및 <em> | 포함된 텍스트를 기울임꼴 또는 다른 현지화된 형식으로 정의했습니다.** | <i>이것은 기울임꼴입니다.</i> 또는 <em>이것도 기울임꼴입니다.</em> | 
| <b> 및 <strong> | 둘러싸인 텍스트를 **굵은** 글꼴로 정의합니다. | <b>이것은 굵은 글꼴입니다.</b> <strong>이것과는 다릅니다.</strong> | 

도움을 제공할 수 있는 또 다른 옵션은 외부 콘텐츠 및 지침으로 연결되는 링크입니다. 속성의 상황별 도움말에 외부 링크를 추가하려면 **새 URL 추가**를 클릭하고 **레이블** 및 URL을 입력합니다. 필요에 따라 동일한 속성 유형에 링크를 여러 개 추가할 수 있습니다.

### 고급 옵션
<a name="advanced-options"></a>

#### 속성 그룹화 및 배치하기
<a name="attribute-grouping-positioning"></a>

이 섹션에서는 관리자가 추가/편집 UI에서 속성을 배치할 위치를 설정하는 기능을 제공하며 속성을 그룹화하여 사용자가 관련 속성을 쉽게 찾을 수 있도록 합니다.

 **UI 그룹**은 속성이 표시되어야 하는 그룹의 이름을 정의하는 텍스트 값입니다. 동일한 UI 그룹 값을 가진 모든 속성은 동일한 그룹에 배치되며, UI 그룹이 지정되지 않은 속성은 **세부 정보** 양식 상단의 기본 그룹에 배치됩니다. UI 그룹을 지정하면 사용자 인터페이스는 여기에 표시된 텍스트를 그룹 제목으로 표시합니다.

이 섹션의 두 번째 속성은 **그룹 내 순서**입니다. 이 속성은 양수 또는 음수로 설정할 수 있으며, 지정하면 이 값을 기준으로 가장 낮은 값에서 가장 높은 값 순으로 속성이 나열됩니다. **그룹 내 순서**가 지정되지 않은 속성은 우선 순위가 낮고 알파벳 순으로 정렬됩니다.

#### 입력 검증
<a name="input-validation"></a>

이 섹션에서 관리자는 사용자가 항목을 저장하기 전에 유효한 데이터를 입력했는지 확인하는 검증 기준을 정의할 수 있습니다. 검증에서는 텍스트 값의 검색 패턴을 지정하는 일련의 문자인 정규 표현식 또는 정규식 문자열을 사용합니다. 예를 들어 패턴 **^(subnet-([a-z0-9]{17}))**$\*는 텍스트 **서브넷을 검색한** 다음 문자 a\~z(소문자) 및 숫자 0\~9와 정확한 문자 수가 **17**인 모든 조합을 검색합니다. 그렇지 않으면 검증이 실패했음을 나타내는 false를 반환합니다. 이 안내서에서 사용 가능한 모든 조합과 패턴을 다룰 수는 없지만 사용 사례에 맞는 완벽한 조합을 만드는 데 도움이 되는 많은 리소스를 인터넷에서 찾을 수 있습니다. 다음은 시작하는 데 도움이 될 몇 가지 일반적인 예시입니다.


| 정규식 패턴 | 용도 | 
| --- | --- | 
| ^(?\!\\s\*$).\+ | 값이 설정되었는지 확인합니다. | 
| ^(subnet-([a-z0-9]{17})\*)$ | 값이 유효한 서브넷 ID인지 확인합니다.<br />[텍스트 **subnet-**으로 시작하고 그 뒤에 문자와 숫자로만 구성된 17자] | 
| ^(ami-(([a-z0-9]{8,17})\+)$) | 값이 유효한 AMI ID인지 확인합니다.<br />[텍스트 **ami-**으로 시작하고 그 뒤에 문자와 숫자로만 구성된 8\~17자] | 
| ^(sg-([a-z0-9]{17})\*)$ | 값이 유효한 보안 그룹 ID 형식인지 확인합니다.<br />[텍스트 **sg-**으로 시작하고 그 뒤에 문자와 숫자로만 구성된 17자] | 
| ^(([a-zA-Z0-9]\|[a-zA-Z0-9]** [a-zA-Z0-9])\\.) **([A-Za-z0-9]\|[A-Za-z0-9][A-Za-z0-9\\-]\*[A-Za-z0-9])$ | 서버 이름이 유효하고 영숫자, 하이픈, 마침표만 포함하는지 확인합니다. | 
| ^([1-9]\|[1-9][0-9]\|[1-9][0-9][0-9]\|[1-9][0-9][0-9][0-9]\|[1][0-6][0-3][0-8][0-4])$ | 1\~1634 사이의 숫자를 입력했는지 확인합니다. | 
| ^(standard\|io1\|io2\|gp2\|gp3)$ | 입력한 문자열이 표준, io1, io2, gp2 또는 gp3과 일치하는지 확인합니다. | 

정규식 검색 패턴을 만든 후에는 필드 아래에 사용자에게 표시될 특정 오류 메시지를 지정하고 **검증 도움말 메시지** 속성에 이 내용을 입력할 수 있습니다.

이 두 속성이 설정되면 동일한 화면에서 **검증 시뮬레이터** 아래에 표시됩니다. 여기서 검색 패턴이 예상대로 작동하고 오류 메시지가 올바르게 표시되는지 테스트할 수 있습니다. **테스트 검증** 필드에 테스트 텍스트를 입력하기만 하면 패턴이 올바르게 일치하는지 확인할 수 있습니다.

#### 예시 데이터
<a name="example-data"></a>

예시 데이터 섹션은 관리자가 사용자에게 속성에 필요한 데이터 형식의 예시를 보여줄 수 있는 기능을 제공합니다. 이 예시는 인테이크 양식 업로드 시 필요한 데이터 형식에 대해 사용자 인터페이스 및/또는 API를 통해 직접 지정할 수 있습니다.

**인테이크 양식 예시 데이터** 속성에 표시된 예시 데이터는 **마이그레이션 관리 > 가져오기**에서 **템플릿 인테이크 양식 다운로드** 기능을 사용할 경우 속성이 포함된 곳에서 만든 모든 인테이크 템플릿에 출력됩니다.

사용자 인터페이스 예시 데이터와 API 예시 데이터는 속성에 저장되지만 웹 인터페이스에는 현재 표시되지 않습니다. 이는 통합 및 스크립트에 사용할 수 있습니다.