Skip to content

계정 이관 rewire 의 사이드 repo 배선 누락 보완 - #1175

Merged
m-a-king merged 3 commits into
devfrom
infra/1174-migrate-rewire-side-repos
Oct 19, 2026
Merged

m-a-king merged 3 commits into
devfrom
infra/1174-migrate-rewire-side-repos

Conversation

@m-a-king

@m-a-king m-a-king commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

한눈에

계정 이관 뒤 extractor·renderer 배포 대상 계정 교체

  • 이전: 이관 작업이 core 배포 설정만 새 계정 값으로 바꿈
    • extractor·renderer 배포 설정은 옛 계정 값으로 남음
    • 결과: 지난 이관 뒤 extractor 배포가 6일간 옛 계정 서버로 나감
  • 배포 작업은 배포 권한이 속한 계정에서 서버를 찾음
  • prod 이관 때 두 서비스의 배포 권한도 새 계정 값으로 교체
  • 아무도 읽지 않는 core 서버 주소 설정은 이관 작업이 더는 쓰지 않음
  • 머지해도 배포 없음. 다음 계정 이관 때 처음 동작

Situation

원인 확인

Task

이관 배선 보완

  • 계정 이관 rewire 의 사이드 repo 배선 누락 보완 #1174
  • 범위: 박스 주소(EC2_HOST) 갱신 제외
    • 원인: SSM 전환 뒤 core·extractor·renderer 어느 워크플로도 EC2_HOST 를 읽지 않음
  • 범위: renderer 배포 역할 갱신 추가
    • 원인: renderer 가 SSM 전환 때 계정별 배포 역할을 새로 가짐
  • 범위: OLD_ACCOUNT_ID 갱신 추가
    • 원인: 2차 이관 finalize 수동 정리 항목이 남은 것을 작업 중 발견

Action

rewire 가 사이드 repo 배포 역할까지 교체

  • prod 이관일 때만 동작
    • 원인: 두 박스는 전 환경 공용
repo 변수 새 값
extractor AWS_ECR_PUSH_ROLE_ARN 신 계정 piki-extractor-gha-ecr-push
renderer AWS_DEPLOY_ROLE_ARN 신 계정 piki-headless-browser-gha-deploy
  • 역할 ARN 은 IAM 에 이름으로 조회
    • 원인: 두 역할은 각 repo terraform state 소관
    • 이름은 infra_apps 가 쓰는 기본 name_prefix 기준
  • 값을 못 얻거나 쓰기가 거부되면 rewire 를 부분 실패로 종료
  • finalize 수동 정리 표에 두 항목 추가
선택지 효과 비용
IAM 이름 조회 (채택) rewire 에 AWS 호출 2건만 추가 역할 이름 변경 시 함께 고침
사이드 repo checkout 뒤 terraform output 이름 고정 없음 rewire 에 checkout·init 두 벌 추가
배포마다 대상 박스 계정 검사 값이 어긋나도 조용한 success 차단 세 repo deploy.yml 수정

core EC2_HOST 쓰기 제거

  • rewire 의 core Environment EC2_HOST 쓰기 삭제
  • rewire 의 needs 에서 deploy_core 제거
    • 원인: 앱 IP 를 받으려고만 기다리던 job
  • finalize 표의 EC2_HOST 행 삭제
  • 경고 문구의 고정 건수 삭제
    • 원인: 실제 남은 항목 수와 어긋나 있었음
  • EC2_HOST 검증을 가리키던 주석을 도메인 가드로 정정

finalize 의 역할 안내 기준을 rewire 완료 여부로 전환

  • finalize 가 rewire job 결과 대신 rewire 가 내보내는 완료 값으로 수동 행 표시
    • 원인: CROSS_REPO_TOKEN 이 없으면 rewire 가 아무것도 안 바꾸고 success 로 끝남
    • 원인: (리뷰 지적) 경고 문구에서 역할 항목을 조건부로 바꾸면서 그 경우 안내가 사라짐
  • 실패·건너뜀·토큰 없음 전부 rewire 미완료 로 표시

OLD_ACCOUNT_ID 갱신

  • 996918499382 를 731770491043 으로 교체

core GitHub 설정 잔재 삭제 (코드 밖)

위치 이름 처리
repo 수준 variable AWS_ECR_PUSH_ROLE_ARN·AWS_DB_PROVISION_ROLE_ARN 삭제 (09-28)
repo 수준 secret EC2_HOST·EXTRACTOR_PROD_ADDRESS 삭제 (09-28)
Environment prod·dev secret EC2_HOST 삭제 (10-19)
Environment prod·dev variable AWS_DB_PROVISION_ROLE_ARN 삭제 (10-19)
  • 원인: 읽는 워크플로 없음. DB provision 역할은 prod-db Environment 만 읽음
    • 결과: 값이 빠지면 조용히 옛 값으로 떨어지는 대신 실패로 드러남

Result

검증

  • migrate.yml 정적 검증(actionlint) 새 오류 0건
    • 새 경고는 기존 A && B || C 패턴 info 1건
  • rewire 스크립트를 가짜 gh·aws·terraform 으로 실행
경우 결과
prod 정상 core·prod-db·두 사이드 repo 4건 갱신, 성공
dev core Environment 1건만 갱신, 성공
extractor 역할 없음 부분 실패로 종료
renderer 역할 없음 부분 실패로 종료
renderer 쓰기 거부 부분 실패로 종료
역할 조회 결과 None 부분 실패로 종료
  • 같은 테스트를 dev 의 옛 rewire 스크립트로 실행하면 6건 중 5건 실패
  • finalize 안내 스텝을 환경 2종과 완료 값 4종(true·false·partial·빈 값)으로 실행
완료 값 prod 역할 행 dev 역할 행
true 0 0
false·partial·빈 값 4 1

위험

  • CROSS_REPO_TOKEN 의 extractor·renderer Variables 쓰기 권한 확인 불가
    • 권한이 없으면 다음 이관의 rewire 가 실패로 드러남. 조용히 넘어가지 않음

후속

  • 다음 이관 전 MIGRATE_SOURCE_AWS_* secret 새로 등록
    • 원인: 09-28 보안 정리 때 옛 계정 키와 함께 삭제
    • 원본이 될 현재 계정의 키 필요

연관 이슈

@m-a-king m-a-king linked an issue Sep 28, 2026 that may be closed by this pull request
@m-a-king m-a-king added the infra 운영 환경 (IaC·클라우드 리소스·secret·배포 workflow) label Sep 28, 2026
@m-a-king m-a-king self-assigned this Sep 28, 2026
@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: TeamPiKi/core/.coderabbit.yml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 03022d90-69be-48e3-9d69-2913763abef9
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Discord 스레드 연동용 메타데이터입니다. discord-pr-bot 워크플로가 자동 생성하며, 수정·삭제하면 PR 과 Discord 알림 연동이 끊깁니다.

- prod 이관의 rewire 가 extractor·renderer repo 수준 배포 역할 변수를 신 계정 값으로 교체
  - extractor AWS_ECR_PUSH_ROLE_ARN · renderer AWS_DEPLOY_ROLE_ARN
  - 원인: 세 repo 배포가 잡은 역할의 계정에서 Name 태그로 박스를 찾음. 역할 변수가 곧 배포 대상 계정
  - 원인: 2차 이관 뒤 extractor 가 6일간 켜져 있던 구 계정 박스로 배포 성공(#1174)
  - 두 박스는 전 환경 공용이라 prod 이관에서만 동작
- 역할 ARN 은 infra_apps 의 기본 name_prefix 이름으로 IAM 에 조회
  - 원인: 두 역할은 각 repo terraform state 소관
  - 대안: 사이드 repo checkout 뒤 terraform output
    - 기각: rewire 에 checkout·init 두 벌 추가. Name 태그 박스 확인도 이미 이름 고정
- 값을 못 얻거나 쓰기가 거부되면 rewire 를 부분 실패로 종료
- core Environment 의 EC2_HOST 쓰기 제거
  - 원인: SSM 경유 전환(#1219) 뒤 core·extractor·renderer 어느 워크플로도 EC2_HOST 를 읽지 않음
  - rewire 가 deploy_core 의 앱 IP 를 더는 쓰지 않아 needs 에서 deploy_core 제거
- finalize 수동 정리 안내 갱신
  - EC2_HOST 행 삭제. rewire 실패 때 두 사이드 repo 역할 행 표시
  - 경고 문구의 고정 건수 삭제. rewire 성공 시 역할 항목 없음
- 구 앱 박스 주소 해소 주석의 참조 정정
  - deploy.yml 의 EC2_HOST 검증을 도메인 가드로 교체
- 996918499382 를 현재 계정 731770491043 으로 교체
  - 원인: 2차 이관 finalize 수동 정리 항목이 남음
  - 위험: 그대로 두면 다음 이관이 이미 떠난 계정을 원본으로 삼음
- rewire job 이 done 출력을 노출. finalize 가 job 결과 대신 그 값으로 수동 행 표시
  - 원인: CROSS_REPO_TOKEN 이 없으면 rewire 가 아무것도 안 바꾸고 success 로 끝남
  - 원인: 직전 커밋이 경고 문구의 역할 항목을 rewire 성공 시 빼서 그 경우 안내가 사라짐(리뷰 지적)
  - 실패·건너뜀·토큰 없음 전부 미완료로 표시
@m-a-king
m-a-king force-pushed the infra/1174-migrate-rewire-side-repos branch from c45d0cb to 6ad129f Compare October 19, 2026 12:07
@m-a-king
m-a-king merged commit e90157f into dev Oct 19, 2026
7 checks passed
@m-a-king
m-a-king deleted the infra/1174-migrate-rewire-side-repos branch October 19, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra 운영 환경 (IaC·클라우드 리소스·secret·배포 workflow)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

계정 이관 rewire 의 사이드 repo 배선 누락 보완

1 participant