본문 바로가기

AWS17

[AWS] IAM 계정이 두개 이상일 때 serverless 배포 시 주의할 점 원래 모든 권한을 갖고있던 serverless_user 계정만 사용했었고 serverless, docker Image 배포 시에 serverless deploy만 하면 됐었는데, 최근 web을 만드는 중에 서버는 serverless_user 계정을 이용해서 배포, 웹은 새로운 계정(react_user)을 만들어 배포하려고 했다. 새로운 계정은 웹만 배포하면 되기에 S3FullAccess 권한만 주었는데 serverless deploy 명령을 하니 오류가 뜬다. Error: User: arn:aws:iam::365756929004:user/react_user is not authorized to perform: ecr:DescribeRepositories on resource: arn:aws:ecr:ap-.. 2024. 1. 2.
[AWS] React 웹 AWS S3로 배포하기 먼저, IAM에서 유저 생성 후 AmazonS3FullAccess 권한 추가 Access key ID, Secret access key 발급 받은 후에 보관해놓고 S3로 이동한다. S3로 들어가서 버킷 만들기 클릭 -> 버킷 이름(유니크하게) ACL 활성화됨 체크 퍼블릭 엑세스 차단 체크 풀고 버킷 생성한다. 그 후 배포할 프로젝트 터미널에 npm run build 실행 -> build 폴더 생성 생성된 버킷 들어가서 업로드 클릭 -> 폴더 추가 -> 생성된 build 폴더 업로드 그 후 권한 탭의 버킷 정책 편집 클릭 { "Version":"2012-10-17", "Statement":[ { "Sid":"AddPerm", "Effect":"Allow", "Principal": "*", "Action":.. 2023. 12. 24.
[AWS] Git Actions를 이용한 Docker Image 배포 자동화(CI/CD) 하는 방법 이전 글 참고 https://dongsu96.tistory.com/132 -> 수작업 배포를 해봤으니 git actions를 이용한 자동 배포 하는 법을 알아보자. 자동 배포 하는법 github에서 해당 repository 들어간 후에 actions 탭 클릭 name: Deploy sls app on: push: branches: - master jobs: deploy: runs-on: ubuntu-latest env: SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACC.. 2023. 12. 19.
[AWS] Docker Image로 수작업 배포 하는 방법 먼저, https://www.docker.com/get-started/ 에서 설치하고 실행 후 로그인한다. -> Docker 로그인 할 때 이런 문제가 발생하면 터미널에 wsl.exe --install 실행 ECR(Elastic Container Registry)에 도커 이미지 업로드 가능하게 AWS 설정 -> AWS의 IAM의 유저에 위 권한 추가 후 ECR로 이동(region 확인) -> 리포지토리 생성 클릭 - 프라이빗 체크 - 빈칸엔 AWS lambda의 서비스명-dev로 작성 후 생성 -> 만든 리포지토리 체크 후 작업 탭에 권한 클릭 - 권한 편집에서 명령 추가 - IAM 개체텝에서 IAM 사용자명 검색 후 체크 -> 20개 모두 체크 후 저장한다 -> 다시 정책 JSON 편집 클릭 - ecr.. 2023. 12. 14.
[AWS] AWS의 S3 생성하는 법 이미지, 동영상들은 AWS의 S3(스토리지 개념)에 저장한다. 저장 후 해당 이미지, 동영상의 url 주소는 AWS의 RDS(데이터베이스 개념)에 저장한다. 버킷 = 폴더 같은 개념 -> AWS S3 검색 후 버킷 만들기 클릭 -> AWS 리전 선택, 버킷 이름 작성 -> ACL 활성화됨 체크 -> 체크 풀고 버킷 만들기 클릭 버킷 목록에서 방금 만든 버킷 들어가기 -> 업로드 클릭 -> 파일 추가 후 업로드하기 -> 올린 파일 클릭 - 권한 - ACL(엑세스 제어 목록) 편집 - 모든사람(퍼블릭 액세스) 객체에 읽기 체크 - 변경사항 저장하면 완료. 2023. 12. 14.
[AWS] Git Actions를 이용한 Lambda에 배포 자동화(CI/CD) 하는 방법 이전 글 참고 https://dongsu96.tistory.com/121 -> 수작업 배포를 해봤으니 git actions를 이용한 자동 배포 하는 법을 알아보자. 자동 배포 하는법) github에서 해당 repository 들어간 후에 actions 탭 클릭 name: Deploy sls app on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest env: SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCE.. 2023. 12. 12.
[AWS] Lambda에 수작업 배포 하는 방법 배포 하려는 작업 모두 개발을 완료하면, -> cmd창에서 원하는 경로로 이동 후 serverless(배포용) 실행 하면 배포할수있는 폴더가 만들어진다. 그 후 vscode로 생성된 폴더에 들어간 후, -> serverless.yml의 provider 부분에 runtime = aws lambda가 지원하는 언어와 버전 입력, region엔 aws에서 서울에 해당하는 값을 넣고 저장한다. 그 후에는, flask run으로 실행 Postman 실행 후 테스트 문제 없다면 터미널에 sls deploy 실행해서 배포 endpoint의 주소로 다시 Postman에서 실행 문제가 없다면 git repository(private) 생성 터미널에 git init 후 git remote add origin [해당 rep.. 2023. 12. 12.
[AWS] AWS의 Lambda에 배포 테스트하기 먼저, Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org (https://nodejs.org/en/) 들어가서 node.js 설치한다. 설치가 잘 되었는지 확인) -> cmd(명령 프롬프트)창 들어간 후 node 검색 후 저렇게 뜨면 설치가 잘 된것이다. -> npm install -g serverless 해서 serverless 프레임워크 설치한다. 그 후, AWS Credentials 만들기) -> AWS(https://aws.amazon.com) 들어가서 로그인 - 검색 창에 iam - 좌측 사용자 클릭 - 사용자 생성 클릭 - 사용자 이름 쓰고 다음 클릭 -> 직접 정책 연결 체크 후.. 2023. 12. 11.
[AWS] AWS의 RDS Free tier 생성하는 법 기본세팅) 1 . aws 홈페이지 접속 2. 무료 계정 생성(회원가입) 3. 로그인을 한 후 우측 상단 지역 설정 탭에서 아시아 태평양 (서울)로 지정한다. 4. 좌측 상단 서비스 - 모든 서비스 - 모든 서비스 보기 클릭 후 데이터베이스/RDS 클릭 -> 데이터베이스 생성 클릭 -> 건들지 X -> 사용할 데이터베이스 소프트웨어 선택 -> 중요!! 프리티어(무료) 선택 -> DB 인스턴스 식별자 = aws RDS의 DB 식별자 이름 마스터 사용자 이름, 마스터 암호 = 사용할 DB 소프트웨어에 aws RDS를 연결할 때 사용할 id, password -> 예로 선택 말고는 건들지말고 데이터베이스 생성클릭 하면 생성된다. 2023. 11. 29.
[AWS] EC2 서버 Streamlit 특정 포트 지정해서 실행하는 법 putty에서 streamlit 실행을 할 때, streamlit run 파일명.py만 하게 되면 aws 사이트 - 인스턴스 - 인바운드 규칙에서 뚫은 포트 번호 순서대로 들어가게 되는데 원하는 파일을 원하는 포트에 열고싶다면, 특정 포트 지정해서 실행하는 법 -> $ nohup streamlit run 파일명.py --server.port 원하는포트번호 & 2023. 11. 23.