본문 바로가기
SK shieldus Rookies 16기

[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(30일차) - 수정 중

by Challenge programmers 2023. 12. 5.

오늘 학습 주제

1. AWS CLI 이용방법

2. Amazon RDS(Relational Database Service)

3. Amazon S3(Simple Storage Service)

 

 

 

 

 

AWS CLI 이용방법


- 사용자 정보를 등록 -

C:\Users\USER> aws configure
AWS Access Key ID [********************]:	⇐ 기존에 등록된 내용을 사용할 경우, 그냥 엔트를 입력
AWS Secret Access Key [********************]:	  값을 변경할 경우 새로운 값을 입력하고 엔트를 입력
Default region name [ap-northeast-2]:		⇐ 본인에게 할당된 리전 ID
Default output format [json]:			⇐ json (소문자)을 입력

 

 

- VPC 확인 -

C:\Users\USER> aws ec2 describe-vpcs
{
    "Vpcs": [
        {
            "CidrBlock": "***.**.*.*/**",
            "DhcpOptionsId": "dopt-*****************",
            "State": "available",
            "VpcId": "vpc-*****************",
            "OwnerId": "**************",
            "InstanceTenancy": "default",
            "CidrBlockAssociationSet": [
                {
                    "AssociationId": "vpc-cidr-assoc-******************",
                    "CidrBlock": "***.**.*.*/**",
                    "CidrBlockState": {
                        "State": "associated"
                    }
                }
            ],
            "IsDefault": true
        }
    ]
}

 

 

- VPC 생성 -

C:\Users\USER> aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications
"ResourceType=vpc,Tags=[{Key=Name,Value=MyVPC}]" --output json
{
    "Vpcs": [
        {
            "CidrBlock": "10.0.0.0/16",
            "DhcpOptionsId": "dopt-*****************",
            "State": "pending",				⇐ VPC 생성이 완료되면 avaliable로 변경
            "VpcId": "vpc-*****************",
            "OwnerId": "**************",
            "InstanceTenancy": "default",
            "Ipv6CidrBlockAssociationSet": [],
            "CidrBlockAssociationSet": [
                {
                    "AssociationId": "vpc-cidr-assoc-******************",
                    "CidrBlock": "10.0.0.0/16",
                    "CidrBlockState": {
                        "State": "associated"
                    }
                }
            ],
            "IsDefault": true
            "Tags": [
           		{
             		"Key": "Name",
             		"Value": "MyVPC"
                }
        }
    ]
}

 

 

- VPC ID 확인 -

C:\Users\USER> aws ec2 describe-vpcs
{
    "Vpcs": [
        {
            "CidrBlock": "10.0.0.0/16",
            "DhcpOptionsId": "dopt-*****************",
            "State": "available",
            "VpcId": "vpc-******************",
            "OwnerId": "************",
            "InstanceTenancy": "default",
            "CidrBlockAssociationSet": [
                {
                    "AssociationId": "vpc-cidr-assoc-*****************",
                    "CidrBlock": "10.0.0.0/16",
                    "CidrBlockState": {
                        "State": "associated"
                    }
                }
            ],
            "IsDefault": false,
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "MyVPC"
                }
            ]
        }
    ]
}

C:\Users\USER> aws ec2 describe-vpcs --query "Vpcs[0].VpcId"
"vpc-*****************"


C:\Users\USER> aws ec2 describe-vpcs --query "Vpcs[*].VpcId"
[
    "vpc-*****************"
]

 

 

- VPC ID를 환경변수로 설정-

C:\Users\USER> set VPC_ID=vpc-*********************⇐ 환경 변수 설정

 

C:\Users\USER> echo %VPC_ID% ⇐ 환경 변수 사용

 

 

- 인터넷 게이트웨이 생성-

C:\Users\USER> aws ec2 create-internet-gateway --tag-specifications

 "ResourceType=internet-gateway,Tags=[{Key=Name,Value=MyIGW}]"

{
    "InternetGateway": {
        "Attachments": [],					⇐ VPC와의 연결이 없음
        "InternetGatewayId": "igw-*****************",
        "OwnerId": "************",
        "Tags": [
            {
                "Key": "Name",
                "Value": "MyIGW"
            }
        ]
    }
}

 

 

- 인터넷 게이트웨이 ID를 환경변수로 설정-

C:\Users\USER> set IGW_ID=igw-*********************

 

C:\Users\USER> echo %IGW_ID%

 

 

- 인터넷 게이트웨이와  VPC를 연결 -

C:\Users\USER> aws ec2 attach-internet-gateway --vpc-id %VPC_ID% --internet-gateway %IGW_ID%


C:\Users\USER> aws ec2 describe-internet-gateways

{
    "InternetGateways": [
        {
            "Attachments": [
                {
                    "State": "available",
                    "VpcId": "vpc-*****************"
                }
            ],
            "InternetGatewayId": "igw-*****************",
            "OwnerId": "************",
            "Tags": [
                {
                    "Key": "Name",
                    "Value": "MyIGW"
                }
            ]
        }
    ]
}

 

 

 

 

 

 

 

 

 

- 프라이빗 서브넷 설정 -

C:\Users\USER> aws ec2 describe-route-tables --query 
"RouteTables[*].{RouteTableId:RouteTableId,
Routes:Routes, Name:Tags[0].Value}" --output table

-----------------------------------------------------------------------------------
|                               DescribeRouteTables                               |
+------------------------------+--------------------------------------------------+
|  Name                        |  PublicRouteTable                                |⇐ 퍼블릭 라우팅 테이블
|  RouteTableId                |  rtb-*****************                           |
+------------------------------+--------------------------------------------------+
||                                    Routes                                     ||
|+----------------------+-------------------------+--------------------+---------+|
|| DestinationCidrBlock |        GatewayId        |      Origin        |  State  ||
|+----------------------+-------------------------+--------------------+---------+|
||  10.0.0.0/16         |  local                  |  CreateRouteTable  |  active ||
||  0.0.0.0/0           |  igw-*****************  |  CreateRoute       |  active ||⇐ IGW로의 라우팅을 포함
|+----------------------+-------------------------+--------------------+---------+|
|                               DescribeRouteTables                               |
+------------------------------+--------------------------------------------------+
|  Name                        |  None                                            |
|  RouteTableId                |  rtb-*****************                           |⇐ 프라이빗 라우팅 테이블	
+------------------------------+--------------------------------------------------+
||                                    Routes                                     ||
|+------------------------------------------+------------------------------------+|
||  DestinationCidrBlock                    |  10.0.0.0/16                       ||⇐ IGW로의 라우팅을 
||  GatewayId                               |  local                             ||	 포함하지 
||  Origin                                  |  CreateRouteTable                  ||  않고 있으므로
||  State                                   |  active                            ||
|+------------------------------------------+------------------------------------+|

라우팅 테이블 정보를 조회

 

 

- EC2 인스턴스 생성 -