
*API Gateway 유형


- 프록시:
- 한번 접속하면 기억해서 다시 접속할 때 빠르게 접속하도록 해주는 기능 (cache)
- CRUD:
- "Create, Read, Update, Delete"의 약자로, 데이터베이스나 웹 애플리케이션에서 가장 기본적인 데이터 조작 기능을 가리킵니다.
1.DynamoDB 테이블 생성
- dynamoDB 생성 ( 빈 테이블 )
__
2.API 생성
REST API 구축
- API gateway에서 REST API 선택
- API GW 정보 입력 ( 지역: 서울 )
- API GW 생성 확인
리소스 생성
- 리소스 이름 지정
- 리소스 생성 확인 ( 디렉터리 개념과 유사 )
3.새로 창을 열어서 Lambda함수 생성

새로 창을 열어서 lambda 함수 생성
- lamda 함수 설정
- 이전에 생성한 awslearner-dynamoDB-role-hj 역할로 lambda 함수 설정
- 코드 입력 후 배포
메소드 생성
- 메서드 유형 선택( Post: 배포 ), lamba 함수 선택하기 전에
- 생성한 lambda 함수 선택
- 메서드 생성 확인

아래와 같이 200 에 성공 메시지가 보이면 테스트 성공이고,


*API / POST 테스트에서 내용 수정 후 TEST 클릭 하고, 다시 테이블에 업로드 확인
메서드 테스트
- lambda 함수를 불러와서 테스트
- 상태: 200, 응답 본문: successfully 확인
- dynamoDB 표항목 탐색에서 업데이트 확인
*리포지토리( repository ) - 저장소 (코드 업로드 / 다운로드 )
*브랜치 :

리포지토리 생성
- 리포지토리 이름 지정
- SSH 지원 X, HTTPS(GRC)는 GitHub와 연동 가능
- GitHub와 연동할 때 HTTPS(GRC)탭 3단계의 주소 복사
리포지토리 파일 생성
- 코드 내용 입력
- 코드 내용의 세부 설명 설정
- 커밋 확인 (리포지토리 생성 완료)

브랜치 생성
- 기본 브랜치: 마스터 브랜치
- 로컬 브랜치 생성
- 로컬 브랜치 생성 확인
- 생성된 브랜치 텍스트 확인 (마스터 브랜치와 동일)
*aws-test-branch 열어서 내용 수정

브랜치 편집
- 생성된 브랜치의 코드 내용 수정 및 커밋 메세지 수정
- 브랜치 수정 확인
- 내용 변경 확인
![]()
*커밋하기전에 브랜치에서 풀 요청 생성 /

풀 요청 생성( 내용을 합치는 작업 )
- 풀 요청 선택 (비교 선택 후 풀요청 생성)
![]()
- 변경 사항에서 내용 확인
- 병합 방법 선택 (삭제 메시지 체크)
- 풀 요청 확인
S3 접근하기 위한 역할 생성
- 서비스 선택 (EC2)
- 연동할 정책 선택 (AmazonS3FullAccess 정책: 누구든지 접속 가능)
- 역할 이름 지정
코드 배포하기 위한 역할 생성
- 서비스 선택(CodeDeploy)
- AWSCodeDeployRole 정책 코드의 설정을 확장하여 편집 가능
- 역할 이름 지정
- 역할 생성 확인


EC2 생성
- 인스턴스 이름 지정
- 인바운드 보안 그룹 규칙 설정 ( ssh, http )
- 고급 세부 정보의 인스턴스 프로파일에 생성한 역할 선택
- ssh 접속
ssh 접속 후
- yum update하고
- ruby 설치
- wget 설치
코드 배포에 필요한 파일 다운로드 (사용자로 전환)
- https://aws-codedeploy-ap-northeast-2.s3.amazonaws.com/latest/install 의 코드를 다운로드
- 다운로드한 install 파일 실행 권한 부여
- 실행 권한 부여 후 실행
- 동작 확인
파일을 업로드 / 배포할 S3 생성
CodeCommit / 배포 / 어플리케이션 / 어플리케이션 생성 /

코드 배포를 위한 버킷 생성
- 버킷 이름 지정
- 모든 퍼블릭 엑세스 차단 해제
- 암호화 해제
- 버킷 생성 확인
파일 다운로드 후 업로드
- mywebapp.zip 파일을 다운받아서 업로드 확인
*배포 그룹 생성



application 생성(codecommit에서 코드 배포하기)
- 이름 지정 후, 연동할 플랫폼 지정
- 생성 확인
배포 그룹 생성
- 배포 그룹 이름 지정 후 생성했던 코드 배포 역할 선택
- 현재 위치: 롤링 배포, 블루/그린: 하나씩 배포
- 태그 입력
- 상황에 맞게 에이전트 설치 선택
- 로드 밸런서 체크 해제 (EC2가 인스턴스 1개라서)
-생성이 되었다면 배포 생성 클릭

배포 생성
- S3 zip 파일 url 붙여넣기
- 배포 확인
배포 성공하면 EC2 퍼블릭IP로 로컬PC에서 접속해보기
배포 확인
- EC2 퍼블릭 IP로 접속
- /var/www/html/index.html 확인
*S3 버킷에 업로드한 zip 파일 삭제 후 index.html 파일 수정 후 다시 업로드 / 배포 / 접속 테스트

이후 X-shell로 접속 해보고 그래도 안되면 Putty에 인증키 등록하고, 접속
인스턴스 생성 ( x-shell 접속이 안될 때 접속하는 방법)
- 키 페어 생성
- 키 페어의 권한 변경 (chmod 400)
- 생성한 키 페어를 C:\로 이동 후 cmd창 열어서 현재 위치를 C로 이동 후 key-pair 확인(dir)
- key-pair의 권한을 400으로 변경
- 이후 X-shell로 접속 후 안돼면 putty로 접속