AWS 개요 및 IAM

김파란·2025년 2월 6일

AWS

목록 보기
1/12

개요

  • AWS 클라우드는 2002년에 Amazon에서 처음 시작됐다
  • 아마존 IT 인프라를 외주를 하는게 어떨까 라는 생각으로 2004년에 SQS를 출시했다
  • 2006년에 SQS, S3, EC2가 출시되고 추가 확장되어 유럽, 전세계에 유통중이다

시장점유율

1). Regions

  • AWS의 Region은 전세계에 걸쳐있고 가용성을 보장한다
  • Regison에는 이름이 있고 ap-east-1, ap-northeast-1 등이 있다
  • 대부분 서비스들은 특정 리전에 연결되어 사용한다
    • 한 Region에서 어떤 서비스를 이용하다 다른 Region에서 그 서비스를 사용하려고 처음부터 해야한다
  • Region을 선택할 때는 정부 지침, 지연시간, Region에서 가능한 서비스 등으로 선택할 수 있다
  • Region의 가용영역은 최소 3개 최대 6개까지 있다.
    • 하나의 가용영역에는 하나 또는 두개의 개별적인 데이터 센터로 이루어져 있다
  • 데이터센터와 가용 영역들은 높은 대역폭의 초저지연 네트워킹으로 서로 연결되어 Region을 형성한다
  • 특정 서비스는 Region에 종속되지 않는데 이를 글로벌 서비스라고 한다

IAM

  • IAM에서는 사용자를 생성하고 그룹에 배치하는 글로벌 서비스이다
  • Root 계정또한 IAM으로 기본적으로 생성되는 계정이다
  • 루트 계정을 사용해서도 공유해서도 안되고 사용자를 생성해서 사용하라고 한다
  • 사용자들을 Group으로 묶어서 편리하게 관리할 수 있고 권한도 편리하게 줄 수 있어서 Group을 사용하는 것이 좋다

1). 생성

  • 비밀번호를 생성할 때 입력하도록 하거나 내가 직접 만들수도 있다

2). 그룹

  • 권한을 줄 때는 직접 추가할 수도 있고 그룹을 만들어서 줄 수도 있다

3). 태그

  • 태그는 선택사항이고 메타데이터의 역할이다

4). IAM 대시보드

  • 대시보드로 돌아가면 Account Id가 있고, Alias가 있고 URL이 있다
  • Alias가 없다면 생성을 하고 계정 별칭을 만들면 홈페이지에서 로그인할 때 사용할 수 있다들면 홈페이지에서 로그인할 때 사용할 수 있다
  • AccountId 또는 별칭으로 적고 IAM의 이름과 Password를 적으면 된다

5). 정책

  • 사용자나 그룹에게 접근하거나 사용할 수 있는 권한을 말한다
  • 직접 선택을 하거나 JSON 형식으로 만들어 사용할 수 있다
{
    "Version": "2012-10-17",
    "Statement": [
        {
          	// Custom으로 만든다면 Visual로 만든건지, Json형태로 만든건지 나온다
          	"Sid": "VisualEditor0",
            // 이 정책이 허용(Allow)인지, 거부(Deny)인지 설정 (여기서는 허용)
            "Effect": "Allow",
           // 허용되는 API 작업 목록 (IAM 관련 읽기 및 시뮬레이션 관련 API)
            "Action": [
                "iam:GenerateCredentialReport",
                "iam:GenerateServiceLastAccessedDetails",
                "iam:Get*",
                "iam:List*",
                "iam:SimulateCustomPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
          // 위에 명시된 모든 작업을 모든 리소스(*)에 대해 허용
            "Resource": "*"
            // 이런식으로 특정 사용자만 허용할 수도 있다
            //"Resource" : "arn:aws:iam::123456789012:user/Alice"
        }
    ]
}

6. MFA

  • 사용자와 그룹을 해킹의 위험에서 벗어나도록 할 수 있다
  • 이를 위해 두가지 방어 매커니즘이 있다
    • 비밀번호 정책 정의: 비밀번호가 강력할수록 계정 보안이 강화된다.
      • AWS에서는 다양한 옵션으로 비밀번호 정책을 설정할 수 있다
      • 최소 비밀번호 길이를 설정하고 특정 문자 유형을 요구할 수 있다(대문자, 특수문자, 소문자)
      • 사용자들이 자신의 비밀번호를 변경하도록 허용하거나 허용하지 않을 수 있고 일정 시간 후에 사용자에게 비밀번호를 변경하도록 만료시킬 수도 있다
      • 이미 가지고 있거나 또는 이전에 사용한 비밀번호를 사용하지 못하도록 막을 수 있다
    • 다중 인증(MFA)
      • AWS에서는 필수이며 사용하기를 강력하게 권고한다
      • 비밀번호와 Devide를 통해 로그인을 하도록 한다
      • 비밀번호를 해킹당하더라도 MFA가 없다면 로그인할 수 없으므로 안전하다
      • 그 종류로는 가상 MFA 장치, 물리적 장치, 패스키가 있다가 있다

7. Role

  • AWS 몇몇의 서비스들은 사용자와 마찬가지로 권한이 필요하다
  • Role은 User와 같지만 서비스들이 사용하도록 만들어졌다
  • 만약 EC2가 AWS 다른 서비스에 어떤 작업을 수행하려고 할 때 Role이 필요한 것이다

1). 사용

  1. Role을 적용할 서비스를 선택한다
  2. 권한을 사용할 정책을 골라서 사용한다

AWS 접속

  • AWS에 액세스하는 방법은 3가지가 있다
  1. AWS Management Console
    1. 사용자 이름과 비밀번호 MFA로 인증되고 보호된다
    2. 우리가 자주 사용하는 Web기반 Console이다
  2. AWS Command Line Interface(CLI)
    1. 컴퓨터에서 설정하고 액세스키로 사용한다
  3. AWS Software Developer Kit (SDK)
    1. aws에 애플리케이션 API를 호출할 때 사용되고 액세스 키로 사용한다
    2. 코딩을 통해 애플리케이션 내에 심어 두어야 한다

1). CLI

  • amazon cli를 설치하고 액세스키를 다운받으면 된다
PS C:\Users\fatum> aws configure
AWS Access Key ID [****************DQMH]: AKIAQR5EO6YN5OT3QGOM
AWS Secret Access Key [****************u3T4]: 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
Default region name [ap-northeast-2]: ap-northeast-2
Default output format [None]:

// iam user의 리스트를 가져온다
aws iam list-users

2). 클라우드쉘

  • AWS에서 터미널을 통해 명령을 내리는 대신으로 사용할 수 있는 용도이다
  • AWS 웹 페이지에서 사용할 수 있다
  • 이미 로그인을 해놓은 상태이기 때문에 configure로 로그인할 필요가 없다
  • CloudShell도 컴퓨터이기 때문에 저장이 가능하고 안에 있는 파일들을 내보내거나 불러오기를 할 수 있다

0개의 댓글