AWS Systems Manager, Lambda를 사용해 S3의 파일을 EC2(Windows)내에 다운로드(동기)해 보았다.

개요도



Lambda ⇒ Systems Manager ⇒ EC2 ⇒ (동기 명령) ⇒ S3

▼참고(에 했습니다!)
htps : // v.ぁsss d. jp / arc c ぇ s / ぁ mb이다 - s3 - e c2 - 우드 ws - syn c /

작업 단계



▼전제
· S3에 버킷을 만들고 파일 업로드

① IAM 롤을 작성(EC2용)



AmazonEC2RoleforSSM
※상기 권한은 범위가 넓기 때문에, 다른 정책으로의 이행이 추천되고 있으므로,
일에서 사용하는 경우는 아래 페이지를 확인해 주시면 좋겠습니다.
htps : // v.ぁsss d. jp / arc c ぇ s / ch ck-amazone c2 rope r r s mpo cy /

②EC2 인스턴스 작성(windows 서버※ami-038c59e921e8b9c7d 사용했습니다)



롤에 "①"을 부착
⇒SystemsManager로 EC2의 오퍼레이션을 할 수 있게 된다
※SSM 에이전트는 기본적으로 설치되어 있습니다.

③ IAM 사용자 작성(EC2용)



AmazonS3FullAccess(S3 전체 액세스)

④EC2에 RDP(원격 데스크톱)하고 AWS CLI를 설치



MSI 설치 프로그램으로 설치했습니다.
htps : // v.ぁsss d. jp / archi c ぇ s / 후 rst - ㎉ 긴 - 토에 c2 - 우동 ws /
htps : // / cs. 아 ws. 아마존. 이 m/cぃ/ぁてst/うせrぐいで/いんsたっlーうぃんどws. HTML

⑤EC2에 RDP(원격 데스크톱)하고 AWS CLI에 액세스 키 시크릿 액세스 키를 설정



"③"으로 뿌린 액세스 키 비밀 액세스 키 설정
⇒이를 통해 AWS CLI에서 S3에 액세스할 수 있게 된다.

⑥ IAM 롤 생성(lambda용)



AmazonEC2FullAccess
AmazonSSMFullAccess
※lambda 기본 정책에 위 추가

⑦lambda 만들기



EC2가 S3의 파일을 동기화하는 명령을 실행하게합니다.

결과



S3 파일이 EC2에 동기화되었습니다!


빠진 포인트



①lambda에서 aws cli 명령을 실행하면 아래와 같은 에러가 표시된다.



aws : The term 'aws' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path
was included, verify that the path is correct and try again.

글쎄, 맞아 (웃음)
▼ 시도한 것
① 명령을 관리 권한으로 실행하는 방법을 찾는다
 ⇒sudo적인 것은 없다, 그냥 파일을 두면 할 수 있을 것 같은 느낌,, 일단 방치
② EC2에 admin 권한이 없는 사용자를 만들어 로그인하고 Power Shell에서 aws cli 명령 실행
⇒보통으로 실행할 수 있다. (admin 권한 주위는 관계없을 것 같다)
③EC2에 디폴트로 인스톨 되고 있는 SSM 에이전트의 ver를 최신으로 해 보았다
AWS 콘솔 > AWS System Manager > 관리형 인스턴스 > Agent auto update를 누릅니다.
⇒안 좋게 근거로 한 것입니다만, 해결! ! !

설마, 이것이란, 라는 느낌이었습니다.
아니, 무사히 해결, 기분이 좋았습니다(*'▽')

과연 포인트



원래 공개 서브넷에서 EC2/VPC 외부 lambda에서 실행했습니다.
EC2를 프라이빗 서브넷(NAT 포함)으로 이동시켜도 문제가 없는지 확인해 보았습니다.
⇒ Lamdba의 명령이 더 이상 실행되지 않습니다.

시도하지 않지만 다음 작업으로 가능할 것 같습니다.
VPC 엔드포인트는 양방향이군요.
htps : // v.ぁsss d. jp / rc c ぇ s / ts의 te-p ri ぁ te-e c2-sm-vpc-en d poin t /

이상입니다. 공부가 되었습니다.

좋은 웹페이지 즐겨찾기