본문 바로가기
일지/헬키

[React-native + Web] 헬키 개발일지 3. HTTPS + 배포 도전기 2

by 리나그(ReenAG) 2024. 5. 7.
728x90
반응형
2024-05-07T02:10:23 ERROR [codedeploy-agent(23562)]: 
InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: 
Missing credentials - 
please check if this instance was started with an IAM instance profile

... 원래하던 프로젝트(GTDList)는 어떻게 되었냐고, 왜 넌 맨날 하고 싶은게 바뀌냐고 물으실지도 모르겠다만, 원래 하던 것도 결국 마무리할 계획이 있고, 사실상 그쪽에서 쓰던 백엔드를 가지고 작업하고 있다! 프런트는 원래 망해가고 있었으니, 실제로는 어느정도 이어지고 있는지도 모르겠다. 계속 코드를 짜다보면 결국 기본적인 건 비슷하달까.
 
 이번에는 project 특성상 private repo에서 진행된다. 그래서 그게 없는 기간 동안은 내가 직접 기록을 해야한다는 뜻이니까, 퀄리티가 다소 떨어지더라도 의식의 흐름대로 적어봐야겠다.
 
잡담은 각설하고,  어제 해낸 것은 이것이다.

그렇다! 이제 aws codedeploy가 된다! 만세! 
 
근데 ec2 instance를 뒤져봐도 딱히 안나오길래 일단 더 정보를 알아보기로 했다. 개인적인 의견이지만, 아마존 aws console은 그냥 영어로 쓰는게 마음이 편하다. 안 그러면 일일이 머릿속에서 번역해야하는게 사람 짜증나게 한다.
아 그리고 e2c가아니라 ec2다...? 왜!!!1
 
지금 aws측에서 보니까, 확실히 credentials까지는 ok인데, 정작 제대로 deploy가 안된 모양이다.
좀 더 deploy과정을 이해한 바로, 
 
1. S3 bucket 으로 깃헙이 내 source archive를 보낸다.
2. e2c에서 그걸 받아서 다시 압축해제해서 deploy한다.
 
이러한 과정을 거치는데, bucket에 업로드는 제대로 되었다. 그렇게 콘솔을 흝어본 결과, e2c에서 이런 에러를 발견했다.

이를 stack overflow에서 좀 더 흝어본 결과, 일단 codedeploy agent, 내가 설치했던 녀석의 log를 살펴보기로 했다.

sudo cat /var/log/aws/codedeploy-agent/codedeploy-agent.log

그랬더니 바로 에러가 있었다...

2024-05-07T02:10:23 ERROR [codedeploy-agent(23562)]: 
InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: 
Missing credentials - 
please check if this instance was started with an IAM instance profile

생각해보니 iam role을 한 개 파괴한 적이 있었는데, 그게 instance를 돌리고 있었다는 걸 까맣게 잊어버린듯하다;;
 
하여간에 iam을 새로 만들어주었다. 첫 화면에서 ec2를 선택해주고, 두번째 화면에서 S3 + deploy 권한을 주었고, 다시금 instance에 iam role에 할당해주었다.

여기서 security를 선택하면 iam role을 변경가능하다. 확실한 적용을 위해서 reboot를 한 다음, 다시 접속해서 로그를 깐 결과, 문제는 없어보였다. 다시 deploy를 눌러보자.

 
좋아.. 전보다는 더 나아간 곳에서 멈췄다. error를 보니까 내가 사용자이름도 오타를 내서 문제가 되었다.
아 그리고 e2c가아니라 ec2다...? 왜!!!2
 
하여간에... appspec.yml을 후딱 고쳐주도록하자. .github/workflow 안에 있는 녀석들은 github측에서 실행된다면, appspec.yml은 aws에 배포된 이후, e2c에서 실행되는 녀석이라 생각하면 된다. 지금은 단순하게 어느 디렉토리에 tar파일을 옮기고 압축해제 해달라고만 했다.

성공~! 터미널에도 잘 도착한게 보인다.

근데... .env는 없네 어디갔지 오다가 죽었나
 
일단 .env는 시스템적으로 hidden 파일이기 때문에, tar file에 애초에 archive가 안되었을 가능성이 커서 wildcard 설정을 바꾸어 주었다. 추가해줘서 해결했다. 이젠 진짜 cert파일만 있으면 돌릴 수 있다.
근데 어캐구함?

일단 학교가야하니까 나중에 생각하자.

728x90
반응형