작성
·
266
답변 1
2
안녕하세요.
Passive 모드인 람다함수가 다른 함수에 의해 호출될때 Initialization, Invocation, Overhead 등의 서브세그먼트 정보가 나타나지 않는 부분을 알려주셨습니다.
람다함수의 실행역할(IAM Role)로 사용 중인 'Lambda_Kanba_Role'에 X-Ray에 정보를 보낼 수 있는 권한이 부여되지 않아 생긴 문제로 여겨지며, 이를 간단하게 해결하기 위해서는 4개의 람다 함수 중 아무 곳에서
1. AWS X-Ray 항목의 '활성 추적'을 클릭해주세요.
2. 클릭시, 하단에 붉은 글씨로 '...자동으로 역할에 해당 권한을 추가합니다.' 라는 안내문이 나옵니다. (참조: 하단 첫번째 이미지)
3. 저장 버튼을 누릅니다. 에러 없이 저장이 되었다면 IAM에서 Lambda_Kanba_Role 역할을 확인시 X-Ray관련 권한이 추가된 것을 확인할 수 있습니다. (참조: 하단 두번째 이미지)
- xray: PutTracesSegments 와 xray:PutTelemetryRecords 라는 권한이 새로운 정책이나 기존 정책에 포함된 것이 확인되어야 합니다.
4. 상기 1번에 클릭한 '활성 추적' 부분은 필요하지 않으니 다시 클릭하여 해제하시고 저장 버튼을 누릅니다.
5. 'Lambda_Kanba_Role ' 역할의 X-Ray권한이 살아있는한 동일한 역할을 사용하는 나머지 람다 함수에서도 관련 세그먼트 정보가 X-ray 에서 정상적으로 나타나야 합니다.
** 강의 촬영 당시엔 API Gateway에서 X-Ray 추적 활성화시(Active) 호출되는 Passive 람다함수의 실행역할에 해당 정책이 자동으로 추가되었던것 같은데 변경이 있었던 것 같습니다. 그게 아니면 녹화 외 시간에 제가 상기 1-4번을 수행했다는 것인데 확실치가 않네요(이번에 처음 알게 된 것이라..).
** 해당 내용 알려주셔서 감사합니다.