Seung's Learning Record

[AWS] AWS(Amazon Web Service)와 클라우드 컴퓨팅 본문

Dev Tool/AWS

[AWS] AWS(Amazon Web Service)와 클라우드 컴퓨팅

70_0ewd 2024. 5. 2. 14:53

 

 

목차

 

    클라우드 컴퓨팅  

    클라우드 컴퓨팅은 인터넷을 통해 컴퓨터 시스템의 자원을 제공하고 관리하는 컴퓨팅 서비스이다. 이는 사용자가 자신의 컴퓨터나 데이터 센터에 대한 직접적인 관리와 유지보수를 하지 않고도 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석, 인공지능과 같은 컴퓨팅 자원을 활용할 수 있게끔 해준다. 클라우드 컴퓨팅은 다음과 같은 특징을 가진다.

    1. 자원 공유: 클라우드 컴퓨팅은 여러 사용자가 하나의 물리적인 자원을 공유하는 것을 허용한다. 이로써 비용을 절감하고 자원의 효율성을 높일 수 있다.
    2. 탄력성: 클라우드 컴퓨팅에서는 필요한 만큼의 자원을 필요한 때에 빠르게 확장하거나 축소할 수 있다. 이는 사용자가 트래픽이나 작업 부하에 따라 자원을 동적으로 조정하여 효율적으로 운영할 수 있게 해준다.
    3. 자동화된 관리: 클라우드 제공 업체들은 자동화된 서비스를 제공하여 사용자가 인프라 구축, 운영 및 관리에 들이는 시간과 노력을 줄여준다.
    4. 유연성: 클라우드 컴퓨팅은 다양한 비즈니스 요구사항에 맞춰 다양한 서비스 모델을 제공한다. IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service) 등 다양한 서비스 모델을 선택할 수 있다.
    5. 안정성과 보안: 대부분의 클라우드 제공 업체들은 고급 보안 및 데이터 백업 시설을 갖추고 있으며, 물리적인 장소에 비해 더욱 안전한 데이터 보호 기능을 제공한다.

    AWS(Amazon Web Service)란? 

    aws 개념

    Amazon Web Services (AWS)는 아마존 닷컴의 클라우드 컴퓨팅 플랫폼이다. AWS는 현재 세계적으로 가장 큰 클라우드 서비스 제공 업체 중 하나이며, 다양한 산업 분야의 기업, 기관 및 개발자들이 안정적이고 확장 가능한 클라우드 인프라를 구축하고 운영하는 데 사용하고 있다.

     

    장점 

    • 확장성 : 광범위한 컴퓨팅 리소스에 대한 온디맨드 액세스를 제공하므로 기업이 필요에 따라 IT 인프라를 쉽게 확장할 수 있다.
    • 비용 효율성 : AWS 고객은 사용한 리소스에 대해서만 비용을 지불하므로 선불 비용이나 장기 약정 없이 비용 효율적인 솔루션을 제공한다.
    • 안정성 : 매우 안전하고 안정적인 데이터 센터의 글로벌 네트워크를 운영하여 고가용성 및 재해 복구 기능을 제공한다.
    • 유연성 : 컴퓨팅, 스토리지, 데이터베이스 및 분석을 포함한 광범위한 서비스를 제공하여 고객이 다양한 애플리케이션과 서비스를 구축하고 실행할 수 있도록 한다.
    • 보안 : AWS 는 고객 데이터를 보호하고 관련 규정을 준수할 수 있도록 다양한 보안 조치 및 인증을 구현한다.
    • 글로벌 도달 범위 : 여러 지역에 위치한 데이터 센터들 덕분에 데이터를 가까운 위치에 저장하여 대기 시간을 줄일 수 있다.

     

    단점

    • 복잡성 : 클라우드 컴퓨팅을 처음 접하는 조직의 경우 관리 및 탐색이 복잡할 수 있다.
    • 비용 : 비용 효율적인 솔루션을 제공하지만 사용량이 많거나 특수한 요구 사항이 있는 비즈니스에는 요금 모델이 비싸다.
    • 인터넷 의존성 : 안정적이고 빠른 인터넷 연결에 의존하며 모든 중단은 서비스의 성능과 가용성에 영향을 미칠 수 있다.
    • 공급업체 종속 : 기업이 AWS 에 투자한 후에는 다른 공급업체로 전환하는 것이 어렵고 비용이 많이 들기 때문에 공급업체 종속이 발생할 수 있다.
    • 보안 문제 : AWS 는 다양한 보안 조치를 구현하지만 클라우드에 중요한 데이터를 저장하는 것과 관련된 보안 위험과 우려가 여전히 존재한다.

    AWS 주요 서비스 

    컴퓨팅 서비스

    AWS 는 다양한 애플리케이션 및 워크로드의 요구 사항을 충족하기 위해 다양한 컴퓨팅 서비스를 제공하며, 그 중 가장 많이 쓰이는 서비스는 EC2이다.

    • AWS EC2
      • 다양한 운영 체제로 VM(가상 머신)을 빠르게 시작할 수 있는 확장 가능한 컴퓨팅 용량
      • VM 구성을 완벽하게 제어하고 요구 사항에 따라 쉽게 확장 또는 축소할 수 있으며, 특정 워크로드에 최적화된 사전 구성된 다양한 인스턴스 중에서 선택할 수 있다.
    • AWS Lambda
      • 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스
      • Lambda 를 사용하면 S3 버킷의 데이터 변경 또는 새로운 API 요청과 같은 이벤트에 대한 응답으로 코드를 실행하고 수요에 따라 애플리케이션을 자동으로 확장할 수 있다.
    • Amazon S3
      • 문서, 이미지, 비디오와 같은 방대한 양의 데이터를 저장, 검색 및 관리할 수 있는 객체 스토리지 서비스
      • 확장성과 가용성이 뛰어나서 빅 데이터 분석을 위한 데이터 레이크 또는 클라우드 네이티브 애플리케이션을 위한 기본 스토리지로 사용할 수 있다.
    • Amazon EBS
      • EC2 인스턴스와 함께 사용할 영구 블록 수준 스토리지 볼륨을 제공하는 서비스
      • 고성능, 낮은 대기 시간 및 요구 사항에 따라 스토리지 크기를 동적으로 조정할 수 있는 기능을 제공

    데이터 베이스

    AWS 는 다양한 유형의 애플리케이션 및 워크로드 요구 사항을 충족하기 위해 다양한 관리형 데이터베이스 서비스를 제공한다. 이 중 두 가지 인기 있는 서비스는 DynamoDB  RDS 이다.

    • DynamoDB
      • 일관되고 예측 가능한 성능이 필요한 애플리케이션에 빠르고 유연한 데이터 스토리지를 제공하는 NoSQL 데이터베이스 서비스
      • 문서 및 키-값 데이터 모델을 모두 지원하고 무제한 확장을 제공
    • RDS
      • 클라우드에서 관계형 데이터베이스를 쉽게 설정, 운영 및 확장할 수 있게 해주는 관리형 관계형 데이터베이스 서비스
      • Amazon Aurora, Microsoft SQL Server, Oracle, PostgreSQL, MySQL 을 비롯한 여러 데이터베이스 엔진을 지원

     

    네트워킹 및 콘텐츠 제공

    AWS 는 고객에게 콘텐츠를 안전하고 효율적으로 제공할 수 있도록 다양한 네트워킹 및 콘텐츠 서비스를 제공한다.

    • VPC
      • IP 주소 범위, 서브넷, 라우팅 테이블 및 네트워크 게이트웨이를 포함한 가상 네트워킹 환경을 제어한다.
      • AWS 리소스를 AWS 클라우드의 논리적으로 격리된 섹션으로 시작할 수 있으며, 여기서 데이터를 안전하게 저장하고 네트워크를 통해 액세스할 수 있다.
    • Route 53
      • 용성과 확장성이 뛰어난 DNS(Domain Name System) 서비스
      • 단순, 가중치, 대기 시간 기반 또는 지리적 위치 기반 라우팅과 같은 다양한 라우팅 유형을 통해 애플리케이션 또는 웹 사이트로 트래픽을 라우팅할 수 있다. 

    개발자 도구

    • Codestar
      • AWS 클라우드에서 애플리케이션을 개발, 빌드 및 배포하기 위한 통합 개발 환경(IDE) 및 프로젝트 관리 서비스
      • CodeStar를 사용하여 여러 프로그래밍 언어 및 프레임워크를 지원하는 프로젝트 템플릿을 기반으로 코드를 작성하고 협업할 수 있다.
    • CodeBuild
      • 빌드 프로세스를 자동화하는 완전 관리형 빌드 서비스
      • 소스 코드 변경 사항을 감지하고 소스 코드를 컴파일하여 실행 가능한 소프트웨어 패키지로 빌드할 수 있다. 
    • CodeDeploy
      • 애플리케이션을 자동으로 배포하는 서비스
      • 무중단 배포, 롤백 기능 등을 지원하여 애플리케이션 배포 프로세스를 간소화하고 안정성을 높일 수 있다.
    • CodePipeline
      • 지속적 통합 및 지속적 배포(CI/CD)를 위한 자동화된 파이프라인 서비스
      • 여러 단계로 구성된 파이프라인을 정의하여 소스 코드 변경부터 배포까지의 전체 개발 및 배포 프로세스를 자동화할 수 있다. 

    보안, ID 및 규정 

    • IAM
      • AWS 리소스에 대한 액세스를 안전하게 제어하고 관리하는 데 사용되는 서비스
      • IAM을 사용하면 사용자, 그룹 및 역할을 생성하여 각각에 대한 권한을 할당하여 AWS 리소스에 대한 액세스를 최소한의 필요한 권한으로 제한하고 보안을 강화할 수 있다.
    • KMS
      • 암호화 키를 생성, 관리 및 제어하기 위한 완전 관리형 서비스

    관리 도구

    AWS 는 CloudWatch 및 CloudFormation 과 같이 인프라를 관리하고 모니터링하는 데 도움이 되는 다양한 도구를 제공한다.

    • CloudWatch
      • AWS 환경에서 발생하는 리소스의 상태 모니터링, 로그 수집, 경고 및 자동 조치 등을 제공하는 서비스
      • EC2 인스턴스, RDS 데이터베이스, ELB 로드 밸런서 등 AWS 리소스에서 메트릭 및 로그 데이터를 수집하여 사용자 지정 대시보드를 생성하고 경고를 설정할 수 있다.
    • CloudFormation
      • 인프라 자동화를 위한 서비스
      • 템플릿을 작성하여 여러 AWS 리소스를 정의하고 이를 한 번에 배포하고 업데이트할 수 있다. 이를 통해 인프라를 코드로 관리하여 일관성 있고 반복 가능한 인프라 프로비저닝 프로세스를 구현할 수 있다. 

     

    'Dev Tool > AWS' 카테고리의 다른 글

    [AWS] VPC와 서브넷  (0) 2024.05.07
    [AWS] EC2 개념 이해하기  (0) 2024.05.02