진짜 개발자
본문 바로가기

AWS/AWS

AWS - 실습) 웹어플리케이션 환경 구축 (S3, DynamoDB, IAM)

728x90

시나리오

목표

1. Amazon EC2 인스턴스에서 사용할 IAM Role 생성

2. Amazon S3 버킷 생성

3. Amazon DynamoDB 테이블 생성

4. Internet Gateway 와 Public Subnet을 갖춘 VPC 생성

5. Amazon EC2상에 웹 어플리케이션 배포


목표 인프라


IAM 역할 생성

- EC2 인스턴스가 DB와 S3 서비스를 이용할 수 있는 역할을 생성한다

IAM 서비스를 검색하여 선택


좌측의 Roles 탭을 클릭한 뒤 Create Role을 클릭한다


1) AWS service 선택

2) EC2 선택

3) Next 선택


S3를 검색하여 AmazonS3FullAcess를 체크한다


DynamoDB를 검색하여 AmazonDynamoDBFullAccess를 체크한다


태그는 그냥 넘겨도 된다 Next를 클릭


1) RoleName : WebServerRole

2) Role Descrition : 옵션

3) Policies 를 확인


Role이 성공적으로 생성됨을 볼 수 있다.



Amazon S3 버킷 생성

- 웹 어플리케이션에서 사용자들에게 이미지 파일등의 정적 파일을 제공하기위해 S3를 사용

Simpl Storage Service 를 검색하여 S3를 선택


Create Bucket를 클릭


Bucket Name : webapp-jeon1 (적절한 이름을 부여하여 전세계에서 고유한 이름을 가진 도메인을 만든다)

Region : Asia (Seoul) 적절한 리전을 선택한다


입력하거나 수정할 것이 없다 Next


버킷이 성공적으로 만들어졌다.


Amazon DynamoDB 테이블 생성

웹어플리케이션의 데이터를 저장한다

DynamoDB를 검색하여 선택한다


Create Table을 선택한다


1) Table Name : AWS-Services

2) Primary Key : Category

3) Add Sort Key 체크

4) Name 입력

Create 를 누른다


AWS-Services 테이블이 만들어졌음을 볼 수 있다.



VPC

1) VPC 생성

 VPC를 검색하고 해당 서비스로 이동한다


좌측탭의 Your VPCs를 클릭한뒤 Create VPC 버튼을 눌러 VPC를 생성한다


1) Name tag : Lab VPC

2) IPv4 CIDR block : 10.200.0.0/16

3) Create 버튼 클릭


Lab VPC가 만들어진 것을 볼 수 있다.


2) 서브넷 생성

좌측의 Subnets 탭을 클릭한뒤 Create Subnet을 클릭한다.


Name tag : Public Subnet 1

VPC : Lab VPC  선택

Availability Zone : us-east-1a

Create 클릭


3) Internet GateWay 생성

1) 좌측의 Internet Gateways탭을 클릭한다

2) Cretae Internet Gateway 클릭


1) Name tag : Lab Gateway

2) Create 클릭


Lab GateWay라는 이름의 Internet Gateway가 생성된 것을 볼 수 있다.

현재는 어떠한 VPC와도 연결이 되어있지 않아 State가 detached인것을 볼 수 있다.


1) Lab Gateway 선택

2) Actions 클릭

3) Attach to VPC 클릭


1) Lab VPC를 찾아 선택

2) Attach를 클릭


4) Route Table 생성

1) 좌측탭의 Route Tables를 클릭

2) Create Route table을 클릭한다


1) Name tag : Public Route Table

2) VPC : 미리 만들어 놓은 Lab VPC를 선택한다



5) Route Table 설정

1) 생성된 Public Route Table 을 클릭한다

2) 하단의 Routes탭 클릭

3) Edit Routes 클릭


 Add route를 클릭


1) Destination : 0.0.0.0/0

2) Target : Lab GateWay (미리 만든 인터넷 게이트웨이) 선택

3) Save Routes 클릭


만들어진 route tables에서 igw-083d796b9e18b9258을 클릭해본다


앞서 만든 LabGateway(Internet Gateway) 가 보인다.


6) 서브넷 선택

1) 다시 public Route Table을 선택한다

2) 이번엔 하단의 Subnet Associations를 클릭

3) Edit Subnet associations를 클릭한다


1) 앞서 만든 Public Subnet1을 선택한다

2) Save를 클릭한다


EC2 웹서버 인스턴스 생성

EC2 서비스 선택


Launch Instance 를 클릭한다


Amazon Linux 2 AMI 를 Select 한다


1) t2.micro를 선택한다

2) Next : Configure Instance Details를 클릭한다


1) Network : Lab VPC

2) Subnet : Public Subnet 1

3) Auto-assign Public IP : Enable

4) IAM role : WebServerRole


1) 아래로 스크롤을 내린다

2) Advanced Details탭을 클릭하여 확장한다


1) User data 영역에 아래의 코드를 써넣는다

2) Add Storage를 클릭한다

3) Storage에서는 따로 할일이 없기 때문에 Add Tags를 클릭하여 넘어간다



1) Key : Name

2) value : Web Server를 선택

3) Configure Security Group 클릭


1) Add Rule을 클릭한다

2) Security Group name : Web Server

3) Description : Web Server Security Group

4) Type : Http

5) Protocol : TCP

6) Port Range : 80

7) Source : Custom, 0.0.0.0/0, ;;/0

8) Review and Launch 클릭


지금까지 설정한 내용을 확인한 후 Launch 를 클릭


key pair를 선택하는 작업이다

1) 알맞게 선택한다

2) I acknowledge ~를 체크한다

3) Launch Instances를 클릭한다