본문 바로가기

AWS

(11)
[AWS] 10. AWS_VPC 개념 AWS 개념 What is IP Address? 컴퓨터 사이에 통신을 하려면 컴퓨터의 위치값을 알아야 한다. 각 컴퓨터의 위치값(주소)을 IP 주소라고 지칭한다(IPV4). 172 . 16 . 254 . 1 라고 하면 8비트로 4번, 생성 될 수 있는 총 개수 = 2^32개다. 처음엔 충분할줄 알았는데... 인터넷 이용자가 폭발적으로 늘어나다 보니 부족하게 되었다. 이때문에 나온것이 "서브넷"이라는 개념이다. (추후에 다룬다.) IP 주소를 효율적으로 다루기 위해 주소를 Network bit와 Host bit로 나누는데 다음과 같다. 호스트비트가 네트워크비트에 종속되는 형식이다. a class는 하나의 네트워크 안에 2^24만큼의 ip를 보유하고 있으며,(2^24만큼의 호스트가 있다.) a로 갈수록 네트..
[AWS] 9. Github Actions를 통한 배포_back Github Actions를 통한 배포_back Front에서 했던것과 마찬가지로 Github Actions를 통한 배포를 마무리해주자. Github Actions 사용방법 1. IAM 권한 추가 우선 S3와 CloudFront와 마찬가지로 EB에도 권한을 부여해야한다. IAM의 사용자에 접속해서 AdministratorAccess-AWSElasticBeanstalk권한을 추가하자. 2. GitHub Action을 이용한 배포준비 서버는 프론트보다 조금 복잡하다. 우선 application.py파일로 서버를 만들어 줘야한다. .github/workflows/main.yml 파일을 만들어줘야한다는 규칙과 마찬가지로 application.py를 만들어 줘야 배포가 된다. EB에서 파이썬을 배포할 때 기본 세..
[AWS] 8. ElasticBeanstalk (EB) ElasticBeanstalk (EB) ELB + Auto Scaling + EC2를 한번에 관리해주는 서비스 지금까지 백엔드 구성을 해보았다. 처음엔 하나의 EC2 인스턴스를 만들어 서버로 활용했다. 다음엔 인스턴스를 여러개 만들 필요성을 느껴 최초 인스턴스를 AMI로 찍어서 ELB와 Auto Scaling을 이용하였고, 여러 EC2 인스턴스를 관리해 주었다. 이제 ELB와 Auto Scaling을 쉽게 관리해주는 ElasticBeanstalk를 알아보자. EC2를 직접적으로 사용하는 방법 중 가장 편리한 방법이 EB라고 한다. 따라서 기존에 생성한 EC2나 LB등이 있다면 삭제하고 시작해보자. EB 만들기 1. EB에 접속 후 Create Application 클릭 AWS에 접속하고 ElasticBe..
[AWS] 7. ELB ELB Elastic Load Balancing(ELB)은 여러대의 EC2를 묶어서 사용하기 위한 서비스이다. 현업에서는 EC2 한대 만으로 서버를 구성하지 않고 여러대로 구성을 하는데 이때 트래픽(Load)를 분산(Balancing)해주는 역할을 한다. EC2앞에 ELB를 연결하여 사용한다. 원래는 도메인에 EC2 인스턴스의 IP를 연결하는데, 이렇게 되면 도메인에 ELB의 엔드 포인트를 연결하여 트래픽에 따라 EC2의 성능과 개수를 실시간을 대응할 수 있다. 1. ELB 만들기 조금 복잡하다. 차근차근 잘 진행해보자 먼저 좌측 상단의 이녀석을 이렇게 해제하고 진행하면 스파르타의 강의와 같은 버전으로 진행할 수 있다. 우선 다음과 같이 접속하자. EC2에 접속 > 로드밸런서 > Load Balancer..
[AWS] 6. EC2 EC2 EC2는 AWS의 가장 기본적인 서비스 중 하나이다. 서버 컴퓨터를 하나 빌려서 프로그램들을 설치하고 사용하면 된다. EC2 만들기 물론 추후엔 EB를 통해 통합적으로 관리하지만, 우선은 하나의 EC2를 어떻게 만들어가는지 알아보자. EC2 접속 > 인스턴스 시작 AMI(Amazon Machine Image)선택 - 원하는 AMI 선택, ubuntu를 가장 많이 쓰며, 18.04LTS 선택 / 만약 먼저 생성해 둔 AMI가 있다면, 해당 AMI선택 인스턴스 유형 선택 - 성능에 따라 과금 다름, 프리티어 선택 인스턴스 구성 스토리지 추가 태그 추가 보안 그룹 구성 - 포트와 소스 등 지정, 지금은 22번 포트로 들어오는 모든 대역대를 허용 / 22번 포트는 SSH 프로토콜 포트 검토 - 시작하기 ..
[AWS] 5. Github Actions를 통한 배포_front Github Actions를 통한 배포_front GitHub Actions는 Github에서 제공하는 배포 서비스이다. GitHub Repository로 CI, GitHub Actions로 CD, 하나의 파이프라인이 완성된다. 가장 먼저 발급받아 사용중인 GitHub Token에 workflow에 접근 할 권한이 있는지 체크해야한다 이거 때문에 상당한 시간을 허비...했다... Github Actions 사용방법 1. Github Actions에서 S3에 배포할 수 있는 권한부여 Github Actions과 IAM을 연동하여 S3와 CloudFront, 두개의 서비스에 접근 할 권한을 부여 AWS 접속 IAM 사용자 계정 접속 권한 추가 기존 정책 직접 연결 CloudFrontFullAccess 선택 ..
[AWS] 4. Amazon CloudFront Amazon CloudFront CloudFront는 AWS에서 제공하는 CDN 서비스다. CloudFront와 S3를 연결하면, 서울 리전의 S3 버킷에 파일을 올려도 edge location에 캐싱되어 다양한 지역에서 빠르게 접속이 가능하다. CloudFront 사용법 CloudFront에 접속 CloudFront 배포생성 원본 도메인에 원하는 S3 버킷이나 ELB 선택 기본값 루트 객체에 index.html 입력 도메인 이름 확인 후 잠시 대기 배포가 완료되면 도메인으로 접속, CloudFront로 접속 완료 한가지 더 장점은, S3의 정적호스팅 URL로 접속하면 과금이 발생하지만, CloudFront에 연결한 도메인으로 접속하면 과금이 없다고 한다. 이전에 구매했던 가비아 도메인 새로 연결해보자...
[AWS] 3. Amazon SDK Amazon SDK SDK를 이용하여 개발환경에 연동하여 AWS를 사용할 수 있다. AWS SDK 설정 및 S3와 연동 aws --version # aws-cli/2.2.43 Python/3.8.8 Windows/10 exe/AMD64 prompt/off aws configure AWS Access Key ID [None]: AWS Secret Access Key [None]: Default region name [None]: ap-northeast-2 Default output format [None]: json # 업로드 aws s3 cp {파일명} s3://{버킷이름} --acl public-read # ex 파일이 있는 폴더로 이동 후) aws s3 cp diff.png s3://lukaidspa..