Azure의 SAP 배포 자동화 프레임워크는 BOM(제품 구성 정보)을 사용합니다. BOM은 SAP 시스템을 구성하는 데 도움이 됩니다.
자동화 프레임워크의 GitHub 리포지토리에는 시작하는 데 사용할 수 있는 샘플 BOM 집합이 포함되어 있습니다. 다른 SAP 애플리케이션 및 데이터베이스에 대한 BOM을 만들 수도 있습니다.
permalinks를 포함하는 BOM을 생성하려면 이 유형의 BOM을 만드는 단계를 수행합니다.
참고 항목
이 가이드에서는 고급 배포 항목에 대해 설명합니다. 자동화 프레임워크를 배포하는 방법에 대한 기본 설명은 시작 가이드를 참조하세요.
필수 조건
- 아직 수행하지 않은 경우 SAP 설치 미디어 및 관련 파일을 다운로드하고 준비합니다.
- Azure Storage 계정의 SAP 애플리케이션(DB) 또는 HANA 미디어.
- BOM 파일 작업을 위한 YAML 편집기.
- 다음을 위한 애플리케이션 설치 템플릿:
- SAP Central Services(SCS)
- SAP 기본 애플리케이션 서버(PAS)
- SAP 추가 애플리케이션 서버(AAS)
- SAP 미디어를 획득하기 위해 만든 폴더에 필요한 스택 파일 다운로드. 자세한 내용은 기본 BOM 준비 방법 가이드를 참조하세요.
- SAP 미디어를 획득하기 위해 만든 폴더에 다운로드된 SAP 다운로드 바구니 매니페스트(
DownloadBasket.json
)의 복사본.- Postman 유틸리티 설치.
- Azure 구독 Azure 구독이 아직 없는 경우 체험 계정을 만듭니다.
- 사용하려는 데이터베이스를 사용할 수 있는 권한이 있는 SAP 계정.
- BOM의 유효성을 검사하기 위해 Linux 형식 명령을 실행하는 시스템.
yamllint
및ansible-lint
명령을 설치하고 시스템에 설치합니다.
스크립팅된 만들기 프로세스
이 프로세스는 수동 BOM 만들기 프로세스와 동일한 단계를 자동화합니다. 이 프로세스를 사용하기 전에 스크립트 제한 사항을 검토합니다.
스택 파일 폴더로 이동합니다.
cd stackfiles
BOM 생성 스크립트를 실행합니다. 예제 경로를 유틸리티 폴더에 대한 올바른 경로로 바꿉니다. 예시:
cd ~/Azure_SAP_Automated_Deployment/deploy/scripts/generate_bom.sh >../bom.yml
제품 매개 변수(
product
)에 SAP 제품 이름을 입력합니다. 예:SAP_S4HANA_1809_SP4
. 값을 입력하지 않으면 스크립트는 스택 XML 파일에서 이름을 확인하려고 시도합니다.검토를 위해 생성된
bom.yml
파일을 엽니다.템플릿 섹션(
templates
)을 검토합니다.file
및override_target_location
값이 맞는지 확인합니다. 필요한 경우 해당 줄을 편집하고 주석으로 처리합니다. 예시:templates: # - name: "S4HANA_2020_ISS_v001 ini file" # file: S4HANA_2020_ISS_v001.inifile.params # override_target_location: "{{ target_media_location }}/config"
스택 파일 섹션(
stackfiles
)을 검토합니다. 항목 이름과 파일이 올바른지 확인합니다. 필요한 경우 해당 줄을 편집합니다.
스크립트 제한 사항
스크립팅된 BOM 만들기 프로세스에는 다음과 같은 제한 사항이 있습니다.
스크립팅에는 HANA2에 대한 하드 코딩된 종속성이 있습니다. 필요한 종속성 이름과 일치하도록 BOM 파일을 수동으로 편집합니다. 예시:
dependencies:
- name: "HANA2"
미디어 매개 변수 override_target_filename:
, override_target_location
, version:
에 대한 기본값은 없습니다. BOM 파일을 수동으로 편집하여 이러한 매개 변수를 변경합니다. 예시:
- name: SAPCAR
archive: SAPCAR_1320-80000935.EXE
override_target_filename: SAPCAR.EXE
- name: "SWPM20SP07"
archive: "SWPM20SP07_2-80003424.SAR"
override_target_filename: SWPM.SAR
sapurl: "https://softwaredownloads.sap.com/file/0020000001812632020"
스크립트는 SAP Maintenance Planner가 식별하는 미디어 파일에 대한 항목만 생성합니다. 이 제한은 스택 .xsl
파일을 처리하기 때문에 발생합니다. SAP 실행 패드를 통해와 같이 다운로드 바구니에 파일을 별도로 추가하는 경우 해당 파일을 BOM에 수동으로 추가해야 합니다.
수동 만들기 프로세스
다음 수동 프로세스를 통해 BOM을 만들 수 있습니다. 또 다른 옵션은 스크립팅된 만들기 프로세스를 사용하여 같은 단계를 수행하는 것입니다.
SAP 미디어 획득을 위해 만든 다운로드 폴더를 엽니다.
bom.yml
이라 명명된 빈 YAML 파일을 만듭니다.편집기에서
bom.yml
을 엽니다.빌드 이름 및 대상 이름을 사용하여 BOM 헤더를 추가합니다.
name
값은 스토리지 계정의 BOM 폴더 이름과 동일해야 합니다. 예시:name: 'S4HANA_2020_ISS_v001' target: 'ABAP PLATFORM 2020'
대상 위치를 사용하여 기본값 섹션을 추가합니다. 설치 파일을 복사하려는 대상 서버의 폴더 경로를 사용합니다. 일반적으로 다음과 같이
{{ target_media_location }}
을 사용합니다.defaults: target_location: "{{ target_media_location }}/download_basket"
제품 식별자 섹션을 추가합니다. 나중에 템플릿 준비의 일부로 이 값을 채웁니다. 예시:
product_ids: scs: db: pas: aas: web:
재질 섹션을 추가하여 필요한 재질 목록을 지정합니다. 이 섹션의 다른 BOM에 대한 종속성을 추가합니다. 예시:
materials: dependencies: - name: HANA2
BOM에 포함할 미디어 목록을 가져옵니다.
다운로드 바구니 스프레드시트를 엽니다. 이 파일은 XML로 렌더링됩니다.
필요한 경우 XML 콘텐츠를 사람이 읽을 수 있도록 서식을 적용합니다.
다운로드 바구니의 각 항목에 대해
String
및Number
데이터를 기록해 둡니다.String
데이터는 파일 이름(예:igshelper_17-10010245.sar
)과 간단한 설명(예:SAP IGS Fonts and Textures
)을 제공합니다. BOM의 각 항목 다음에Number
데이터를 기록합니다.
bom.yml
에 미디어 목록을 추가합니다. 이러한 항목의 순서는 중요하지 않지만 가독성을 위해 관련 항목을 그룹화할 수 있습니다. SAP 다운로드 바구니에 이 유틸리티가 포함되어 있더라도 별도로SAPCAR
를 추가합니다. 예시:media: - name: SAPCAR archive: SAPCAR_1320-80000935.EXE name: "SAP IGS Fonts and Textures" archive: "igshelper_17-10010245.sar" # 61489 <...>
필요에 따라 대상 미디어 위치를 재정의해야 하는 경우 미디어 항목에
override_target_location
매개 변수를 추가합니다. 예:override_target_location: "{{ target_media_location }}/config"
.빈 템플릿 섹션을 추가합니다.
templates:
스택 파일 섹션을 만듭니다. 예시:
stackfiles: - name: Download Basket JSON Manifest file: downloadbasket.json - name: Download Basket Spreadsheet file: MP_Excel_2001017452_20201030_SWC.xls
변경 내용을
bom.yml
에 저장합니다.
Permalinks
작동하는 기본 BOM을 자동으로 생성할 수 있습니다. 그러나 BOM은 기본적으로 SAP 미디어에 대한 영구 URL(permalinks)을 만들지 않습니다. permalinks를 만들려면 SAP 미디어를 획득 전에 더 많은 단계를 수행해야 합니다.
참고 항목
permalinks를 사용하여 전체 SAP BOM을 수동으로 생성하려면 기본 BOM을 수동으로 준비할 때보다 약 2배 정도의 시간이 걸립니다.
permalinks를 사용하여 BOM을 생성하려면 다음을 수행합니다.
편집기에서
DownloadBasket.json
을 엽니다.각 결과에 대해
Value
줄의 내용을 적어둡니다. 예시:"Value": "0020000000703122018|SP_B|SAP IGS Fonts and Textures|61489|1|20201023150931|0"
세로 막대로 구분된 첫 번째 값과 네 번째 값을 복사합니다.
첫 번째 값은 파일 번호입니다. 예:
0020000000703122018
.네 번째 값은 미디어 목록과 일치 여부를 확인하는 데 사용할 숫자입니다. 예:
61489
.필요에 따라 파일 형식을 나타내는 두 번째 값을 복사합니다. 예를 들어 커널 이진 파일에는
SP_B
, 커널이 아닌 이진 파일에는SPAT
, 데이터베이스 내보내기에는CD
입니다.
네 번째 값을 키로 사용하여 다운로드 바구니를 미디어 목록에 일치시킬 수 있습니다. 해당 값(예
61489
: )과 미디어 항목(예:# 61489
)에 대한 주석으로 추가한 값을 일치 시킵니다.bom.yml
에서 일치하는 각 항목에 대해 SAP URL에 대한 새 값을 추가합니다. URL의 경우https://softwaredownloads.sap.com/file/
에 해당 항목의 세 번째 값(예:0020000000703122018
)을 더한 값을 사용합니다. 예시:- name: "SAP IGS Fonts and Textures" archive: "igshelper_17-10010245.sar" sapurl: "https://softwaredownloads.sap.com/file/0020000000703122018"
예제 BOM 파일
다음 샘플은 S/4HANA 1909 SP2에 대한 예제 BOM 파일의 작은 부분입니다.
step|BOM Content
---
name: 'S4HANA_2020_ISS_v001'
target: 'ABAP PLATFORM 2020'
defaults:
target_location: "{{ target_media_location }}/download_basket"
product_ids:
scs:
db:
pas:
aas:
web:
materials:
dependencies:
- name: HANA2
media:
- name: SAPCAR
archive: SAPCAR_1320-80000935.EXE
- name: SWPM
archive: SWPM20SP06_6-80003424.SAR
- name: SAP IGS HELPER
archive: igshelper_17-10010245.sar
- name: SAP HR 6.08
archive: SAP_HR608.SAR
- name: S4COREOP 104
archive: S4COREOP104.SAR
templates:
- name: "S4HANA_2020_ISS_v001 ini file"
file: S4HANA_2020_ISS_v001.inifile.params
override_target_location: "{{ target_media_location }}/config"
stackfiles:
- name: Download Basket JSON Manifest
file: downloadbasket.json
override_target_location: "{{ target_media_location }}/config"
- name: Download Basket Spreadsheet
file: MP_Excel_2001017452_20201030_SWC.xls
override_target_location: "{{ target_media_location }}/config"
- name: Download Basket Plan doc
file: MP_Plan_2001017452_20201030_.pdf
override_target_location: "{{ target_media_location }}/config"
- name: Download Basket Stack text
file: MP_Stack_2001017452_20201030_.txt
override_target_location: "{{ target_media_location }}/config"
- name: Download Basket Stack XML
file: MP_Stack_2001017452_20201030_.xml
override_target_location: "{{ target_media_location }}/config"
- name: Download Basket permalinks
file: myDownloadBasketFiles.txt
override_target_location: "{{ target_media_location }}/config"
BOM 유효성 검사
Linux 형식 명령을 실행하는 모든 OS에서 BOM 구조의 유효성을 검사할 수 있습니다. Windows 경우 WSL(Linux용 Windows 하위 시스템)을 사용합니다. 또 다른 옵션은 BOM 파일의 복사본이 있는 경우 배포자에서 유효성 검사를 실행하는 것입니다.
BOM이 포함된 디렉터리에서 유효성 검사 스크립트
check_bom.sh
를 실행합니다. 예시:cd ~/Azure_SAP_Automated_Deployment/deploy/scripts/check_bom.sh bom.yml
출력을 검토합니다.
유효성 검사 성공
유효성 검사에 성공하면 다음 출력이 표시됩니다. 필수 구성 요소에 이미 yamllint
명령 및 ansible-lint
명령을 설치했습니다.
... yamllint [ok]
... ansible-lint [ok]
... bom structure [ok]
유효성 검사 실패
실패한 유효성 검사에는 오류 정보가 포함됩니다. 예시:
../documentation/ansible/system-design-deployment/examples/S4HANA_2020_ISS_v001/bom_with_errors.yml
178:16 error too many spaces after colon (colons)
179:16 error too many spaces after colon (colons)
180:16 error too many spaces after colon (colons)
... yamllint [errors]
... ansible-lint [ok]
- Expected to find key 'defaults' in 'bom' (Check name: S4HANA_2020_ISS_v001)
- Unexpected key 'default in 'bom' (Check name: S4HANA_2020_ISS_v001)
- Unexpected key 'overide_target_location in 'bom.materials.stackfiles' (Check name: Download Basket Stack text)
... bom structure [errors]
BOM 업로드
permalinks와 함께 BOM을 사용하려면 다음을 수행합니다.
Azure Portal에 로그인합니다.
Azure 서비스 아래에서 리소스 그룹을 선택합니다. 또는 검색 창에
resource groups
를 입력합니다.SAP 라이브러리에 대한 리소스 그룹을 선택합니다.
리소스 그룹 페이지의 리소스 테이블에서
saplib
스토리지 계정을 선택합니다.스토리지 계정 페이지의 메뉴에서 데이터 스토리지 아래의 컨테이너를 선택합니다.
sap bits
컨테이너를 선택합니다.컨테이너 페이지에서 보관 파일 및 도구를 업로드합니다.
업로드 버튼을 선택합니다.
파일 선택을 선택합니다.
이전에 만든 다운로드 디렉터리로 이동합니다.