[AWS] Identity and Access Management / EC2 사용 실습 필기 / Ubuntu + Nginx

말하는 감자·2025년 5월 8일

내일배움캠프

목록 보기
56/73
post-thumbnail

대학생때 후루룩 배운 AWS는 독학이다보니 제대로 공부되지않은 부분이 있어서 그부분 집어서 또 글쓰겟다

IAM?

배경

  • Global 서비스 ( Region 선택이 따로없다 )

  • 회원가입시 만들어진 Root Account는 사용/공유되지 않아야 한다.

  • User와 Group를 만들어서 사용해야 한다.

    • Group는 개발자 / 운영 과 같이 유저 종류를 지정한다.
    • User는 실제 로그인하는 사람이다.
    • User는 Group에 속하지 않을수도, 여러 Group에 속할 수 있다.
  • 이렇게 만들어진 Group과 User들은 Policy를 통해서 권한을 조정한다.

    • 최소한의 권한 원칙(least privilege principle)
      • 그사람에게 필요한 것만 딱!!!!!!!!줘야함. ( 보안 취약 이유 )

Root Account 를 사용하지 않기 위해 IAM 을 사용한다.
Root Account에 등록된 서비스들을 만약에 회사에서 관리한다면 여기 서비스에 접근해야할 사람들이 많을 것이다.
접근 하는 사람들에게 권한과 역할을 부여하고 각각 접근이 가능하도록 해주는 기능이 IAM







만들어보좌

리전 선택에 보면 선택이 불가능한 것이 보인다
글로벌이기떄문임!!!

여기 [AWS Management Console에 대한 사용자 액세스 권한 제공 – 선택 사항] 선택을 하게되면
웹에서도 aws 서비스 접근이 가능하다고한다.
체크안해주면 api로만 접근이 가능하다네요


IAM 생성할때 속할 그룹을 만들어준다
그룹에서는 필요한 정책들을 담아서 그룹에 대한 권한을 줄 수 있다.

정책생성클릭하면 서비스에 대해 CRUD 작업 권한을 완전 세세하게 줄 수 있음.
그 권한들은 나중에 JSON 형식으로 저장됨

참고로 모든권한은 이거 넣어주면댐


다 만들고나서 대시보드인데,
오른쪽에 AWS 계정 동그라미 친 부분은 이제 서비스들이 저장되는 컴퓨터 처러 ㅁ생각하면된다.
IAM이 거기안에서 일하는 사람~~ 접근하는 사용자~~ 느낌..
IAM이 있으면 root account의 아이디, 비밀번호 알 필요없이
아래쪽에 [이 계정의 IAM 사용자를 위한 로그인 URL] 을 통해 바로 IAM 계정으로 로그인가능하다


iam으로 로그인하면 이렇게 iam 사용자 라고 사용자 이름이 나옴

계정이 랜덤숫자라서 불편할 수 있는데 이렇게 별칭도 줄 수 있음

이렇게 같은 account에 수십명의 유저가 한꺼번에 서비스 만들고 작업하고 접근가능하도록 설정할 수 있음.








MFA - Multi-Factor Authentication

MFA는 중 인증 요소 인증 방식을 의미한다.
일반적인 사용자 ID와 비밀번호 입력 외에 추가적인 인증 요소를 요구하여 보안을 강화하는 방법인데, 우리가 요새 사용하는 비밀번호 + 핸드폰 패스인증 같은거?? 를 말함

ROOT ACCOUNT랑 IAM 둘다 MFA 적용해야함








EC2 사용 실습 필기

EC2 생성후에 DNS를 통해서 접근하려고 시도하면 안됨

이렇게 무한 로딩이 뜨는데 정상이다
이유는 접근 규칙을 설정해주지않아서인데

Security 탭에서 규칙 확인가능하고, 보안그룹에서 규칙을 수정할 수 있음.

  • 포트
    • 22 = ssh(secure shell)로 인스턴스에 원격 접속
    • 21 = FTP 파일전송 프로토콜 ( 파일 다운로드 프로그램 )
    • 80 = http 웹 접속
    • 443 = https 안전한 http 접속, 현재의 스탠다드

이걸 다 설정해도 dns 접근이 불가능하다

왜냐?

서버가 켜져있지 않아서 그렇다고함
인스턴스(컴퓨터)는 열려있는데
인스턴스가 외부에서 처리하기 위한 공간이 켜져있지않음

여기서 켜주자
connect눌러주면 콘솔창이 바뀜

서버 열어주기위해서
sudo apt-get update 갈겨줌 아마존 linux는 데비안 계열이 아니니깐 명령어가 다를것이다

업데이트 끝나면 서버에 nginx 올려줘야해서 설치해야함
sudo apt-get install nginx

뭐 y/n 물어볼텐데 y 해줘서 설치해준다

깔아주고 실행하기
sudo systemctl start nginx ㄱ_ㄱ

nginx 실행되는거 확인되면 이제 dns로 접근했을 때 기본 페이지를 볼 수 있다.

빠밤

안뜬다면 크롬 캐시삭제 후에 다시 시도해보자

일전에는 아마존 리눅스 + 아파치 + php 조합이라서 ... 안해본 거라 강의그냥 따라가는게 나을 것 같다.
예쩐에는 없었던 ec2 콘솔창도 써봄 ㄷ_ㄷ

참고로 여기 public Ipv4 address는 끄고킬때마다 바뀜

PuTTY 로 EC2 접근


내 PPK파일


이거체크


여기에 ppk 파일 경로지정


여기에 ec2 인스턴스의 public dns 를 넣어줌
이름은 ubuntu 로 되어이씀

profile
대충 데굴데굴 굴러가는 개발?자

3개의 댓글

comment-user-thumbnail
2025년 5월 8일

저는 aws 쓰다가 잘못 써서 과금 살짝 나왔는데 꼭 조심하세요 ㅠㅠ

1개의 답글