포스트

Day04 RestAPI, React, TeraForm

REST API

  • 정의 : 행위를 HTTP 매서드로 구분

메서드

  • GET : 조회
  • POST : 생성
  • PUT : 수정(일부 수정)
  • DELETE : 삭제
  • PATCH : 수정(모든 데이터 수정)

SSR방식과 REST API의 차이

 기존 APIREST API
HTTP 메서드GET과 POSTGET (조회), POST (생성), PUT/PATCH (수정), DELETE (삭제)
행위URL에 명시 (/write, /modify, /delete)행위를 Method에 명시
URL 구조행위중심의 구조 (/article/write(등록), /article/1/modify(수정))리소스 중심의 구조(/articles (전체), /articles/1 (특정 리소스))
용도GET /write 폼 표시, POST /write 처리별도의 폼 엔드포인트 없이 데이터만 처리
목적사용자 인터페이스(UI) 중심, 브라우저에서 직접 접근시스템 간 통신 중심, 프로그래밍적 접근이 주목적

실습코드

React

Terraform

  • AWS 계정 및 IAM을 설정 했다고 가정한다.

    AWS CLI 설치

  • 맥북의 경우 zsh에서 다운로드 할 수 있다.

    1
    2
    
    curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
    sudo installer -pkg AWSCLIV2.pkg -target /
    
  • 설치 완료 후 터미널에 aws를 입력하면 설치확인을 할 수 있다. image

admin 계정의 엑세스키 발급받기

  • aws configure list : AWS 엑세스키가 등록되어 있는지 확인
  • aws configure : AWS 엑세스키 등록
    • 엑세스 키, 시크릿 엑세스키 등록
    • 리전 : ap-northeast-2 (*ap-northeast-2 : AWS 서울)
    • Default output format 에서는 그냥 엔터
  • rm -rf ~/.aws : WS CLI에 입력된 엑세스키 삭제하는 방법

테라폼 CLI 설치

테라폼 파일

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  terraform {
    // 자바의 import 와 비슷함
    // aws 라이브러리 불러옴
    required_providers {
      aws = {
        source  = "hashicorp/aws"
        version = "~> 4.0"
      }
    }
  }
  
  # Configure the AWS Provider
  provider "aws" {
    region = "ap-northeast-2"
  }
  
  resource "aws_vpc" "example" {
    cidr_block = "10.0.0.0/16"
  
    tags = {
      Name = "example"
    }
  }

테라폼 명령어

  • terraform init
    • 라이브러리 다운로드
    • 라이브러리 관련 소스코드가 바뀔 때 마다 실행해야 한다.
  • terraform plan
    • 실제 리소스 생성을 하는것은 아니고
    • 현재 소스코드가 실행가능한지 검사
  • terraform apply
    • 리소스 생성 -> yes 입력
  • terraform destroy
    • 리소스 삭제-> yes 입력

테라폼의 기능

  • AWS 자동화
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.