본문으로 건너뛰기

AWS와 계정과 EC2 - IAM, Root, EC2

· 약 7분

IAM의 개념

AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있습니다.

  • AWS의 보안 및 관리를 담당하는 글로벌 서비스

주요 기능

  • AWS 어카운트 관리 및 리소스 / 사용자 / 서비스의 권한 제어
  • 사용자의 생성, 관리, 계정의 보안
  • 다른 계정과의 리소스 공유
  • Identity Federation(Facebook 로그인, 구글 로그인 등)

IAM 구성

  • 사용자 : 실제 AWS의 사용자 혹은 어플리케이션을 의미
  • 그룹 : 사용자의 집합, 그룹에 속한 사용자는 그룹에 부여된 권한을 행사
  • 정책(Policy) : 사용자와 그룹, 자격에 대한 권한을 정의한 문서, JSON형식으로 정의
  • 역할(Role) : AWS의 권한의 집합, 특정 사용자나 그룹에 연결되어 있지 않음, 다양한 어플리케이션, 서비스, IAM 사용자가 역할을 받아 사용

AWS 사용자

Root 사용자

  • 계정을 생성할 때 같이 생성되는 사용자
  • 계정의 모든 권한을 가지고 있으며 계정 권한을 제한할 방법이 없음, 탈취당했을 때 복구가 매우 어려워 MFA 설정을 필수로 하기
  • 자격증명 부여 가능
Root 사용자만 가능한 작업
  • AWS 계정 설정 변경 (메인 이메일 주소, 계정 이름, 연락처 정보 등)
  • 요금 관련 설정 (IAM 유저에게 위임 가능)
  • AWS Support Plan(지원 플랜) 구독, 변경, 취소
  • AWS 계정 삭제 ==> 이 이외에는 IAM 사용자를 사용하기

IAM 사용자

  • IAM을 통해 생성한 사용자
  • 생성 시 권한이 따로 부여되어 있지 안으며, 정책 혹은 그룹을 통해 권한을 부여 받아 활동
  • 자격 증며 부여 가능(Optional)
  • 콘솔 로그인 가능(Optional)

AWS 사용과 인증

AWS 인증 방법

  • AWS 웹 콘솔
    • 웹 기반의 콘솔에 로그인하여 AWS를 사용
    • 콘솔 액세스 자격 증명을 사용하여 인증
  • 프로그래밍 액세스 방식
    • Command Line Interface(CLI)
    • Software Development Kit(SDK)
    • 프로그램 방식 액세스 자격 증명을 사용하여 인증

콘솔 액세스 자격 증명

  • 콘솔 로그인을 위해 필요
    • Root Email/Password : 루트 사용자 로그인을 위해 사용
    • IAM 사용자 이름/Password : IAM 사용자가 로그인 하기 위해 사용
    • Mulit-Factor authentication(MFA) : 다른 자격 증명에 보안을 강화하기 위한 임시 비밀번호

프로그램 방식 액세스 자격 증명

  • AWS의 CLI혹은 SDK를 사용할 때 필요한 자격 증명
  • Access Key의 구성
    • Access Key ID : 유저 이름에 해당하는 키 (공개되어도 무방함)
    • Secret Access Key : 패스워드에 해당하는 키(공개되면 안됨)
  • 하나의 IAM 사용자당 2개의 Access Key 발급 가능
  • 활성화/비활서와 가능
  • Secret Access Key의 경우 발급 시점 이외에 다시 확인 불가능
  • 생성한 IAM 사용자의 권한을 행사 가능
  • IAM 사용자를 서버/프로그램 별로 생성하여 Access Key를 전달하여 CLI/SDK 사용



Amazon Elastic Compute Cloud

Amazon EC2

  • 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스
  • 개바자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계됨

Amazon EC2의 장점

  • 초 단위 온디맨드 가격 모델
  • 빠른 구축 속도와 확장성
  • 다양한 구성방법 지원
  • 여러 AWS 서비스와 연동

Amazon EC2의 가격정책

  • On-Demand : 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정된 가격 지불
  • 스팟 인스턴스 : 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매해서 사용
  • 예약 인스턴스 : 미리 일정 기간(1~3년) 약정해서 사용
  • 전용 호스트 : 실제 물리적인 서버를 임대받아 사용

서브넷의 종류

  • 퍼블릭 서브넷 : 외부에서 인터넷을 통해 연결할 수 있는 서브넷
  • 프라이빗 서브넷 : 외부에서 인터넷을 통해 연결할 수 없는 서브넷으로 보안이 뛰어남

EC2 연결 방법

EC2 연결하는 4가지 방법

  • SSH/RDP 연결
  • EC2 인스턴스 연결
  • Systems Manager / Session Manager
  • EC2 직렬 콘솔

EC2 권한 부여

프로그램 방식 Access 자격 증명 활용

  • IAM 사용자를 서버/프로그램 별로 생성하여 Access Key를 전달하여 CLI/SDK 사용
  • AWS CLI : 서버의 별도 파일에 자격 증명을 저장하여 인증
  • AWS SDK : 별도 파일에 자격증명을 저장하거나 런타임에 자격증명을 명시해서 인증

IAM 자격 증명 등록

  • IAM 사용자 생성, IAM 자격증명을 발급받아 EC2에 등록
  • AWS Configure를 통해 자격 증명을 파일로 등록
  • 이 권한을 가지고 있으면 누구나 가지고 갈 수 있음
  • 보안이 강력하지 않으며, 관리가 어렵고 바꾸기 힘듦