Basic/코딩기초

[Cloud] AWS(Amazon Web Service)

코딩공대 2022. 12. 2. 15:16
728x90

1. Cloud Computing

  • Cloud의 장점
    1. 컴퓨팅 능력을 유연하게 조절가능하다.
    2. 사용한 만큼의 요금 지불한다.
    3. 스냅샷을 이용하여 다른 컴퓨터로 즉시 이주가 가능하다.
  • Cloud의 단점
    1. 클라우드 제공자에게 종속되어 클라우드 서비스에 문제가 생기면 내가 관리하는 환경에도 영향을 미친다.

2. Deploy(배포)

  • 기본적인 배포 과정 4단계
    1. Development
      •  Local 환경에서 개발 및 테스트한다.
      • Sample Data를 이용한다.
      • 변경사항이 생겨도 문제되지 않는다.
      • 모두 각자의 환경에서 개발을 진행한다.
    2. Intergration
      • 각자 환경에서 개발된 내용을 합치는 과정이다.
      • 코드간 Conflict가 없는지 확인하는 단계이다.
      • 작성한 코드가 다른코드에 문제를 일으키지 않는지 확인한다.
    3. Staging
      • Production단계와 가장 유사한 환경에서 테스트한다.
      • 복제된 실제 데이터를 ㅣ용하여 테스트한다.
      • 모든 관계자들에게 검증하는 단계이다.
    4. Production
      • 개발환경과는 구분된 환경이다.
      • 코드를 구동하고 서비스를 제공하는 단계이다.
      • 실제 데이터를 가지고 서비스가 운영되기 때문에 문제가 발생하면 안된다.
  • 작성한 코드가 다른 환경에서 정상 작동할 수 있게 하려면
    • 절대경로 대신 상대경로를 이용한다.
    • 환경에 따라 포트를 분기할 수 있도록 환경변수를 설정해준다.
    • Docker와 같은 개발 환경 자체를 통일시키는 솔루션을 사용한다.

3. EC2(Elastic Compute Cloud, AWS의 서비스)

AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는 것
사용한 만큼 비용을 지불하기 때문에 '탄력적인'이라는 Elastic이 붙었다.
  • EC2의 장점
    1. 구성하는데 시간이 짧다.(PC를 구매하면 배송받기까지의 시간이 필요하지만, EC2는 클릭 만으로 PC를 구성할 수 있다.)
    2. 다양한 운영체제에 대한 선택이 가능하다.(운영체제뿐 아니라 CPU, RAM, 용량까지도 쉽게 구성가능하다.)
    3. 아마존 네트워크를 통해서 컴퓨터를 제어해야 하지만 일반적인 컴퓨터와 다를게 없다.

4. RDS(Relational Database Service)

  • RDS의 장점
    1. 데이터베이스와 관련해서 자동으로 관리를 해준다.
    2. 데이터베이스 엔진의 설치, 버전관리, 데이터백업을 해준다.
    3. 다양한 데이터베이스 엔진 선택지를 제공한다.

5. S3(Simple Storage Service)

  • 클라우드 스토리의 장점
    1. 뛰어난 접근성을 가지고 있다.
    2. 웹에 접속이 가능한 다른 전자기기를 활용하여 클라우드 스토리지에 저장된 데이터에 접속할 수 있다.
    3. 높은 확장성이 있다.
    4. 내구성이 좋다.(저장된 파일을 잃어버릴 확률이 낮다.)
    5. 데이터 보관비용이 저렴하다.