AWS (15) 썸네일형 리스트형 AWS, Elastic Beanstalk에서 cloudFront이용한 https통신 2024.01.05 - [AWS] - Elastic Beanstalk에 SpringBoot배포하기2024.08.20 - [AWS] - ACM ssl 도메인 인증서 발급2024.01.04 - [AWS] - CloudFront와 S3연결하는 법일단 백엔드를 EB에 배포하고 프론트를 cloudFront로 배포를 한 상태이며, ssl인증서를 cloudFront와 연결하였을때 이야기이다. 백엔드와 cloudFront와 연결해주고 cloudFront 도메인 + api를 호출해준다면 https로 호출하고 cloudFront에서 백엔드로 http로 자동으로 넘겨주어 백엔드는 아무것도 구성하지 않아도 https통신이 가능케 해준다. 또한 CloudFront를 통해 API 요청을 프록시하면 API 응답도 캐싱할 수 있어 .. AWS 민감한 정보 호출 Lambda함수, Secrets Manager 사용 (+ 환경변수 ) 필자는 SpringBoot를 이용하여 application.properties에 들어가야할 민감한 정보인 API키, 데이터베이스 자격 증명, 등 해당 데이터를 AWS Secrets manager에 저장하여 lambda를 이용하여 데이터를 호출 하였다. 1. Secrets Manager에서 시크릿 생성 2. 다른 유형의 보안 암호를 클릭하여 키/값 구조인 JSON형태로 원하는 데이터를 저장- 이후 임의로 보안 암호 이름을 입력해주고 다음을 누른다- 교체는 건드리지 않고 다음을 누르고 검토부분에서 샘플코드를 복사한 후 저장 한다(이후에 해도 무관)- 이 코드는 이후 람다 함수 코드에 사용할 예정이다.- ARN을 복사해놓는다 3. AWS Lambda에서 함수를 생성한다- 임의로 함수 이름을 설정하고 런타임에 .. S3,cloudFront와 Router53연결하여 라우팅 지정하기 2024.08.20 - [AWS] - ACM ssl 도메인 인증서 발급이전에 ACM을 발급받는 게시글을 정리하였는데 이번엔 레코드를 생성하여 라우팅을 하도록 할 것 이다. 기본적으로 http방식과 https방식이 있는데 요즘은 거의 https방식을 많이 사용한다 이유는 데이터를 암호화하여 전달하는 방식의 차이인데 http방식 보다 https방식을 사용하여 사이트의 신뢰성과 데이터 보안을 높이기 위해서이다. S3 -> Router53을 통해 라우팅이 되면 httpS3 -> cloudFront -> Router53을 통해 라우팅이 되면 https로 연결이 된다 2024.01.04 - [AWS] - CloudFront와 S3연결하는 법S3 -> cloudFront는 이미 하였으니 오늘은 라우팅 작업만 진행 할.. ACM ssl 도메인 인증서 발급 1. certificate Manager에 들어가서 퍼블릭 인증서를 요청한다 2. 구매한 도메인을 입력하고 요청을 누른다- 만약 도메인을 한글로 구매했을시 punyCode로 변환하여 등록한다.※ 문자 인코딩 사이트 : https://dencode.com/ 3. 검증 대기 중인 도메인을 CNAME을 이용하여 인증해 준다- 빨간색 동그라미 부분을 복사해준다.- 구매해줬던 도메인 사이트에 들어가서 DNS 설정을 찾아 레코드를 수정한다- 필자는 가비아를 사용하여 도메인을 구매했다- 레코드 수정을 클릭- 레코드 추가를 하여 CNAME으로 아까 certificate manager에서 복사한 CNAME이름에서 도메인 부분을 제외한 부분을 기입 후 CNAME 값을 값/위치에 붙혀넣기를 한다.- 확인을 누른 후 저장 .. linux에 데이터베이스 mysql 및 redis 설치 및 연결 필자는 AWS의 RDS를 사용할 만큼 큰 서비스가 아니기에 비용을 줄이고자 mysql을 EC에 연결하여 Elb에 인스턴스에 배포된 어플리케이션을 접속하고자 연결하였다. MySQL1. 패키지 업데이트sudo apt update 2. mysql 서버 설치- 명령어를 입력후 y를 눌러 설치를 진행하여 설치sudo apt install mysql-server 3. MySQL 서비스 실행- 서비스가 잘 실행 되고 있는지 확인하려면 systemctl status mysql을 했을때 active라고 나타난다면 서비스가 실행이 잘 되고 있다는 뜻이다.sudo systemctl start mysqlsudo systemctl enable mysql 4. MySQL 보안 설정(자유 설정)- 이 명령어 실행시 루트 비밀번호.. s3와cloudfront연동된 프로젝트 Github Action CICD 배포하기 저번 게시글을 통해 s3와 cloudfront가 연동이 되어 있지 않다면 이전 글을 확인 하며 연동을 하고 오자 Github Action을 통해 자동으로 build 및 AWS에 배포를 진행 할 것이다. 1. IAM 권한 설정 - 저번 elastic Beanstalk에서 사용했던 IAM계정을 가지고 권한만 추가하여 이용할 생각이다 - 계정을 생성하지 않았다면 저번에 올렸던 IAM계정 만드는 법을 확인 하고 오자 - 필자는 이미 등록하여 전부 권한 설정이 되어 있지만 안 했다는 가정으로 진행한다 - 권한 추가를 눌러준다 - 직접 정책 연결 체크 - 검색 부분에 아래의 두가지 권한을 검색하고 체크박스를 추가한다. ( 사실상 그에 해당하는 권한만 부여해주는게 가장 좋다 ) AmazonS3FullAccess Cl.. github Action CI/CD & AWS ElasticBeanstalk 자동 배포하기 아직 기본적인 준비가 완료되지 않았다면이전 글을 통해 AWS ElasticBeansltak 배포와 IAM 인증서로 Github연동을 하고오자Github Action의 스크립트 작성으로 바로 시작할 것이다. 1. Github Action 스크립트 수정(현재 v21)- 아래의 사이트를 통해 최신 버전을 확인 하고 그에따른 스크립트 입맛에 맞게 작성하자링크 : https://github.com/marketplace/actions/beanstalk-deploy Beanstalk Deploy - GitHub MarketplaceDeploy a zip file to AWS Elastic Beanstalkgithub.com 1-2. github action 스크립트 수정- 2024년이 되면서 github Action.. AWS에서 Github Action을 사용하기 위한 IAM 인증키 연동 AWS 서비스가 아닌 깃허브 액션을 통해 EB에 명령 하고자 한다면 권한이 있어야 한다. IAM 사용자를 이용하여 AWS 접근 권한을 받는다. 1. AWS의 IAM에서 액세스 키를 만든다 - 원래 필요한 권한만 정해서 줘야한다. 필자의 경우 Elastic Beanstalk와 Github을 연결 하여 Action을 이용 할 것이니AdministratorAccess-AWSElasticBeanstalk 권한을 주고 사용자를 생성 - 액세스 키 만들기 선택 - 설명태그 값은 github-action으로 입력 후 만들기 - 비밀 액세스 키를 잃어버리면 다시 찾을 수 없으니 csv파일을 다운받은 후 잘 보관하도록 하자 2.Github에 이동하여 비밀키 권한 부여 - setting -> secrets -> new r.. 이전 1 2 다음