AWS - 인프라 자동화 CLI를 이용한 네트워크 리소스 생성 및 연결

2025. 6. 4. 22:40·AWS

AWS CLI를 이용한 네트워크 리소스 생성 및 연결

IAM 사용자 및 AWS CLI 환경 설정

AWS CLI를 사용하기 위해서는 먼저 IAM 사용자에게 접근 권한이 있어야 합니다. 실습에서는 test-user라는 IAM 사용자 계정을 사용하며, 반드시 AdministratorAccess 권한이 할당되어 있어야 합니다. 만약 권한이 없다면 Root 계정에서 부여해야 합니다.

 

IAM 사용자는 최대 2개의 Access Key를 발급받을 수 있으며, 예를 들어 노트북과 데스크탑에서 각각 다른 Access Key를 사용할 수 있습니다. 서로 다른 키라도 동일한 사용자에게 발급되었다면 문제없이 CLI 명령을 실행할 수 있습니다.

 

Access Key 발급 후, aws configure 명령어를 통해 CLI 환경을 설정합니다. 입력 항목은 아래와 같습니다.

aws configure

AWS Access Key ID [None]: AKIAxxxxxxxxxxEFET
AWS Secret Access Key [None]: jdsVj9xxxxxxxxxxxxxxxxxBykuQsx7ibZ
Default region name [None]: ap-northeast-2
Default output format [None]: json

위 설정이 완료되면, CLI 명령어를 통해 VPC, 서브넷, 라우팅 테이블 등 다양한 AWS 리소스를 생성 및 제어할 수 있습니다.

VPC 생성

VPC를 생성하면서 태그 이름을 TestVPC로 지정합니다.

aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications "ResourceType=vpc,Tags=[{Key=Name,Value=TestVPC}]"

 

생성된 VPC ID를 확인합니다.

aws ec2 describe-vpcs --filters "Name=tag:Name,Values=TestVPC"

 

VPC ID를 환경변수로 저장합니다.

set VPC_ID=vpc-046bfe5b73bf8e0c7

 

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

IGW를 생성하고 TestIGW 태그를 지정합니다.

aws ec2 create-internet-gateway --tag-specifications "ResourceType=internet-gateway,Tags=[{Key=Name,Value=TestIGW}]"

IGW ID를 확인합니다.

aws ec2 describe-internet-gateways --filters "Name=tag:Name,Values=TestIGW"

IGW ID를 환경변수로 저장합니다.

set IGW_ID=igw-0e7fa9c71134320a2

 

생성한 IGW를 VPC에 연결합니다.

aws ec2 attach-internet-gateway --internet-gateway-id %IGW_ID% --vpc-id %VPC_ID%

퍼블릭 서브넷 생성

AZ a에 TestPublicSubnetA 서브넷을 생성합니다.

aws ec2 create-subnet --vpc-id %VPC_ID% --cidr-block 10.0.1.0/24 --availability-zone ap-northeast-2a --tag-specifications "ResourceType=subnet,Tags=[{Key=Name,Value=TestPublicSubnetA}]"

 

AZ c에 TestPublicSubnetC 서브넷을 생성합니다.

aws ec2 create-subnet --vpc-id %VPC_ID% --cidr-block 10.0.2.0/24 --availability-zone ap-northeast-2c --tag-specifications "ResourceType=subnet,Tags=[{Key=Name,Value=TestPublicSubnetC}]"

각 서브넷 ID를 확인 후 환경변수로 저장합니다.

set SUBNET_ID1=subnet-0c32c95aa2d87a83f
set SUBNET_ID2=subnet-033544b3f595b3fbf

 

퍼블릭 라우팅 테이블 생성 및 경로 추가

TestPublicRTB 이름으로 라우팅 테이블을 생성합니다.

aws ec2 create-route-table --vpc-id %VPC_ID% --tag-specifications "ResourceType=route-table,Tags=[{Key=Name,Value=TestPublicRTB}]"

라우팅 테이블 ID 확인 후 환경변수로 저장합니다.

set RTB_ID=rtb-068dc658181483593

 

IGW를 통해 외부로 나가는 경로(0.0.0.0/0)를 추가합니다.

aws ec2 create-route --route-table-id %RTB_ID% --destination-cidr-block 0.0.0.0/0 --gateway-id %IGW_ID%

 

퍼블릭 서브넷에 라우팅 테이블 연결

두 개의 퍼블릭 서브넷을 생성한 라우팅 테이블에 연결합니다.

aws ec2 associate-route-table --subnet-id %SUBNET_ID1% --route-table-id %RTB_ID%
aws ec2 associate-route-table --subnet-id %SUBNET_ID2% --route-table-id %RTB_ID%

 

퍼블릭 IP 자동 할당 설정

퍼블릭 서브넷의 인스턴스에 퍼블릭 IP가 자동으로 할당되도록 설정합니다.

aws ec2 modify-subnet-attribute --subnet-id %SUBNET_ID1% --map-public-ip-on-launch
aws ec2 modify-subnet-attribute --subnet-id %SUBNET_ID2% --map-public-ip-on-launch

 

VPC 리소스 설정 흐름 (기본 퍼블릭 네트워크 구성 기준)

퍼블릭 서브넷을 포함한 기본적인 네트워크 환경을 AWS CLI로 구성할 때의 흐름은 다음과 같습니다.

  • VPC 생성
  • IGW(인터넷 게이트웨이) 생성
  • IGW를 VPC에 연결 ← attach-internet-gateway
  • 서브넷 생성 (퍼블릭/프라이빗 구분 가능)
  • 라우팅 테이블 생성
  • 라우팅 테이블에 IGW 경로 추가 ← create-route
  • 라우팅 테이블을 퍼블릭 서브넷에 연결 ← associate-route-table
  • (선택) 퍼블릭 서브넷에 MapPublicIpOnLaunch = true 설정

 

'AWS' 카테고리의 다른 글

AWS - Lambda 기반 서버리스 아키텍처 구성 흐름  (0) 2025.06.09
AWS 3-Tier 웹 애플리케이션 배포(S3 + EC2 + RDS)  (1) 2025.06.06
AWS - 인프라 자동화 CloudFormation을 이용한 네트워크 리소스 생성 및 연결  (1) 2025.06.04
AWS - 환경 구성 실습 - React + FastAPI 프로젝트 배포  (0) 2025.06.03
AWS - 웹서비스 환경 구성#3  (0) 2025.06.02
AWS - 웹서비스 환경 구성#2  (0) 2025.06.02
'AWS' 카테고리의 다른 글
  • AWS - Lambda 기반 서버리스 아키텍처 구성 흐름
  • AWS 3-Tier 웹 애플리케이션 배포(S3 + EC2 + RDS)
  • AWS - 인프라 자동화 CloudFormation을 이용한 네트워크 리소스 생성 및 연결
  • AWS - 환경 구성 실습 - React + FastAPI 프로젝트 배포
jaeon.cloud
jaeon.cloud
  • jaeon.cloud
    JEONG JAE ON
    jaeon.cloud
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • Docker (8)
      • Cloud (7)
      • AWS (14)
      • Network (9)
      • Linux (1)
      • Python (7)
      • Javascript (3)
      • React (5)
      • Project (3)
      • Kubernetes (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    클라우드
    docker
    Python
    lambda
    cors
    3-tier Architecture
    네트워크
    AWS
    http
    kubernetes
    react
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jaeon.cloud
AWS - 인프라 자동화 CLI를 이용한 네트워크 리소스 생성 및 연결
상단으로

티스토리툴바