[AWS SAA] 3. 계정 보안 Part.01
AWS Root 계정 처음 AWS 계정을 생성하면 루트 사용자로 시작합니다. 이 사용자는 계정의 모든 서비스와 리소스에 대한 전체 액세스 권한을 가집니다. 계정을 생성할 때 제공한 이메일 주소와 암호로 로그인하여 루트 사용자 ID에 액세스합니다. 하지만 루트 사용자로 서비스와 리소스를 사용하는 것은 권장되지 않습니다. 따라서 사용자를 추가로 생성한 후 관리합니다. 사용자를 추가한 후 최소 권한의 원칙에 따라 해당 사용자에게 권한을 배정합니다. 최소 권한의 원칙이란 해당 사용자가 정말 필요한 권한까지만 부여하는 것을 뜻합니다. 이렇게 사용자를 생성한 후에는 루트 사용자가 아닌 관리자로 계정을 관리해야합니다. 조금 더 심층적인 보안을 위해서 MFA(Multi-Factor Authetication)을 진행할 ..
2023.07.01
[AWS SAA] 2. AWS Architect의 업무와 핵심 사항
AWS Architect 업무 계획 실무 책임자와 함께 기술 분야의 클라우드 전략을 수립합니다. 비즈니스 요구 사항과 기타 요구 사항을 충족하는지 솔루션을 분석합니다. 조사 클라우드 서비스의 사양과 워크로드 요구 사항을 조사합니다. 기존 워크로드 아키텍처를 검토합니다. 프로토타입 솔루션을 설계합니다. 빌드 마일스톤, 작업 스트림 및 소유자가 포함된 혁신 로드맵을 설계합니다. 채택 및 마이그레이션을 관리합니다. 수행하는 작업 비즈니스 요구에 따라 기술 분야의 클라우드 전략 개발 클라우드 마이그레이션 작업 지원 워크로드 요구 사항 검토 위험성이 높은 문제 해결 방법 관련 지침 제공 자세한 내용 핵심 요소 기술 솔루션 개발은 물리적 건물을 세우는 것과 매우 유사합니다. 기반이 탄탄하지 않으면 그에 따른 문제가..
2023.06.30
[AWS SAA] 1. AWS를 사용하면 어떤 장점이 있을까?
시작하기 앞서 해당 내용들에 링크를 걸어 놓을 생각입니다. 최근 급변하는 기술들 때문에 몇년만 지나도 지금의 내용은 전부 바뀔 수 있기 때문에 업데이트가 수시로 일어납니다. 심지어 교육 진행 중에 교재가 바뀌기도 할 정도라고 하니 블로그나 교육 내용에 집중해보는 것도 좋지만 홈페이지에서 직접 확인해보는 것이 훨씬 정확하다고 할 수 있습니다. Amazon Web Services(AWS)의 특징 전 세계에서 클라우드 시장 점유율은 AWS가 32%, MS Azure가 23%, Google Cloud Platform(GCP)가 10%로 이 3 가지가 총 65%의 점유율을 가지고 있습니다. 여기서 가장 점유율이 높은 AWS는 컴퓨팅, DB, 스토리지와 같은 200여개의 서비스를 제공합니다. 또한, 사용량만큼 지불..
2023.06.29
반응형

AWS Root 계정

처음 AWS 계정을 생성하면 루트 사용자로 시작합니다. 이 사용자는 계정의 모든 서비스와 리소스에 대한 전체 액세스 권한을 가집니다. 계정을 생성할 때 제공한 이메일 주소와 암호로 로그인하여 루트 사용자 ID에 액세스합니다. 하지만 루트 사용자로 서비스와 리소스를 사용하는 것은 권장되지 않습니다. 따라서 사용자를 추가로 생성한 후 관리합니다.

 

사용자를 추가한 후 최소 권한의 원칙에 따라 해당 사용자에게 권한을 배정합니다. 최소 권한의 원칙이란 해당 사용자가 정말 필요한 권한까지만 부여하는 것을 뜻합니다. 이렇게 사용자를 생성한 후에는 루트 사용자가 아닌 관리자로 계정을 관리해야합니다.

 

조금 더 심층적인 보안을 위해서 MFA(Multi-Factor Authetication)을 진행할 수 있습니다. 이 후 AWS 계정에 이를 추가 보안 계층을 적용할 수 있습니다.

 

루트 계정 상세 보기 / 최소 권한 및 IAM 모범 사례

 

IAM(Identity and Access Management)

IAM은 AWS 리소스에 대한 액세스를 안전하게 제어하는 데 도움을 주는 웹 서비스입니다. IAM을 사용해 리소스를 사용할 수 있도록 인증(로그인) 및 권한 부여된 대상을 제어합니다.

 

IAM을 리소스 실행, 구성, 관리, 종료를 위한 액세스 권한을 중앙에서 관리하기 위한 도구로 생각하면 편할 것입니다. IAM을 통해 액세스 권한을 세부적으로 제어할 수 있습니다. 이 제어는 리소스를 기반으로 하며 누가 어떤 API 호출에 대한 권한이 있는지 정의하는 데 도움이 됩니다.

 

상세 내용

 

보안 주체

보안 주체는 AWS 리소스에 대한 작업 도는 운영을 요청할 수 있는 엔터티(Entity)입니다. AWS에서 가장 많이 사용되는 보안 주체는 IAM 사용자와 IAM 역할입니다.

 

이 외에는 EC2(Elastic Compute Cloud)와 같은 AWS 서비스, SAML 2.0(Security Assertio Markup Language 2.0) 제공 업체 혹은 ID 제공 업체(IdP)일 수 있습니다. IdP를 사용할 경우 IAM 외부에서 자격 증명을 관리하게 됩니다. 예를 들어 Amazo, Facebook, Google 등을 통해 로그인할 때는 이러한 외부 자격 증명에 계정의 AWS 리소스를 사용할 권한을 제공할 수 있습니다.

 

페더레이션 사용자는 IAM을 통해 직접 관리가 되지 않는 외부 자격 증명입니다.

 

페더레이션 사용자의 자세한 내용

 

IAM 사용자

IAM 사용자는 AWS 계정 내에 사용자를 뜻합니다. 기본적으로 새 IAM 사용자에게는 권한이 주어지지 않습니다. 개별 IAM 사용자를 생성하는 경우 각 사용자에게 권한을 개별적으로 배정할 수 있다는 이점이 있습니다. 예를 들면 관리자는 여러 서비스를 액세스할 수 있는 권한을 가지고 있고, 감시자는 읽기 전용으로 권한을 줘 관찰만 할 수 있도록 합니다. 개발자는 개발만 할 수 있도록 EC2 인스턴스에 대한 권한만 줍니다.

 

이러한 방식으로 해당 직무에서 필요한 만큼만 권한을 주는 최소 권한의 원칙을 준수해야합니다.

 

자세한 내용

 

AWS API 호출

AWS 서비스에 접속하는 방법은 크게 2가지가 있습니다.

  1. AWS 관리 콘솔 액세스 - AWS 웹 콘솔에서 사용자 계정과 암호를 입력해 접속합니다.
  2. 프로그래밍 방식 액세스 - IAM 사용자가 API 호출을 수행하거나 AWS CLI(Command Line Interface) 또는 SDK를 사용해야할 수도 있습니다. 이 때 해당 사용자용 액세스 키를 생성해야 합니다.

이 때에도 최소 권한 법칙이 적용됩니다. 만약 AWS 콘솔로만 접속하고 작업을 한다면 액세스 키를 생성하면 안 됩니다.

 

프로그래밍 방식 액세스

프로그래밍 방식 액세스 권한을 부여하는 경우 AWS CLI 또는 SDK에서 API 호출을 수행하는 데 필요한 자격 증명을 IAM 사용자에게 제공할 수 있습니다. AWS에서는 Java, Python, .NET 등의 프로그래밍 언어용 SDK를 제공합니다.

 

IAM 사용자에게 프로그래밍 방식 액세스 권한을 부여하면 액세스 키 ID 및 비밀 액세스 키로 구성된 고유한 키 페어가 생성됩니다. 키 페어를 사용하여 AWS CLI를 구성하거나 AWS SDK를 통해 API를 호출할 수 있습니다.

 

클라이언트에서 AWS CLI를 설정하기 위해 aws configure 명령을 사용합니다. 슬라이드의 예제 코드에는 IAM 사용자를 구성하는 데 필요한 네 가지 요소를 입력해야합니다.

  • AWS 액세스 키 ID
  • AWS 비밀 액세스 키
  • 기본 리전 이름
  • 기본 출력 형식(json,yaml, yaml-stream, text, table)

AWS CLI 자세한 내용

 

IAM 정책을 사용해 권한 설정하기

IAM 사용자가 리소스를 생성하거나 수정하고 태스크를 수행할 수 있또록 하려면 다음 태스크를 수행합니다.

  1. IAM 사용자가 필요한 특정 리소스와 API 작업에 액세스할 수 있는 권한을 부여하는 IAM 정책을 생성하거나 기존에 생성되어 있는 정책을 생성합니다.
  2. 해당 권한이 필요한 IAM 사용자나 그룹에 정책을 연결합니다.

예를 들어 S3 관리자에게는 S3에 대한 Full Access 권한을 주되 다른 서비스의 권한을 주지는 않습니다. 계정 내의 리소스를 확인해야 하는 감사자에게는 Read Only Access 정책을 연결합니다. 감사자가 다른 것을 수정하거나 삭제할 수 있어서는 안됩니다.

 

이렇게 최소 권한 원칙은 보안 부분에 있어 매우 강조되는 부분입니다. 권한을 주려는 대상의 직무를 확인하고 적절한 정책을 부여해야 합니다.

반응형
반응형

AWS Architect 업무

  1. 계획
    • 실무 책임자와 함께 기술 분야의 클라우드 전략을 수립합니다.
    • 비즈니스 요구 사항과 기타 요구 사항을 충족하는지 솔루션을 분석합니다.
  2. 조사
    • 클라우드 서비스의 사양과 워크로드 요구 사항을 조사합니다.
    • 기존 워크로드 아키텍처를 검토합니다.
    • 프로토타입 솔루션을 설계합니다.
  3. 빌드
    • 마일스톤, 작업 스트림 및 소유자가 포함된 혁신 로드맵을 설계합니다.
    • 채택 및 마이그레이션을 관리합니다.

수행하는 작업

  • 비즈니스 요구에 따라 기술 분야의 클라우드 전략 개발
  • 클라우드 마이그레이션 작업 지원
  • 워크로드 요구 사항 검토
  • 위험성이 높은 문제 해결 방법 관련 지침 제공

자세한 내용

 

핵심 요소

기술 솔루션 개발은 물리적 건물을 세우는 것과 매우 유사합니다. 기반이 탄탄하지 않으면 그에 따른 문제가 발생하기 마련입니다. 솔루션 개발에서 기반이 엉성하다면 무결성과 기능 저하 등 좋지 못한 방향으로 진행될 것입니다.

 

AWS에서는 아키텍처의 Framework를 제공함으로써 이 문제를 해결합니다. 이를 AWs Well-Architected Framework라고 합니다. 이 framework에서는 다음 핵심 요소를 중심으로 살펴봅니다.

 

  • 보안 - AWS 보안 모범 사례를 사용해 데이터와 자산을 보호할 수 있는 정책 및 프로세스를 구축해야 합니다.이 때, 작업 및 환경 변경 사항을 실시간으로 모니터링합니다. 이를 통해 추적, 감사를 진행할 수 있습니다.
  • 비용 최적화 - 주로 변동이 심한 리소스를 요구하는 경우 비용 효율성을 극대화할 수 있습니다.
  • 안정성 - 장애 복구, 수요 증가 처리, 중단 완화 등을 지원합니다.
  • 성능 효율성 - 리소스 세트에 대해 효율적인 성능을 제공하는 시스템 아키텍처 설계를 보장합니다.
  • 운영 우수성 - 사업 가치를 창출하는 시스템을 실행하고 모니터링할 수 있습니다.
  • 지속 가능성 - 클라우드 워크로드를 실행할 때 환경 영향을 최소화하고 이해합니다.

위를 활용해 시스템 장애와 비용 최소화, 비즈니스 및 인프라 심층 분석이 가능합니다.

 

AWS Well-Architected Tool

셀프 서비스 방식 도구로 이를 사용하면 기존 워크로드의 상태를 검토하고 최신 AWS 아키텍처 모범 사례와 비교할 수 있습니다. 이 도구는 아키텍터 및 관리자가 스스로 워크로드를 컴토하는 데 도움이 되도록 설계되어 있습니다. 

 

AWS WA Tool 기능

  • 워크로드 평가
  • 고위험 문제 식별
  • 개선 사항 기록

자세한 내용 / 모범 사례

 

AWS와 상호작용 하는 방법

  1. AWS 관리 콘솔: AWS 계정을 관리하고 작업을 수행할 수 있는 GUI(그래픽 사용자 인터페이스)입니다.
  2. AWS CLI(Command Line Interface): 명령줄을 사용하여 AWS 서비스를 관리할 수 있는 도구입니다.
  3. SDK(소프트웨어 개발 키트): 소프트웨어 개발 프레임워크를 통해 코드를 사용하여 클라우드 인프라를 정의하고 프로비저닝 할 수 있습니다.

이와 같은 도구들은 AWS API에 연결하여 AWS 서비스를 관리하고 리소스를 생성하게 됩니다.

반응형
반응형

시작하기 앞서 해당 내용들에 링크를 걸어 놓을 생각입니다. 최근 급변하는 기술들 때문에 몇년만 지나도 지금의 내용은 전부 바뀔 수 있기 때문에 업데이트가 수시로 일어납니다. 심지어 교육 진행 중에 교재가 바뀌기도 할 정도라고 하니 블로그나 교육 내용에 집중해보는 것도 좋지만 홈페이지에서 직접 확인해보는 것이 훨씬 정확하다고 할 수 있습니다.


Amazon Web Services(AWS)의 특징

전 세계에서 클라우드 시장 점유율은 AWS가 32%, MS Azure가 23%, Google Cloud Platform(GCP)가 10%로 이 3 가지가 총 65%의 점유율을 가지고 있습니다. 여기서 가장 점유율이 높은 AWS는 컴퓨팅, DB, 스토리지와 같은 200여개의 서비스를 제공합니다. 또한, 사용량만큼 지불하는 종량제 모델을 채택하고 있고 다양한 기업과 공공 기관이 사용하고 있는 클라우드 솔루션입니다. 

 

AWS로 마이그레이션하는 주된 이유는 복잡성과 리스크를 줄이고, 민첩성을 향상시킨다는 것에 있습니다.

 

주요 특징

 

AWS 서비스 종류

AWS는 광범위한 글로벌 클라우드 기반 서비스를 제공한테 여기에는 컴퓨팅, 스토리지, DB, 분석, 네트워킹. 보안 등 다양한 서비스들을 제공하고 있습니다. 이번 SAA(Solutions Architect - Associate)를 공부하며 다룰 내용은 다음과 같습니다.

 

[보안, 네트워크, 컴퓨팅, 스토리지 ,DBMS, 모니터링, 크기 조정, 자동화, 컨테이너, 서버리스, 엣지 서비스, 백업, 복구]

 

서비스 종류

 

인프라 구성

AWS 인프라는 크게 데이터 센터, 가용 영역, 리전, AWS Local Zones, 엣지 로케이션으로 나뉩니다.

 

  1. 데이터 센터
    데이터 센터는 전 세계에 대규모로 분포가 되어있고 AWS 서비스는 AWS 데이터 센터 안에서 작동합니다. 이러한 서비스 뿐만 아니라 자동화 시스템을 구축하고, 서드 파티 감사를 수행함으로써 보안과 규정 준수를 확인합니다.

    자세한 보호 방식

  2. 가용 영역
    AWS 리전에 있는 하나 이상의 데이터 센터 그룹을 가용 영역이라고 합니다. 이 가용 영역 안에 있는 데이터 센터들은 고속 프라이빗 링크를 사용해 상호 연결되어 있고, 내결함성을 갖도록 설계되어 있습니다. 이는 고가용성 달성에 사용하게 됩니다.

    여러 가용 영역에 인스턴스를 배포하고 인스턴스 하나에 장애가 발생하는 경우 다른 가용 영역의 인스턴스가 요청을 처리할 수 있도록 애플리케이션을 설계할 수 있습니다.

    • 내결함성(Resilience)
      시스템이 장애가 발생하더라도 원래의 상태로 복구할 수 있는 능력을 말합니다. 내결함성을 달성하기 위해서는 시스템을 설계할 때부터 장애를 고려하고, 장애 발생 시 신속하게 복구할 수 있는 프로세스를 수립해야 합니다.

    • 고가용성(HA)
      시스템이 장애가 발생하더라도 지속적으로 작동할 수 있도록 하는 것을 말합니다. 고가용성을 달성하기 위해서는 시스템의 구성요소를 이중화하고, 장애를 감지하고 복구할 수 있는 시스템을 구축해야 합니다.

      자세한 내용

  3. 리전
    각 AWS 리전은 한 장소(서울, 도쿄 등) 내에서 서로 격리되어 있습니다. 리전 내부에는 물리적으로 분리된 여러 가용 영역으로 구성되어 있습니다. 이런 구성 방식을 통해 강력한 내 결함성 및 안정성을 확보할 수 있습니다.

    리전은 서로 격리되어 리전 간 자동 리소스 복제는 불가능합니다. 따라서 리소르를 확인하면 해당 리전에 연결되있는 리소스만 표시됩니다.
    • 리전을 선택하기 위해 고려해야 할 것
      1. 거버넌스 및 법적 요구 사항 - 법적 요구 사항을 준수하기 위해 특정 리전을 사용해야 할 수 있습니다.
      2. 지연 시간 - 리전의 위치가 소비자와 가까울수록 더 나은 성능이 나타납니다.
      3. 서비스 가용성 - 모든 AWS 서비스를 모든 리전에서 사용가능한 것은 아닙니다.
      4. 비용 - 리전마다 다른 비용이 부과됩니다. 사용하려는 리전의 서비스 요금을 확인해야 합니다.

        자세한 내용
  4. AWS Local Zones
    최종 사용자 지연 시간이 10밀리초 미만이어야 하는 수요가 많은 애플리케이션에서 사용합니다.
    • 미디어/엔터테인먼트 콘텐츠 생성 - 라이브 프로덕션, 동영상 편집 등
    • 실시간 멀티 플레이 게임
    • 기계 학습 호스팅 및 훈련
    • AR/VR

      자세한 내용
  5. 엣지 로케이션
    엣지 로케이션은 AWS 서비스 요청자와 가장 가까이 있는 지점을 뜻합니다. 엣지 로케이션은 전 세계 주요 도시에 분포해 있고, 이는 요청을 수신하고 더 빠른 전송을 위해 콘텐츠 사본을 캐시합니다. 덕분에 최종 사용자에게 짧은 지연 시간으로 콘텐츠를 전송할 수 있게 됩니다.

    엣지 로케이션을 사용하는 서비스는 대표적으로 CloudFront가 있습니다. CloudFront 에서 기본적으로 사용되는 리전 엣지 캐시는 엣지 로케이션에 유지할 정도로 자주 액세스하지 않는 콘텐츠가 있을 때 활용됩니다. 이런 컨텐츠는 리전 내 엣지 캐시에 수집되므로 오리진 서버에서 해당 콘텐츠를 굳이 검색할 필요가 없어집니다.

    예를 들어 미국 리전에 있는 동영상 컨텐츠를 아시아에서 보려고 한다고 가정할 때 아시아 엣지 로케이션에 이 동영상 컨텐츠가 캐시되어 있기 때문에 더 빠르게 컨텐츠를 제공할 수 있습니다.

    자세한 내용

    • AWS Local Zones : 짧은 지연 시간을 요하는 최종 사용자에게 서비스를 배포할 때 사용합니다.
    • 엣지 로케이션 : 사용자에게 빠르게 콘텐츠를 전송하기 위해 데이터를 캐싱할 때 사용합니다.

 

 

 

 

 

반응형