[OSSCA] Challengers 2주차 과제 Azure Bicep 만들기

뚜비·2022년 7월 29일
0

2022 OSSCA

목록 보기
5/14
post-thumbnail

2022 오픈소스 컨트리뷰션 아카데미 "NHN Toast Power Platform Connector" 프로젝트에 참여하면서 Challengers 기간 동안 배운 내용을 기록하였습니다.



✅ 필요한 리소스

필요한 리소스와 리소스의 bicep과 관련된 Microsoft 공식 문서를 찾아보았다! 브라우저에 필요한 리소스이름 bicep을 치면 관련 공식문서가 여러 개 뜨는데, 그 중 template format이 있는 문서를 찾으면 된다! 그리고 API version은 항상 최신으로!!



❌ 오류 해결

  • resource identifier에 노란줄 혹은 빨간 줄이 뜨는 경우
    -> 마우스로 드래그 하여 빼놓은 properties를 확인하고 추가해줘야 한다!!

  • provisioning할 때마다 이런 에러가 뜨는데..

이를 해결해주려면 Azure Portal에 가서

해당 이름(rg-oca-krc)으로 리소스 그룹을 만들어주고 프로비저닝을 하니 에러가 안 떴다!!



  • provisioning할 때마다 이런 에러가 뜨는데..2
    한번 자세히 읽어보고 수정하자!


message:At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.

이런 에러 메세지를 볼 수 있는데 1개 이상의 리소스가 배포하는데 실패했다는 것.. 일반적인 Azure 배포 오류 문제 해결에 들어가보면 어떤 에러인지 친절하게 잘 설명해준다.

즉 detail한 부분에 오류가 있다는 것이므로!! 어떤 detail한 부분을 놓쳤는지에 대해서는 에러 메세지를 잘 읽어보면 친절하게 설명해주고 있다!



1. BadRequest -> InvalidParameter

'CapacityReservationLevel' must be set for 'CapacityReservation' SKU type. Operation Id: 'd8a6ab0396fef0408d044c45140a77f1'\",\r\n \"target\": \"sku.CapacityReservationLevel\"

❗ Azure log analytics workspace 리소스를 만드는데 발생한 문제였다.
❗ 즉 SKU 타입이 'CapacityReservation'인 경우 CapacityReservationLevel 속성이 반드시 setting되어야 한다는 뜻이다.링크

이렇게 고쳐주었다.



2. Conflict -> ServiceAleadyExists

Api service already exists: apim-oca-krc\",\r\n \"details\": null,\r\n \"innerError\": null

❗ api service가 이미 존재한다는 에러인데... 아마 내 예상컨대,, bicep 만들기 전 기존에 연습했던 리소스를 삭제했는데 완전히 삭제하기 전에 프로비저닝을 하면 이름이 겹치면서 충돌이 일어난 듯?

Api service already exists 인터넷에도 똑같은 질문이 있더라!

그냥 apim을 apimanage로 바꿔주었다!



3. DeploymentActive

Unable to edit or replace deployment 'oca': previous deployment from '7/29/2022 8:13:26 AM' is still active (expiration time is '8/5/2022 7:52:42 AM')

링크 를 보면 같은 이름으로 진행중인 배포가 있다라는 뜻!!

배포 이름을 test로 바꾸었다!!



참고로 Azure portal에서도 뭐가 틀렸는지 알 수 있다!!


아니 근데 자꾸 에러가 떠서... 그냥 리소스 그룹을 삭제하고 다시 같은 이름의 리소스 그룹을 만들었다..



4. Conflict -> ServiceAlreadyExistsInSoftDeletedState

Api service apimanage-oca-krc was soft-deleted. In order to create the new service with the same name, you have to either undelete the service or purge it

API Management soft-delete (preview)에서 soft-delete behavior 부분을 보면 api Management가 soft-deleted 되어서 이름을 바꾸라는 데... 그냥 api management 이름을 바꿔주었다!!!



5. Requested features are not supported in region

계속 이름 바꾸고.. 리소스 그룹 재생성하고.. 빌드하고 배포해도 이 에러가 뜨는 것이다!!! 대체 뭐지!! 싶었는데 생각해보니 리소스 그룹 생성할 때 region 설정을 Korea로 해둔 것이 원인인가 싶어 region을 US로 그대로 두었더니.. 된다....



이제 되겠지 했는데....


6. "Deployment 'deploy' could not be found

걍 배포 이름(-n oca)을 지정 안 해주고 실행하면!!!!!!



하ㅏ.... Api Managment 이름 수정해줘야 하고..



❗❗성공❗❗

이렇게 콘솔창에 다음과 같은 json 객체가 보여야 성공한 것!!!


드디어... 되었다!!!!



참고자료

공식문서에도 Bicep 파일 배포 문제 혹은 리소스 배포에 대한 설명이 잘 되어있으니 잘 참고하길 바라며 Bicep은 끝!!

빠른 시작: Bicep 파일 배포 문제 해결

ARM 템플릿 및 Azure Portal을 사용하여 리소스 배포

profile
SW Engineer 꿈나무 / 자의식이 있는 컴퓨터

0개의 댓글