데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      [데보션영과 함께하는 책읽기-14편] 따라하며 배우는 AWS 네트워크 입문🌊

      오수영 23.10.30
      936 4 0
      DEVOTEE 요약
      데보션 영은 서태호 마스터님이 추천한 "따라하며 배우는 AWS 네트워크 입문"을 공부하며 AWS에 대한 이해를 키웠다. 이 책을 통해 AWS 인프라 소개, 서비스 종류, EC2 배포 실습, CloudFormation 스택 생성 및 삭제, VPC 기초, 네트워크 보안 등에 대해 학습했다. 또, 실제로 AWS를 활용해 웹 서비스를 설치하고 IAM(IAM Identity & Access Management)을 통해 AWS 리소스에 대한 접근을 안전하게 관리하는 방법을 배웠다.

      안녕하세요! 데보션영과 함께하는 책읽기로 돌아온 데보션 영 2기 영웨이브 조의 오수영입니다 🌊


      저희는 서태호 마스터님께서 추천해주신 AWS 책 목록 중 "따라하며 배우는 AWS 네트워크 입문" 을 골랐습니다.

      실습을 각자 해보는 방식으로 스터디를 진행했고, 가장 기억에 남았던 실습 몇 가지에 대해 적어보며 간략한 후기를 나누어보겠습니다😀

      📕 목차

      1. 01장 AWS 인프라

        1. AWS 소개

        2. [실습 1-1] EC2 배포 실습

        3. [실습 1-2] CloudFormation 스택 생성 및 삭제

      2. 02장 VPC 기초

        1. VPC

        2. VPC 리소스 소개

        3. [실습 2-1] 퍼블릭 서브넷 VPC 구성

      3. 07장 네트워크 보안

        1. 보안 그룹과 네트워크 ACL

        2. 보안 그룹과 네트워크 ACL 차이점

        3. IAM

      4. 팀원 개별 후기


      01장 AWS 인프라

      1. AWS 소개

      1. 클라우드란 ?

      인터넷을 통해 언제 어디서든지 원하는 때 원하는 만큼의 IT 리소스(서버, 네트워크, 스토리지)를 손쉽게 사용할 수 있게 하는 서비스


      2. AWS는 무엇?

      Amazon Web Services는 전 세계적으로 분포한 데이터 센터에서 다양한 서비스를 제공하고 있는 클라우드 플랫폼으로,

      물리적 데이터 센터와 서버를 구입, 유지 관리하는 대신 AWS로부터 필요에 따라 다양한 기술 서비스에 액세스 할 수 있습니다.


      3. 클라우드 서비스의 종류

      AWS에선 크게 4가지로 분류됩니다.

      • IaaS (Infrastructure as a Service)

        • 기본적인 IT 자원인 컴퓨팅(EC2), 네트워크(VPC), 스토리지(EBS) 등을 제공, 운영

      • PaaS (Platform as a Service)

        • 운영체제와 개발에 필요한 Middleware, RunTime을 제공 (AWS Elastic Beanstalk-애플리케이션 배포)

      • Serverless

        • 애플리케이션 개발에 필요한 대부분을 클라우드 사업자가 제공, 운영 (Lambda, API Gateway)

      • SaaS (Software as a Service)

        • SaaS는 서비스 공급자에 의해 실행, 관리되는 완전한 제품으로 웹 기반 이메일과 같은 최종 애플리케이션을 말합니다.


      4. AWS 인프라 구조

      스크린샷 2023-10-10 오후 2 43 14


      2. EC2 배포 실습

      • EC2(Elastic Compute Cloud) : 물리 환경의 서버 컴퓨터와 유사하게 컴퓨팅 리소스를 제공하는 서비스. 가상 머신으로 제공되며 인스턴스라고 부릅니다.

      [실습 1-1] EC2 배포 및 사용

      목표 : AWS EC2 인스턴스를 배포 후 해당 인스턴스에 SSH 접속을 하고, 웹 서비스 설치 및 확인하기

      1

      1. SSH 키 페어 생성하기

      여기서 잠깐 ! SSH(Secure Shell)란?

      • SSH는 네트워크를 통해 원격 시스템(서버, 장비 등)에 접근할 수 있는 프로토콜 및 프로그램입니다.

      • SSH는 ‘SSH 서버’와 ‘SSH 클라이언트’로 구성되며, SSH 클라이언트가 SSH 서버에 접속하기 위해선 인증 절차가 필요합니다.

        2

      • 인증 절차는 ‘키 페어 파일’ 방식을 사용합니다. 사용자의 개인키가 노출되지 않게 하고, 키 파일로 로그인이 가능해 추가로 암호를 입력하지 않아도 됩니다.

      AWS EC2 인스턴스의 경우에도 기본적으로 SSH 키 페어를 통해 접속합니다.

      AWS 가입 후 EC2 > 네트워크 및 보안 > 키 페어 생성

      • 윈도우 OS로 PuTTY 프로그램 사용 시 → ppk 선택

      • 맥 OS나 리눅스 내장 SSH 사용 시 → pem 선택

        3

      .pem 파일을 잘 보관해 둡니다!


      2. AWS 관리 콘솔에서 EC2 인스턴스 배포

      단계

      설명

      AMI(Amazon Machine Image) 선택

      • 인스턴스를 시작하는 데 필요한 소프트웨어 구성(OS, 애플리케이션 서버, 애플리케이션) 이 포함된 템플릿

      • Amazon Linux 2 AMI 선택

      인스턴스 유형 선택

      • t2.micro 선택

      인스턴스 세부 구성

      • 네트워크 설정

      • ‘퍼블릭 IP 자동 할당’ 활성화

      스토리지 추가

      • 볼륨 크기 30GiB (프리티어 최대 용량)

      태그 추가

      • 관리 편의를 위해 서비스를 구분하는 용도

      보안 그룹 구성

      • 인스턴스에 대한 트래픽을 제어하는 방화벽 규칙 셋

      키 페어 선택

      • 1단계에서 만든 키 페어 선택

      4


      3. 사용자 PC에서 SSH로 EC2 인스턴스 접근

      사용자 PC에서 생성된 인스턴스에 SSH 접근하기 위해선 해당 인스턴스의 퍼블릭 IP 정보를 확인해야 합니다.

      키 파일을 소유자만 볼 수 있도록 권한을 변경합니다.


      chmod 400 dy_aws.pem

      ssh -i dy_aws.pem ec2-user@퍼블릭 IP

      4-2

      4. EC2 인스턴스에 웹 서비스 설치 → 사용자 PC의 웹 브라우저에서 EC2 인스턴스 퍼블릭 IP로 접근

      # 실습의 편리를 위해 root 계정 전환
      $ sudo su -
      
      # Web 서비스 설치
      $ yum install httpd -y
      
      # Web 서비스 실행
      $ systemctl start httpd
      
      # 웹 페이지 구성
      $ echo "<h1>Test Web Server</h1>"> /var/www/html/index.html
      
      # curl 명령어로 웹 접속 확인
      $ curl localhost
      <h1>Test Web Server</h1>

      웹 브라우저에서 http://퍼블릭IP 로 접근하여 웹 페이지가 정상 출력되는지 확인합니다.

      5

      [실습 1-2] CloudFormation 스택 생성 및 삭제

      1. CloudFormation 이란?

      자신이 생성할 AWS 인프라 자원을 코드로 정의하여 자동으로 자원을 생성하는 방법입니다.

      이를 IaC(Infrastructure as Code)라 합니다.

      • 템플릿 : 생성할 AWS 인프라 자원을 코드로 정의한 파일입니다. (JSON 이나 YAML 형식)

      • EC2 인스턴스에 대한 OS, 인스턴스 타입, 키 페어, 태그, 보안 그룹을 정의하여 배포할 수 있습니다.

      • 스택 생성 : 템플릿을 CloudFormation에 업로드하여 스택을 생성합니다.

      2. CloudFormation 스택 생성

      제공된 yaml 파일을 업로드한 후 임의의 스택 이름을 지정 → 키 페어 선택

      을 마치면 다음과 같이 스택이 생성됩니다.

      6

      3.생성된 자원을 확인해 봅시다!

      아까 만든 devocean_young 인스턴스 밑에 WebServer 인스턴스가 잘 만들어진 것을 볼 수 있습니다.

      7

      CloudFormation은 처음 사용해보는 서비스였는데 코드로도 다양한 자원을 생성하고 관리할 수 있다는 점이 인상깊었습니다.



      02장 VPC 기초

      1. VPC

      1. VPC(Virtual Private Cloud)란?

      * 독립된 가상의 클라우드 네트워크로 사용자가 정의한 가상 네트워크 상에서 다양한 AWS 리소스를 실행할 수 있게 지원

      * 사용자는 VPC 내에 IP 대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹, 네트워크 ACL 등을 생성하고 제어 가능

      8


      2. VPC 특징

      특징

      설명

      확장성

      클라우드 기반으로 손쉽게 VPC 자원 생성 및 삭제, 설정 및 관리의 편의성 제공

      보안

      인스턴스 레벨과 서브넷 레벨에서 Inbound 및 Outbound 필터링을 수행할 수 있도록 보안 그룹과 네트워크 ACL 제공

      사용자 중심

      VPC내 리소스를 사용자가 원하는 대로 손쉽게 제어 가능, 네트워크 지표 및 모니터링 툴을 활용해 높은 가시성 제공


      2. VPC 리소스 소개

      1. 서브넷 (Subnet)

      1. 네트워크 영역을 부분적으로 나눈 망

      2. 서브넷의 IP 대역은 VPC의 IP 대역에 속해 있어야 하며, 이미 예약된 IP 주소를 피해 할당해야 합니다.

      3. public, private 서브넷

        public subnet: public IP를 가지고 `인터넷 게이트웨이`를 통해 외부 인터넷 구간의 사용자와 통신 가능

        private subnet: private IP만 가지고 있어 자체적으로 외부 인터넷 구간의 사용자와 통신 불가 → `NAT 게이트웨이`를 통해 가능 (밑에 설명)

      9


      2. 가상 라우터와 라우팅 테이블

      1. VPC를 생성하면 자동으로 가상 라우터가 생성! 로컬 네트워크에 대한 라우팅 경로만 잡혀있음.

      2. 아래와 같이 서브넷별로 새로운 라우팅 테이블을 생성해 개별적으로 매핑시켜줄 수 있음.

        10

      3. 인터넷 게이트웨이 : VPC에서 인터넷 구간으로 나가는 관문


      4. NAT 게이트웨이

      13

      5. 보안 그룹과 네트워크 ACL → 자세한 내용은 밑에서


      3. [실습 2-1] 퍼블릭 서브넷 VPC 구성

      목표 : 단일 퍼블릭 서브넷 VPC 실습 환경을 구성하고, 이 서브넷에 속한 EC2 인스턴스가 외부 인터넷 구간으로 통신되는 과정 이해


      1. VPC 생성

      14

      10.0.0.0/16 대역의 VPC 를 생성하여 가상의 네트워크 환경을 구성합니다.

      이 가상의 네트워크에는 가상의 라우터가 존재하며, 기본 라우팅 테이블을 활용합니다.


      2. 퍼블릭 서브넷 생성

      생성한 VPC 를 선택한 후, IPv4 CIDR 블록을 10.0.0.0/24로 지정합니다.

      15

      아직은 가상 라우터가 갖고 있는 기본 라우팅 테이블을 사용합니다.


      3. 인터넷 게이트웨이 생성 및 VPC 연결

      외부 인터넷 구간과 통신을 하기 위한 인터넷 게이트웨이를 생성하고 VPC 와 연결합니다.

      16

      17연결했지만 인터넷 구간으로 향하는 라우팅 경로가 없기 때문에

      외부 인터넷 통신은 불가능한 환경입니다!


      4. 퍼블릭 라우팅 테이블 생성 및 서브넷 연결

      라우팅 테이블은 VPC, 인터넷 및 VPN 연결 내 서브넷 간에 패킷이 전달되는 방법을 지정합니다.


      18

      생성한 라우팅 테이블에 서브넷을 연결해줍니다.

      19생성한 라우팅 테이블에 서브넷을 연결해줍니다.

      20

      이제 퍼블릭 서브넷은 기본 라우팅 테이블이 아닌 새로 생성한 퍼블릭 라우팅 테이블을 사용합니다.


      5. 퍼블릭 라우팅 테이블 경로 추가

      현재 퍼블릭 라우팅 테이블에는 외부 인터넷 통신을 위한 라우팅 경로가 없습니다.

      모든 네트워크 (0.0.0.0/0)가 인터넷 게이트웨이로 향하는 라우팅 경로를 추가해줍니다.

      21

      이제 검증을 해봅시다!


      6. EC2 인스턴스 생성

      생성한 VPC와 서브넷을 지정해줍니다.

      22

      23

      7. EC2 인스턴스 접근 후 통신 확인

      EC2 인스턴스의 퍼블릭 IP 주소를 확인하여 SSH 접근을 합니다

      24

      $ ping [google.com](http://google.com)

      목적지 타깃을 google.com으로 하여 외부 인터넷으로 정상적인 통신이 가능합니다.


      07장 네트워크 보안

      1. 보안 그룹과 네트워크 ACL

      접근 제어는 대상을 식별 → 인증을 통해 적합한지 판단 → 정책에 따라 허용, 거부, 제한 허용 등의 권한을 부여합니다.

      그렇다면 네트워크 입장에서는 무엇을 기준으로 대상을 식별할까요?

      바로 IP 주소, 프로토콜과 포트 번호로 식별할 수 있습니다!


      AWS에서는 네트워크 인프라 보호를 위한 트래픽 제어 정책으로

      1. Security Group

      2. 네트워크 ACL (Network Access Control List)

      을 활용합니다.


      트래픽의 방향성에 따라 인바운드 규칙 (Inbound Rule), 아웃바운드 규칙 (Outbound Rule)로 나뉩니다.

      방향의 기준은 AWS 인프라 입장입니다.

      • 외부 대상 → AWS 인프라 로 들어오는 방향 : 인바운드 규칙

      • 외부대상 ← AWS 인프라 의 방향 : 아웃바운드 규칙

      그렇다면 보안 그룹과 네트워크 ACL 의 차이점은 무엇일까요?


      2. 보안 그룹과 네트워크 ACL 차이점

      크게 3가지로 나뉩니다


      1.트래픽 제어 대상


      보안 그룹

      네트워크 ACL

      트래픽 제어 대상

      인스턴스 레벨

      ex) EC2 인스턴스, ALB

      서브넷 레벨

      2. Stateful vs Stateless


      보안 그룹

      네트워크 ACL

      이전 state 기억 여부

      Stateful

      Stateless

      보안 그룹은 인바운드로 들어오는 트래픽에 대해 허용하면, 그 상태를 기억하고 있어 아웃바운드로 되돌아가는 것은(리턴 트래픽) 아웃바운드 규칙에 상관없이 허용됩니다.

      반면 네트워크 ACL은 인바운드 규칙에 따라 허용해도 그 상태는 상관없이 아웃바운드로 되돌아갈 때 아웃바운드 규칙에 따라 허용/거부를 결정합니다.


      3. 허용/거부 규칙


      보안 그룹

      네트워크 ACL

      허용/거부 규칙 유무

      허용 규칙만 존재

      허용/거부 둘 다 존재

      보안 그룹의 규칙은 지정된 대상과 매칭O → 허용! 매칭X → 거부! 합니다.

      네트워크 ACL의 규칙은 순서를 확인하기 위한 시퀀스 넘버가 존재하며 순차적으로 확인합니다. 각 규칙 별로 대상의 허용과 거부를 지정할 수 있습니다.

      매칭되는 대상이 있으면 하위 규칙을 더 이상 확인하지 않습니다.


      3. IAM

      AWS 첫 화면을 보면 아래와 같이 두 가지 방식으로 로그인할 수 있습니다!

      여기서 과연 IAM이란 무엇일까요??

      25

      보안 체계에서 가장 취약한 부분은 내부에 있다시피 사용자에 대한 접근 제어와 관리가 필수적입니다.

      AWS IAM (Identity & Access Management) 는 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리하는 기능입니다.

      AWS 사용자 및 그룹을 만들고 관리하거나 권한을 통해 AWS 리소스에 대한 액세스를 허용하거나 거부할 수 있습니다.


      1. IAM 세부 요소

      • IAM 사용자

      AWS 서비스와 상호 작용하는 사람 또는 서비스를 나타냅니다.

      최초에는 권한 없이 시작하여 직무 요구 사항에 따라 권한을 받습니다.

      • IAM 그룹

      IAM 사용자들의 모임입니다.

      동일한 직무를 공유하는 그룹에 대한 권한을 지정하는 데 사용할 수 있으므로 관리의 편의성을 제공합니다.


      2. IAM 정책

      AWS의 리소스에 대해 어떤 대상이 어떤 Action을 수행할 수 있는지 공식적으로 정의하는 것입니다.

      IAM 정책의 보안 주체에 따라 자격 기반의 정책과 리소스 기반의 정책으로 구분합니다.

      • 자격 기반 정책 : 사용자, 그룹, 역할이 수행할 수 있는 Action을 지정

      • 리소스 기반 정책 : AWS S3, SNS, SQS 등과 같은 리소스가 수행할 수 있는 Action을 지정

      IAM 정책 구성 요소

      IAM 정책은 JSON 형식으로 구성되며, 가장 제한적인 정책을 우선시합니다.

      • Effect : 접근을 허용하거나 거부를 정의

      • Principal : 누가 어떤 것을 수행할 수 있는지 정의

      • Action : 무엇을 할 수 있는지 정의

      • Resource : 정책이 적용되는 리소스가 무엇인지 정의

      • Condition : 정책이 적용되는 조건이 무엇인지 정의

      3. IAM 주요 기능

      • 강화된 보안

      • 세부적인 제어 관리

      • 임시 자격 증명

      • 액세스 분석

      • 외부 자격 증명 활용


      팀원 개별 소감 및 후기

      1. 박상우

      AWS는 현재 클라우드 서비스 점유율 1위인 만큼, 기능과 서비스의 범위가 넓고 탄탄하여 어떻게 입문해야 할지 고민이 많았습니다.

      마침 데보션에서 좋은 기회를 통해 책으로 조원들과 스터디할 수 있게 해주어 본 도서를 통해 AWS를 학습할 수 있었습니다.

      Free tier로 실습이 가능하게 구성이 된 점과 VPC를 퍼블릭/프라이빗으로 구성해 인터넷 연결을 테스트해보며 그간 몰랐던 개념을 잘 잡을 수 있어 도움이 많이 되었습니다.

      특히 “따라하며 배우는 AWS 입문”은 저 같이 기초 네트워크 지식이 부족한 개발자들에게 유용한 도서라고 생각이 듭니다.

      이 책을 통해 AWS에 한번 도전해보시길 추천 드리겠습니다!


      2. 오수영

      AWS의 다양한 서비스들을 직접 사용해보니 네트워크와 보안의 중요성을 더욱 느낄 수 있었습니다. 처음 보는 개념들도 많았고, 어려운 실습도 있었던 것 같습니다.

      학교 전공 수업으로 네트워크 과목을 재밌게 들었었는데 그 지식을 끄집어 내어 재밌게 실습을 진행했습니다.

      ㅎㅎ 이번 학기엔 분산컴퓨팅 수업을 듣고 있는데 인프라 분야에서도 겹치는 부분이 많아 반가웠습니다!

      AWS 실습을 했던 다른 책들보다 친절하고 이해하기 쉬웠던 것 같고, 그냥 개념만 알고 있었던 것보다 직접 해보니 기억에 더 많이 남는 것 같습니다.

      앞으로 다양한 프로젝트에 응용해서 적용해 볼 예정이고, ALB NLB 로드 밸런싱, Route 53 DNS 해석 등 어려웠던 부분을 다시 제대로 적용시켜 보면서 더 공부하려고 합니다!

      감사합니다 ☺️


      3. 강경아

      AWS에서 다양한 기능들을 제공하고 있어 어디서부터 공부를 시작해야 할지 막막했는데, 핵심적으로 필요한 기능들을 실습으로 따라해볼 수 있어서 좋은 기회였습니다.

      설명이 잘 돼있어 실제로 AWS를 구성해야 할 때도 찾아보면서 프로젝트에 적용해볼 수 있을 것 같아 정말 유용한 책인 것 같습니다.


      4. 김민영

      AWS에 대해 막연한 두려움을 가지고 있었는데, “따라하며 배우는 AWS 네트워크 입문”은 실습을 기반으로 공부할 수 있도록 구성되어 있어 입문자에게 적합한 책이었다고 생각합니다.

      데보션에서 팀원들과 함께 스터디를 진행할 기회를 제공해주셔서 너무 좋았습니다.

      이번 스터디를 발판 삼아 앞으로도 AWS와 클라우드 컴퓨팅 분야에 대한 관심과 학습을 이어나가도록 하겠습니다!

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      오수영 님의 최신 블로그

      더보기