kimyu0218
  • [aws] aws 시작하기 (region/AZ/IAM)
    2024년 01월 01일 04시 31분 50초에 업로드 된 글입니다.
    작성자: @kimyu0218

    aws란?

    aws는 Amazon Web Services의 약자로, 아마존에서 제공하는 클라우드 서비스*다. aws는 블랙프라이데이 때문에 증설한, 남아도는 컴퓨팅 자원을 파는 것에서 시작되었다.

    *클라우드 서비스 : 데이터 스토리지와 컴퓨팅 파워 같은 컴퓨터 자원을 제공하는 서비스
    클라우드 서비스의 장점
    • 가격 : 초기 비용이 적게 든다.
    • 탄력성과 확장성 : 서비스의 규모에 맞게 인프라를 확장/축소할 수 있다.
    • 가용성과 내구도 : 전 세계에 여러 데이터 센터를 보유하고 있기 때문에 데이터 센터 간에 데이터를 복제하여 장애가 전체 서비스에 영향을 미치지 않도록 보장한다.

    aws를 사용하기 전에 먼저 주요 용어를 살펴보자.
     

    region

    리전은 aws의 물리적으로 독립된 지역을 의미한다. 사용자와 가까운 지역에서 서비스를 제공함으로써 네트워크 지연을 최소화한다.
     

    AZ; availability zone

    가용 영역은 aws 리전 내의 독립적인 데이터 센터를 의미한다. 가용 영역은 지리적으로 분리되어 있기 때문에 하나의 가용 영역에서 장애가 발생하더라도 다른 곳에서 계속해서 서비스를 제공할 수 있다.
     

    주요 서비스

    • ec2 : 독립된 컴퓨터를 임대해주는 서비스
    • s3 : 데이터를 저장할 수 있는 파일 서버
    • vpc : 격리된 환경을 제공하는 가상 사설 네트워크 서비스

    IAM 계정 생성하기

    aws 계정을 생성하고 루트 계정에 대한 MFA를 마친 상태다. aws 프리티어 계정을 사용하고 있긴 하지만, 언제 과금될지 모르기 때문에 IAM 서비스를 이용하여 보안을 강화할 것이다.

    IAM이란?

    IAM은 사용자와 리소스에 대한 인증 및 권한 관리를 제공하는 서비스로, aws 서비스에 대한 접근을 안전하게 제어한다. 특히 aws의 루트 계정은 aws에 대한 완전한 권한을 가지고 있어 보안상 취약하다. 따라서 IAM을 사용하여 루트 계정의 사용을 최소화하는 것이 좋다.

    IAM을 권장하는 이유
    • 보안 강화 : 완전한 권한을 가진 루트 계정을 최소한으로 사용한다.
    • 최소 권한 원칙 준수 : 사용자에게 필요한 권한만 부여하여 불필요한 서비스에 대한 접근을 방지한다.
    🚨 IAM은 글로벌 서비스이다. 즉, 리전별 서비스가 아니다.

     

    IAM에는 크게 4가지의 개념이 있다.

    1. 사용자
    2. 그룹 : 여러 사용자를 하나의 단위로 묶은 집합으로, 그룹에 속한 사용자는 그룹에 부여된 권한을 행사할 수 있다. (= 여러 사용자에게 공통된 권한을 부여하기 위함!)
    3. 역할 : aws 리소스에 부여하여 각 리소스가 무엇을 할 수 있는지 정의한다. 사용자는 역할을 부여받아 사용할 수 있다.
    4. 정책 : 사용자, 그룹, 역할에 대한 권한을 정의한 JSON 형태로 작성된 문서다.

     

    콘솔로 IAM 사용자 생성하기

    CLI, API 등 IAM 사용자를 생성하기 위한 다양한 방법들이 존재하지만, 그 중 가장 간단해보이는 콘솔로 사용자를 생성해볼 것이다.
     

    사용자 생성하기

    Creating IAM users(console)

    서비스 - IAM - 사용자

    루트 계정으로 로그인하고 콘솔에서 IAM 서비스를 선택한다. 네비게이션에서 `사용자`를 선택하고 `사용자 추가` 버튼을 클릭한다.

    사용자 세부 정보 페이지에서 로그인 할 때 사용할 사용자 이름을 입력한다. 지금 만드는 IAM 계정은 관리자를 위한 계정이기 때문에 콘솔에 대한 접근을 허용해줬다. 나는 aws에서 권장하는 자격 증명 센터를 이용할 것이다.

    자격 증명 센터의 리전을 서울로 설정한 결과

    자격 증명 센터가 활성화 되지 않은 경우, 활성화 과정이 필요하다. IAM Identity Center에 접속하여 리전을 서울로 변경한 후, 활성화 버튼을 눌러 활성화 시킨다.

    서비스 - IAM Identity Center - 사용자 - 사용자 추가

    IAM 서비스와 마찬가지로 네비게이션에서 `사용자`를 선택하고 `사용자 추가` 버튼을 클릭한다.

    사용자 정보를 입력하고 나면 그룹 설정 페이지가 나온다. 나는 `그룹 생성` 버튼을 클릭하여 관리자 그룹을 생성해줬다.

    사용자가 생성되고 메일의 링크를 따라 암호를 설정해주면 포털을 통해 로그인 할 수 있다.
     

    권한 부여하기

    서비스 - IAM Identity Center - 권한 세트

    이제 사용자의 권한을 지정해줄 차례다. 네비게이션에서 `권한 세트`를 선택한 후, `권한 세트 생성` 버튼을 클릭하여 권한을 만들 것이다.

    관리자 계정이므로 Administrator Access 정책을 가진 권한 세트를 생성했다.

    서비스 - IAM Identity Center - AWS 계정

    이번엔 네비게이션에서 `AWS 계정`을 선택한다. 앞에서 생성한 관리자 계정이 있는 것을 확인할 수 있다. 관리자 계정을 클릭하여 세부 페이지로 이동한다.

    세부 페이지에서 `권한 세트` 탭을 선택하고 `사용자 또는 그룹 할당` 버튼을 클릭한다.

    관리자 그룹을 설정해주고 방금 생성한 권한을 부여해준다. 위 과정을 마치고 나면 관리자 계정 세부 페이지에서 그룹과 권한 세트가 제대로 설정된 것을 확인할 수 있다.

    자격 증명 센터의 `AWS 액세스 포털 URL`로 로그인하면 위와 같은 화면이 나오는 것을 볼 수 있다. 해당 URL을 복사해놓고 로그인할 때 사용하면 더 이상 루트 계정을 사용하지 않아도 된다.


    참고자료

    댓글