1. AWS Management Console 소개
1.1 AWS Management Console 소개
AWS 접근 방법
AWS의 서비스 구조는 AWS infrastructure pool에 Network을 통해 접근하는 형태이다. 몇 가지 접근 방법이 있다.
- 프로그래밍적 접근
- AWS CLI
- AWS Management Console
AWS Management Console 이란?
- 웹 기반 GUI로, 초보자도 쉽게 접근 가능
- AWS 리소스를 웹 브라우저에서 시각적으로 관리할 수 있는 도구
- 명령어(CLI)나 코드 없이도 클릭만으로 서비스 실행, 설정 가능
AWS Manegement Console 사용 흐름
- AWS 계정 로그인(IAM Root or IAM User) -> 콘솔 접속
- 서비스 선택
- 리소스 생성/설정 -> 실행/모니터링
AWS 계정 로그인에 관하여, 초기에 사용자를 생성할 때는
1. IAM Root 계정을 생성
2. IAM Root 계정으로 로그인
3. IAM 서비스를 통해 IAM User(일반 유저) 생성
의 과정을 거쳐 IAM User를 생성/로그인 할 수 있다.
1.2 AWS Manegement Console 기본 UI 탐색
AWS Manegement Console 기본 화면 구성

-
계정 정보 영역
- 로그인한 AWS 사용자 이메일과 계정 ID 표시
- 루트 사용자/일반 IAM 사용자 여부 확인 가능
- 드롭다운 클릭 시 보안 자격 증명, 로그인 설정, 로그아웃 등 계정 정보를 다루는 작업 화면에 접근할 수 있다.
-
리전(Region) 선택 메뉴
- 현재 사용 중인 AWS 리전을 표시
- 클릭하면 전 세계 AWS 리전 목록이 펼쳐지고, 다른 리전으로 즉시 전환 가능
- 위 UI를 통해 몇 가지 고려사항을 바탕으로 내가 원하는 리전(Region)을 선택한다.
-
서비스 메뉴 열기
-
서비스 검색창
- 원하는 AWS 서비스나 기능을 검색할 수 있는 필드
-
AWS CloudShell
- 별로의 로컬 설치 없이 리눅스 명령어, AWS CLI, SDK 작업이 가능
1.3 리전 변경, 대시보드 활용 팁
리전은 왜 중요한가?
- AWS는 전 세계 여러 지역(Region)에 리소스를 배치
- 리전 선택에 따라 생성/조회되는 리소스가 달라진다
- e.g. 서울 리전에서 생성한 EC2 인스턴스는 다른 리전에서는 조회되지 않음
서비스와 리소스의 관계 = 객체지향의 Class - Object 관계
서비스 리소스
EC2 EC2 instance
S3 bucket
IAM IAMUSER
이때, 각 리소스는 모든 리소스를 통틀어
고유한 이름인 arn(amazon resource name)을 지닌다.
리전 변경하는 방법
- AWS Management Console의 리전(Region) 표시 UI를 클릭해서 드롭다운하고 원하는 리전을 선택한다.
AWS Manegement Console 언어 설정
- AWS Management Console 우상단 톱니바퀴를 선택해 한국어 선택
대시보드란?
- AWS 콘설에서 서비스별로 제공되는 현황판(요약 UI)
- 리소스 상태, 비용, 보안 정보 등을 시각적으로 확인
2. AWS Manegement Console 활용법
2.1 AWS 웹 관리 콘솔에서 EC2 서비스 탐색 데모
AWS 웹 관리 콘솔에서 EC2 > 인스턴스 > 인스턴스 시작

인스턴스 시작 시 필수 항목

- 키페어: 암호화키(자물쇠)와 복호화키(열쇠)의 한 쌍
- 용도:
- 암호화키: EC2 instance로 접속하는 패스워드를 암호화한다.
- 복호화키: instance 소유자가 보관하고 있다가 패스워드를 복호화해서 instance에 접근할 수 있게 해준다.
- 아무나 가지고 있으면 안 되고 소유자만 지녀야 하므로 개인키, 비밀키라고도 한다.
인스턴스 시작 = 인스턴스를 생성하는 작업이다.
인스턴스 종료 = 인스턴스를 삭제하는 작업이다.
인스턴스 중지 = 인스턴스의 작동을 멈추는(삭제X) 작업니다.

- 상태 검사: EC2 instance를 사용할 수 있는지 표시
- 초기화: 처음 생성해서 초기 설정을 진행중(e.g. OS 설치, EBS라는 스토리지 서비스 EC2 인스턴스에 연결, 필수 소프트웨어를 설치 등등의 사유)
- 3/3 검사 통과: 생성된 instance가 사용 가능한 상태로, 검사 통과한 instance를 선택하면 정보를 볼 수 있다.

- 인스턴스의 이름은 태그 형태로 관리되는데, 생성할 때 이름을 짓지 않으면 Name 칸 뿐만 아니라 태그도 찾을 수 없다고 뜬다. 아래는 생성 이후 이름을 지었을 때 태그가 나타나는 것을 볼 수 있다.

- 인스턴스 종료: EC2 instance는 중지하면 그 상태가 정지된 채 유지되어 계속 요금이 지불되고, 종료하면 영구히 삭제되어 더이상 요금을 지불하지 않는다.
- 인스턴스 상태: 드롭다운하여 중지, 재부팅, 종료를 선택할 수 있다.
- 중지와 종료를 잘 구분해야 하고, "작업 > 인스턴스 설정 > 종료 방지 기능 변경 or 종료 방지 변경"을 통해 종료를 방지할 수 있다.
- 종료가 완료되어도 한동안은 목록에 표시된다. 다만 실행할 수 없다.

2.2 AWS 웹 관리 콘솔에서 S3 서비스 탐색 데모
버킷 생성
- 버킷을 생성할 리전을 선택
- S3 > 범용버킷 > 버킷 만들기 클릭
버킷 생성 시 유의 사항
- 퍼블릭 액세스 차단을 권장한다. (액세스를 허용하려면, 경고창의 체크박스를 선택해야 한다)
- 리전을 선택해서 버킷을 생성하나, 버킷 명은 모든 AWS 리전을 통틀어 유일해야 한다.

버킷 정보 조회
- 속성
- ARN: Amazon Resource Name. 모든 AWS의 리소스를 구분하는 고유의 식별자

ARN 형식
arn:partition:service:region:account-id:resource-id
arn:partition:service:region:account-id:resource-type/resource-id
arn:partition:service:region:account-id:resource-type:resource-id
- 권한
- 퍼블릭 액세스 차단을 해제하고 버킷을 생성했을 때, 이는 현재 누구나 내 버킷에 접근할 수 있다는 의미가 아니다. 누군가에게 접근권한을 부여할 수 있는 상태를 의미한다.

S3에 파일 업로드
-
S3의 파일 관리
-
버킷에 파일 업로드 > '파일 + 메타데이터' = '객체 > 객체를 저장
-
S3 > 범용버킷 > 파일 업로드 클릭
-
버킷(범용버킷) 목록에서 해당 버킷 클릭 시 '객체'탭에서 현재 업로드된 파일을 확인할 수 있다.
-
업로드된 객체는 객체url이 있어, 이 링크를 가진 사람은 객체에 접근할 수 있다(객체가 퍼블릭 액세스 허용된 경우).
-
업로드된 객체의 퍼블릭 액세스를 허용/차단하는 방법은, 권한 > 버킷 정책에서 새 정책을 작성하면 된다.

-
'편집' 클릭 후 '새 문 추가' 클릭
예시
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Principal": "*", <- 정책의 대상. *는 모든, 전체라는 뜻
"Effect": "Allow", <- 액세스 허용(Allow)/거부(Deny)를 지정 가능
"Action": "*", <- 특정 작업 설정. *는 모든 작업
"Resource": "arn:aws:s3:::sung-e-gkoght-make-bucket/*"
<- 리소스의 식별자(arn) 삽입. 여기서는 해당 버킷 하위의 모든 것을 의미.
}
]
}
-
위와 같이 정책을 작성하면, "파일 목록에서 아무 파일 클릭 > '속성'탭 > 객체 url"을 복사 후 브라우저 등을 통해 파일에 접근할 수 있다.
버킷 삭제
- 버킷을 삭제하기 위해서는 저장된 객체를 모두 삭제해야 한다(버킷이 비워져있어야 한다).
- 전체 객체를 선택해서 '삭제' 클릭 > 하단 텍스트 박스에 '영구 삭제'를 따라서 입력한다.
- 이후 "버킷 > 버킷 선택 후 '삭제' 클릭"을 클릭해서 버킷을 지울 수 있다(버킷명을 그대로 작성하면 삭제가 완료된다).
2.3 AWS 웹 관리 콘솔에서 IAM 서비스 탐색 데모
사용자(IAM User) 정보 조회
- "IAM > 사용자"를 통해 생성되어 있는 IAM USER 목록을 확인할 수 있다.
- 위의 화면에서 '사용자 생성' 클릭 시 IAM USER를 생성 가능하다(구체적인 생성 과정은 차후 다시 설명. 정보 조회를 위해 IAM USER가 있다고 가정).
- IAM USER 목록에서 하나를 클릭 후 '권한' 탭에서 연결된 '권한 정책'을 확인 가능하다. + 박스 클릭 시 구체적인 JSON 문서의 내용을 볼 수 있다.
사용자 그룹(IAM GROUP) 정보 조회
- "IAM > 사용자 그룹"을 통해 생성되어 있는 IAM GROUP 목록을 확인할 수 있다.
- '그룹 생성'을 클릭하여 IAM GROUP을 만들 수 있다.
- IAM GROUP 목록에서 하나를 클릭 후 '권한' 탭에서 연결된 '권한 정책'을 확인 가능하다. + 박스 클릭 시 구체적인 JSON 문서의 내용을 볼 수 있다.
- IAM GROUP 목록에서 하나를 클릭 후 '사용자' 탭에서 그룹에 속한 IAM USER 목록을 볼 수 있다.
역할(IAM ROLE) 정보 조회
- 역할(IAM ROLE)은 임시권한으로, 시한부의 권한을 IAM USER에게 수임하여 최소권한 원칙과 보안성을 높일 수 있다.
- "IAM > 역할"에서 역할 목록 확인 가능하다.
- 역할 목록에서 하나를 클릭 후 '권한' 탭에서 연결된 '권한 정책'을 확인 가능하다. + 박스 클릭 시 구체적인 JSON 문서의 내용을 볼 수 있다.
정책(Policy) 조회
- 정책(Policy)는 권한을 명시한 문서이다.
- 미리 AWS에서 작성해둔 정책(e.i. AWS 관리형 정책) 외에도 사용자가 직접 정책을 정의할 수 있다.
3. AWS CLI 설치 및 기본 명령어 실습
3.1 AWS CLI와 AWS CloudShell
AWS CLI(Command Line Interface)란?
- AWS 리소스를 명령어로 제어할 수 있게 해주는 명령줄 기반 도구
- 웹 관리 콘솔(GUI)를 사용하지 않고 터미널에서 직접 생성, 관리, 모니터링할 수 있다.
- 스크립트 자동화, 반복 작업 처리, 대규모 리소스 관리에 유리
- 사용 방법
- AWS CLI 로컬
- AWS CloudShell
AWS CloudShell
- AWS CloudShell은 브라우저에서 직접 실행할 수 있는 AWS CLI 전용 터미널 환경
- 추가 설치 없이 웹 콘솔 상에서 '명령어 기반' 리소스 관리 가능
3.2 AWS CLI로 S3 버킷, EC2 인스턴스, IAM User 조회 데모
AWS CLI로 S3 버킷 조회
- s3 버킷 조회
- 특정 s3 버킷 조회
- 하위 디렉터리 조회
- $ aws s3 ls s3://<버킷이름>/<디렉터리명>
- 버킷의 리전명 조회
- $ aws s3api get-bucket-location --bucket <버킷이름>
AWS CLI로 EC2 인스턴스 조회
- EC2 인스턴스 조회
- $ aws ec2 describe-instances
- 인스턴스 ID만 조회
- $ aws ec2 describe-instances --query "Reservations[*].Instances[*].InstanceId" --output text
- 특정 리전에서 조회
- $ aws ec2 describe-instances --region <리전명>
- $ aws ec2 describe-instances ap-northeast-2 # 서울 리전에서 조회
AWS CLI로 IAM User 조회
- IAM User 목록 조회
- IAM User Group 조회
- IAM Role 목록 조회
- IAM Policy 목록 조회
3.3 AWS CLI 설치 방법
AWS CLI 설치 가이드
AWS CLI 구성
홈 디렉터리(~) 하위의 두 설정파일을 구성해야 한다
로컬 사용 시 문제점
- .aws/credentials가 암호화되지 않은 평문으로 저장되어 있다.
- 이로 인해 IAM Users의 키가 유출될 위험성이 있다.