Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터...

Avatar for KimJaewook KimJaewook
October 06, 2025

AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지

Avatar for KimJaewook

KimJaewook

October 06, 2025
Tweet

More Decks by KimJaewook

Other Decks in Technology

Transcript

  1. 자기소개 2 이름 : 김재욱(Kim Jaewook) 소속 : Classmethod 직무

    : Solutions Architect ※ 2023, 2024, 2025 Japan AWS All Certifications Engineer ※ 사내 블로그 AWS 관련 투고 약 450여개
  2. 대상 독자 4 입문자 중급자 • AWS 기초 • 자주

    사용되는 용어들 • 네트워크 기초 • 자주 사용되는 서비스 • 놓치고 있었던 서비스
  3. 사용하게 될 도구 및 기술들 5 AWS 관리 콘솔 VS

    Code 클라우드포메이 션 AWS CLI AWS SDK HTML 자바스크립트 파이썬
  4. 책을 다 읽고 나면? 8 AWS 환경을 설계하고 구축할 수

    있는 수준까지 AWS 환경을 운영하고 관리하는 부분까지 정리 입문자분들은 중급자까지… 필요할 때 마다 꺼내서 읽어보는 참고서
  5. AWS의 탄생 1990년대 후반~2000년대 초 아마존의 급속한 성장 특히 연말

    시즌 등 트래픽 급증 문제 기존 인프라로는 확장성 한계 10
  6. AWS의 탄생 독립적인 데이터 센터 운영 이용자 수 증가 서버

    과부하 데이터 센터 이용자 수 증가에 따른 서버 추가 비용과 시간이 많이 듬 1 1
  7. AWS의 탄생 12 문제 해결을 위해 2002년 사내용 고성능 인프라

    시스템을 설계 AWS 클라우드 서비스의 기반 클라우드 컴퓨팅의 등장
  8. AWS의 탄생 Amazon EC2 Amazon S3 2006년 Amazon S3를 시작으로

    Amazon EC2를 출시 UI 환경도 없었고, 여러 리전(지역)에서 사용도 불가능 초기에는 숙련자를 위한 API 중심의 서비스를 제공 13
  9. AWS의 탄생 사용한 만큼만 지불하는 종량과금제라는 요금제 서버 부하에 따른

    자유로운 확장과 민첩성 AWS? 클라우드? 당시에는 웹 서비스가 주류 데이터 센터 클라우드 15
  10. AWS의 탄생 1990년대 후반~2000년대 초 아마존의 급속한 성장 연말 혹은

    특정 시즌에 이용자가 몰리는 등 트래픽 급증 문제가 발생 기존 인프라(자체 데이터센터)로는 확장성 한계 문제 해결을 위해 2002년 사내용 고성능 인프라 시스템을 설계 2006년 Amazon S3를 시작으로 Amazon EC2를 출시 16
  11. AWS를 쓰려면 알아두면 유용한 클라우드 지식 19 서버를 가상화해서 제3자가

    사용자에게 저장소를 제공하는 형태 온프레미스의 높은 초기 구축 비용이나 유지보수, 확장성을 해결 단기간 내에 서버 구축과 확장이 가능해서 운영 효율성과 자원 효율성이 증가
  12. AWS를 쓰려면 알아두면 유용한 클라우드 지식 20 온프레미스 환경과 클라우드의

    이점을 결합한 것을 하이브리드 클라우드 유연성, 경제성, 신속성, 보안성, 안정성까지 갖추고 있어서 IT 인프라 구축에 중요한 전략 복잡한 시스템 구성과 별도의 전용선이 필요
  13. AWS를 쓰려면 알아두면 유용한 클라우드 지식 21 24시간 가동 중인

    서버, 스토리지 주말에만 이용자 수 증가 비효율적 서버리스는 서버를 관리하거나 배포할 필요없는 클라우드 기반 서비스 필요한 시점에만 리소스를 활용할 수 있어 비용 절약 개발 운영 과정에서 효율적으로 작업 가능
  14. AWS를 쓰려면 알아두면 유용한 클라우드 지식 22 이벤트 발생 이벤트

    처리 다른 서비스와 연계 웹 페이지 접근 웹 페이지, 모바일 접근 및 파일 업로드와 같은 이벤트가 발생해요. 이벤트가 발생했다면 작성한 코드로 이벤트를 처리해요. 파일 업로드 모바일 접근 코드 실행 이벤트 처리 과정에서 다른 서비스와의 연동도 할 수 있어요. 서버 연동 스토리지 연동
  15. AWS를 쓰려면 알아두면 유용한 클라우드 지식 23 AWS의 글로벌 인프라

    구성은 리전, 가용 영역, 에지 로케이션으로 구성 서비스가 제공되는 물리적인 국가/도시 단위의 지역을 리전
  16. AWS를 쓰려면 알아두면 유용한 클라우드 지식 24 AWS는 리전별로 제공하는

    서비스가 다르다. 사용자에게 물리적인 거리를 좁혀 네트워크 속도를 향상시킴으로써 빠르고 안정적인 서비스를 제공 자연 재해 혹은 서비스 중단을 대비해 리전을 운영 각 리전에는 고유 코드가 존재하며, 서울 리전은 [ap-northeast-2]
  17. AWS를 쓰려면 알아두면 유용한 클라우드 지식 25 서울 리전(ap-northeast-2) 가용

    영역(ap-northeast-2c) 가용 영역(ap-northeast-2d) 가용 영역(ap-northeast-2a) 가용 영역(ap-northeast-2b) 가용 영역은 하나 이상의 물리적인 개별 데이터 센터 가용 영역을 구분하는 방법으로 리전의 이름 뒤에 알파벳을 붙여서 구분 서로 다른 물리적인 위치에 있어 자연 재해로 부터 영향을 최소화
  18. AWS를 쓰려면 알아두면 유용한 클라우드 지식 26 서울 리전 (ap-northeast-2)

    사용자 A가 서울 리전에 가장 가까우므로 빠르게 데이터 접근 가능 사용자 A 서울 리전에서 접근 사용자 B 독일 리전에서 접근 사용자 C 미국 리전에서 접근 사용자 B, C는 서울 리전에서 비교적 먼 거리, 데이터 접근이 느림 사용자 B, C는 서울 리전에서 비교적 먼 거리, 데이터 접근이 느림 에지 로케이션은 오리진 서버의 콘텐츠를 서로 다른 지역에서 빠르게 접근할 수 있도록 만드는 캐시 서버의 모음
  19. AWS를 쓰려면 알아두면 유용한 클라우드 지식 27 서울 리전 (ap-northeast-2)

    사용자 A 서울 리전에서 접근 사용자 B 독일 리전에서 접근 사용자 C 미국 리전에서 접근 독일 에지 로케이션 미국 에지 로케이션 오리진 서버에서 에지 로케이션에 데이터 캐싱 사용자 B,C가 접근하고자 하는 데이터를 중간에 캐시하면 빠르게 콘텐츠를 확인할 수 있다. 에지 로케이션이 사용자가 요청한 캐싱 데이터를 전달
  20. AWS를 쓰려면 알아두면 유용한 클라우드 지식 28 서울 리전 (ap-northeast-2)

    사용자 A 서울 리전에서 접근 사용자 C 미국 리전에서 접근 미국 에지 로케이션 오리진 서버와 에지 로케이션 사이에 캐시 서버를 설치하여 속도를 개선합니다 캐시 서버 캐시 서버 사용자 B 독일 리전에서 접근 독일 에지 로케이션
  21. AWS를 쓰려면 알아두면 유용한 클라우드 지식 29 서울 리전 (ap-northeast-2)

    사용자 A 서울 리전에서 접근 Amazon Cloudfront를 사용하는 미국 사용자 C 미국 에지 로케이션 Amazon Cloudfront 아마존 클라우드프론트 서비스를 이용하니 에지 로케이션에서 데이터를 빠르게 받을 수 있어요! AWS에서는 에지 로케이션을 이용하는 아마존 클라우드프론트를 제공
  22. AWS를 쓰려면 알아두면 유용한 클라우드 지식 30 S3라는 저장소는 서울

    리전에 생성 10MB에 데이터를 저장하고 각각 다른 리전에서 다운로드를 진행
  23. AWS를 쓰려면 알아두면 유용한 클라우드 지식 31 S3와 클라우드프론트를 연동

    10MB에 데이터를 저장하고 각각 다른 리전에서 다운로드를 진행
  24. AWS를 쓰려면 알아두면 유용한 클라우드 지식 32 사용자 A 가용

    영역에 2b에 문제가 발생하여 다른 가용 영역을 2d를 통해 서비스를 지속할 수 있으므로 가용성이 높음 가용 영역 (ap-northeast-2c) 가용 영역 (ap-northeast-2d) 가용 영역 (ap-northeast-2a) 가용 영역 (ap-northeast-2b) 가용성이 높은 경우 가용성은 리전 내 자연 재해와 같은 여러 상황이 발생하여 시스템 장애가 나도 정상적으로 작동할 수 있는 정도를 의미
  25. AWS를 쓰려면 알아두면 유용한 클라우드 지식 33 가용 영역에 문제가

    발생해서 서비스를 더이상 지원할 수 없는 경우 시스템은 사용 가능한 시간이 길수록 가용성이 높다 시스템 오류 등으로 중지되는 시간이 길수록 가용성은 낮다 고가용성은 시스템이나 서비스가 지속적으로 정상 운영되는 능력 사용자 B 가용 영역에 문제가 발생하여 서비스를 지원할 수 없으며, 문제가 해결되어야 서비스 지원 가능. 가용성이 낮음 가용 영역 (ap-northeast-2a) 가용성이 낮은경우
  26. AWS를 쓰려면 알아두면 유용한 클라우드 지식 34 신뢰성은 예상대로 작동하고

    중단되지 않는 정도를 의미 신뢰성이 높다는 건 오랜 기간 동안 안정적으로 시스템이 작동 1000시간 가동 가용 영역(ap-northeast-2a) 사용자 B 중단 없이 1000시간을 가동했다면 1000시간 동안 문제 없이 서비스를 제공할 수 있는 신뢰성 있는 시스템
  27. AWS를 쓰려면 알아두면 유용한 클라우드 지식 35 1000시간 가동 중

    1000시간 고장 평균 고장 간격 1000시간 가동률 50% 가용 영역(ap-northeast-2a) 시스템 B • 가용성 : 시스템이 실제로 서비스 가능한 시간의 비율 ◦ 고장 발생 후 복구시간을 포함하여 계산 ▪ 공식: 가용성 = 가동시간 / (가동시간 + 복구시간) × 100% • 예시: 1000시간 / (1000시간 + 1000시간) = 가용성 50% • 신뢰성 : 시스템이 고장 없이 연속적으로 동작하는 시간 ◦ 고장 간격과 관련 ◦ 예시: 1000시간 가동 후 고장 → 1000시간의 신뢰성 지표 • 결과: 시스템 B는 가용성은 50% (복구시간 1000시간 포함)이며 신뢰성은 1000시간(1000 시간의 고장 간격)의 신뢰성을 가진 시스템
  28. AWS를 쓰려면 알아두면 유용한 클라우드 지식 36 가용성 : 가용성

    = 가동시간 / (가동시간 + 복구시간) × 100% → 고장 나도 얼마나 빨리 돌아올 수 있나? 신뢰성 : 얼마나 오래 고장 없이 버텼는지(고장 간격까지의 시간) → 고장 없이 얼마나 오래 버틸 수 있나?
  29. AWS를 쓰려면 알아두면 유용한 클라우드 지식 38 탄력성은 상황에 따라

    트래픽이나 부하에 대응해서 유연하게 조정하는 것 탄력성은 변화에 빠르게 대응하여 시스템 성능을 유지 정상적인 작동을 할 수 있도록 가용성을 높이는 데 중점
  30. AWS를 쓰려면 알아두면 유용한 클라우드 지식 39 AWS에서는 탄력성을 위한

    오토 스케일링 서비스를 제공 CPU, 네트워크와 같이 미리 정의된 조건에 따라 탄력성을 유지
  31. AWS를 쓰려면 알아두면 유용한 클라우드 지식 40 확장성은 비즈니스가 성장함에

    따라 서버 용량이 한계에 도달할 때 인프라를 확장하는 것을 의미 확장성은 스케일 업과 스케일 아웃으로 구분
  32. AWS를 쓰려면 알아두면 유용한 클라우드 지식 41 스케일 아웃은 기존

    시스템과 비슷하거나 같은 스펙의 서버를 추가
  33. AWS를 쓰려면 알아두면 유용한 클라우드 지식 42 탄력성과 확장성의 차이

    탄력성(Elasticity): 실제 부하 변화에 따라 자원을 자동으로 확장·축소하는 능력 확장성(Scalability): 필요할 때 시스템을 확장할 수 있는 능력
  34. AWS를 쓰려면 알아두면 유용한 클라우드 지식 43 오토 스케일링 미리

    정의된 조건에 따라서 서버를 추가하거나 제거하여 탄력성을 유지 필요한 시점에 리소스를 확장할 수 있기 때문에 확장성 또한 확보
  35. AWS를 쓰려면 알아두면 유용한 클라우드 지식 44 BCP (Business Continuity

    Plan) • 재해·장애에 대비한 운영 연속성 계획 • AWS가 다수의 리전을 운영하는 이유 → 고가용성 & BCP • DR(Disaster Recovery, 재해 복구) 환경 필수 ◦ 예: 서울 리전 전체 중단 시, 도쿄 리전에 백업/서버 준비 → 서비스 지속 • AWS는 재해 복구 & BCP 수립으로 안정적 운영 지원
  36. AWS를 쓰려면 알아두면 유용한 클라우드 지식 온프레미스, 클라우드, 하이브리드, 서버리스

    리전, 가용 영역, 에지 로케이션 가용성, 신뢰성, 내결함성, 탄력성, 확장성, BCP 45
  37. 권한 관리 서비스, AWS IAM 파악하기 48 AWS IAM 계정

    내에서 사용자, 그룹, 리소스에 대한 권한을 중앙 집중적으로 관리 AWS 리소스에 대한 액세스를 제어 사용자에게 필요한 작업만을 수행할 권한을 부여
  38. 권한 관리 서비스, AWS IAM 파악하기 49 AWS IAM EC2

    인스턴스 A 사용자 EC2 인스턴스에 접근할 수 있는 권한 B 사용자 RDS에 접근할 수 있는 권한
  39. 권한 관리 서비스, AWS IAM 파악하기 50 AWS IAM •

    IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며 , AWS 리소스에 접근하는 자격증명을 보유하고 있습니다 . • IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는 서비스입니다. • IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다. • IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에 권한을 부여하는 데 사용되는 서비스입니다.
  40. 권한 관리 서비스, AWS IAM 파악하기 51 AWS IAM •

    IAM 사용자(IAM User)는 루트 사용자에 의해서 생성되고 관리 ◦ 보다 세분화된 권한 관리와 보안 강화에 사용 ▪ 루트 사용자는 어드민 권한을 가지는 계정 • 개인 계정을 사용하는 사람들 대부분이 루트 사용자를 통해 AWS를 관리
  41. 권한 관리 서비스, AWS IAM 파악하기 52 A 사용자 EC2

    인스턴스에 접근할 수 있는 권한 B 사용자 RDS에 접근할 수 있는 권한 C 사용자 S3에 접근할 수 있는 권한 D 사용자 RDS, S3에 접근할 수 있는 권한 루트 사용자 IAM 사용자
  42. 권한 관리 서비스, AWS IAM 파악하기 53 A 사용자 AWS

    관리 콘솔 AWS CLI B 사용자 AWS CLI ※ 여기서 말하는 CLI는 명령 프롬프트에서 AWS 리소스를 관리하는 통합 도구입니다.
  43. 권한 관리 서비스, AWS IAM 파악하기 54 AWS IAM •

    IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며, AWS 리소스에 접근하는 자격증명을 보유하고 있습니다. • IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는 서비스입니다 . • IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다. • IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에 권한을 부여하는 데 사용되는 서비스입니다.
  44. 권한 관리 서비스, AWS IAM 파악하기 55 개발에 필요한 권한을

    부여 보안에 필요한 권한을 부여 개발 부서 AWS IAM 보안 부서 A 사용자 B 사용자 ※ 실제 서비스를 운영하는 AWS 계정이라면 IAM 그룹을 만들어 IAM 유저를 관리하는 것을
  45. 권한 관리 서비스, AWS IAM 파악하기 56 AWS IAM •

    IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며, AWS 리소스에 접근하는 자격증명을 보유하고 있습니다. • IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는 서비스입니다. • IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다 . • IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에 권한을 부여하는 데 사용되는 서비스입니다.
  46. 권한 관리 서비스, AWS IAM 파악하기 57 • IAM 정책(IAM

    Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다 . ◦ AWS 관리형 정책은 AWS에서 생성하고 관리하는 정책 ▪ 사용자가 직접 정책을 수정할 수 없음 AWS IAM
  47. 권한 관리 서비스, AWS IAM 파악하기 58 • IAM 정책(IAM

    Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다 . ◦ 고객 관리형 정책은 사용자가 생성하고 관리할 수 있는 정책 ▪ 시각적인 형식이나 JSON 형식으로 권한을 정의 • 리소스에 대한 접근 권한을 부여하거나 제한하는 등 사용자 커스텀으로 권한을 부여하고 싶을 때 사용 AWS IAM 시각적 형식 JSON 형식
  48. 권한 관리 서비스, AWS IAM 파악하기 59 • IAM 정책(IAM

    Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다 . ◦ 인라인 정책은 IAM 사용자, IAM 그룹, IAM 역할에 대해 일대일 관계를 유지하는 정책 ▪ IAM 사용자, IAM 그룹, IAM 역할이 삭제되면 인라인 정책도 함께 삭제 AWS IAM
  49. 권한 관리 서비스, AWS IAM 파악하기 60 AWS IAM •

    IAM 사용자(IAM User) : 개별적으로 식별되는 사용자를 의미하며, AWS 리소스에 접근하는 자격증명을 보유하고 있습니다. • IAM 그룹(IAM Group) : IAM 사용자를 그룹으로 묶어서 정리하는 서비스입니다. • IAM 정책(IAM Policy) : 어떤 사용자 혹은 리소스에 대해 어떤 작업이 허용되는지를 정의하는 서비스입니다. • IAM 역할(IAM Role) : IAM 정책을 담고 있으며, AWS 서비스에 권한을 부여하는 데 사용되는 서비스입니다 .
  50. 권한 관리 서비스, AWS IAM 파악하기 61 S3에 접근할 수

    있는 권한 다른 리소스와 상호작용할 수 있는 권한 ➊ ➋ ➌ IAM 정책 IAM 정책 IAM 역할 EC2 인스턴스 아마존 S3
  51. 권한 관리 서비스, AWS IAM 파악하기 62 IAM은 계정 내에서

    사용자나 그룹, 리소스에 대한 권한을 중앙 집중적으로 관리하는 서비스 AWS를 사용하기 위한 루트 사용자, IAM 사용자 IAM을 이루는 요소로는 IAM 사용자, IAM 그룹, IAM 정책, IAM 역할