2023/02/01 TIL | [Cloud] 운영환경 구성(2)

    반응형

    💭 오늘의 학습 전략

    # 배포 실습

    ◻️ Client 배포

    ◻️ Database 연결

    🌼 학습한 것들

    ◾ Client 배포

     ▪️ 로컬에서 빌드

      - .env 파일에 환경변수 작성

      - npm run build

     ▪️ S3 - 정적 웹사이트 호스팅 활성화

      - 엔드포인트 생성됨

     ▪️ 버킷에 정적 파일(build 산출물) 업로드

     ▪️ 퍼블릭 액세스는 허용되어있어야 한다

     ▪️ 버킷 정책 생성

      - Select Type of Policy: 'S3 Bucket Policy'

      - Principal: * (권한 - 모두에게)

      - Actions: GetObject (버킷에 접근하는 모든 사용자가 버킷 내에 저장된 객체 읽기 가능, 웹사이트 구성 시 선택)

      - ARN: 버킷 이름 ex) arn:aws:s3:::practice-bucket-deploy/*

    Databases 연결 (Mysql)

     ▪️ 연결 옵션에 퍼블릭 액세스 허용

     ▪️ 연결 확인

      - mysql -u [마스터 이름] --host [엔드 포인트 주소] -P 13306(포트 번호) -p

     ▪️ 서버 application.yml에 db 설정 (spring.datasource)

      - url: RDS 엔드포인트

      - username: RDS 마스터 이름

      - password: RDS 마스터 암호

      - config.domain S3 엔드포인트 주소 (CORS 설정)

    🔥 보충이 필요한 것들

    도메인 주소를 이용한 HTTPS 인증 튜토리얼

     

     

    💨 하루를 마치며

    1. 처음에 정책 생성이 제대로 되지 않았는데 그 이유는 ARN을 작성할 때 /*를 붙여주지 않아서였다ㅎㅎㅎ

    2. 연결을 마치고 테스트를 하는데 계속 403 CORS 에러가 났다.

    알고보니 config.domain 작성할 때 S3 엔드포인트가 아닌 EC2의 도메인을 적어둔 것이었다... 🤦‍♀️

    3. 하나의 서비스를 다 배포해보고 나니 신기했다. 실습하면서 익히기 좋은 환경이 제공되어서 너무 좋다.

    4. 벌써 2월인데 아직 2022년에 살고있나보다..... 어제 오늘 제목을 2022로 적어놨다🥹

    반응형

    댓글