AWS & CI/CD

hahic·2023년 1월 25일
0

목표

  1. AWS 인프라 구성
  2. CI/CD 구성

AWS 인프라 구성

모든 Resource들은 동일한 VPC에 있어야 한다.

RDS 구성

기본 구성

  • Host: aws-v5-mariadb.cn89g78nwb6v.us-east-1.rds.amazonaws.com
  • Port: 3306
  • VPC: vpc-0dd99a948736a465c
  • 보안 그룹: sg-037ef0d09f31c8e9d

  • DB Name: metadb
  • DB Username: metacoding
  • DB Password: metacoding1234

보안 그룹 구성

  • sgr-0e28d4dfd644910c4: 내 ip 주소. Database Management Tools(ex. dbeaver)에서 DB를 관리하기 위해 규칙 추가
  • sgr-06993383383bb8429: 해당 보안 그룹에 해당하는 AWS Resource는 해당 RDS에 접근 가능

time_zone 설정

  1. 파라미터 그룹 생성
  2. RDS에 해당 그룹 적용
  3. RDS 재부팅
create database metadb;

use metadb;

create table Book(
	id BIGINT AUTO_INCREMENT PRIMARY KEY,
	title VARCHAR(255),
	content VARCHAR(255),
	author VARCHAR(255)
);

DROP table Book;

SHOW variables like 'c%';

alter database metadb character set = 'utf8mb4' collate = 'utf8mb4_general_ci';

select * from Book;

select @timezone, NOW();

Elastic Beanstalk 구성

환경 변수

업로드할 소스 코드에서 사용할 환경 변수 설정 (RDS 설정 값도 추가)

key pair 적용

보안 그룹 구성

  • sgr-082163039c47ba9a3: load balancer 보안 그룹
  • sgr-0f705b7d90644ed28: 해당 ec2에 원격 접속하기 위한 규칙 설정

NLB과 ALB 구성

탄력적 IP 주소 생성

대상 그룹 설정

  • EC2: i-06f2ac069dff953c5, i-0aea1bef338d32528

로드 밸런서 설정

  1. 대상 그룹 연결

  2. 탄력적 IP 주소 연결

CI/CD 구성

Github Action 설정

스크립트 작성

AWS IAM 생성 및 엑세스 권한 설정

  • AWS_ACCESS_KEY: AKIA6HOXGM57ANQYBSZH
  • AWS_SECRET_KEY: AWS에서 생성시 표시됨. csv로 해당 정보를 다운 받는 것을 추천

Action Secret 설정

AWS IAM 생성 시, 발급 받은 access key, secret key 설정

결과

설정 완료


사용한 소스 코드

https://github.com/codingspecialist/aws-v5

참고 사이트

https://youtube.com/playlist?list=PL93mKxaRDidFjQjPAzi9UxCdo2gtR-fue -> metacoding - youtube
https://docs.github.com/ko/actions -> github action
https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/network/create-network-load-balancer.html -> aws nlb
https://www.youtube.com/watch?v=XuRHocop9V0 -> How to add programmatic access to existing aws user - youtube

profile
👩‍💻 Junior Backend Developer

0개의 댓글