본문 바로가기

강의

(130)
github action, Cloud front 연동 (CI/CD) Github Action GitHub Action은 간단하게는 서버에 소스를 배포하는 서비스 입니다. GitHub 소스 리파지토리에 .github/workflows/main.yml 파일만 추가하시면 되요 https://docs.github.com/en/actions IAM 권한 설정 index.html -> s3 cloudfront로 배포 하려면 github action에서 s3에 배포할 수 있는 권한이 필요합니다. IAM의 access id, secret key를 이용하여 s3와 github action 연동해주려 합니다. cloudfront에 캐싱돼 있는 것을 새롭게 캐싱 시켜줘야 함. 기존에 있는 것을 invalidation 시켜야 합니다. 이것도 github action에서 해야함. github ..
S3 정적 호스팅 AWS S3 에 정적 파일을 업로드를 한 후, 이것으로 웹사이트를 구동하는 방법에 대해서 알아보도록 하겠습니다. 버킷의 속성 변경 1. s3 -> 버킷 -> 속성 정적 웹 사이트 호스팅 편집 비활성화 -> 활성화로 변경 인덱스 문서 index.html 오류 문서 index.html 설정 index.html을 s3에 올리고, 모든 사람 읽기 권한 설정해주기 엔드포인트에 접근 - 버킷 -> 속성 -> 정적 웹 사이트 호스팅 카테고리에서 엔드포인트가 나타나는 것을 확인할 수 있습니다. - 이 URL을 이용하여 우리가 만든 index.html에 접근할 수 있습니다.
flask를 사용하여 s3 업로드 웹페이지 구현 cli s3 연동 sdk 를 다운로드 받아서 설정 파이썬에서 aws와 연동하려면 boto3를 받아야함 import boto3 from flask import Flask, render_template, request, jsonify app = Flask(__name__) @app.route('/') def main(): return render_template('index.html') @app.route('/fileupload', methods=['POST']) def file_upload(): file = request.files['file'] s3 = boto3.client('s3') s3.put_object( ACL="public-read", Bucket="{버킷이름}", Body=file, Key=..
S3 파일 권한 설정 + 업로드를 동시에 (IAM, AWS SDK를 이용) s3에 파일을 업로드 하는 방법을 알아봤었습니다. 이전에는 파일을 업로드 하고 파일 한개 한개마다 직접 권한을 재 설정해줘야 하는 불편함이 있었는데 이번에는 권한 설정과 파일 업로드를 동시에 진행해 보도록 하겠습니다. IAM AWS identity and access management AWS service에 접근 권한을 담당하는 역할을 지니고 있습니다. IAM의 access key와 secret key를 이용하여 aws service를 사용할 수 있는 권한을 부여할 수 있습니다. IAM을 만들고, 권한을 부여해 봅시다. 파이썬 또는 자바를 이용하여 AWS 서비스를 직접 접근할 예정이기 때문에 프로그래밍 방식 엑세스 유형을 선택해 주었습니다. S3를 접근 할 수 있는 모든 권한을 부여하도록 하겠습니다. ..
S3 버킷 생성 (+파일 업로드 및 읽기 권한 설정) 1. s3 버킷 생성 - 버킷 이름을 임의 설정 한 후 AWS 리전을 ap-northeast-2로 설정합니다. 2. 버킷에서 파일 업로드 및 업로드 파일 URL 확인 - 생성한 버킷으로 들어가면 파일을 직접 업로드 하는 버튼이 존재합니다. - 버튼을 눌러서 파일을 업로드해 봅시다. - 현재는 업로드한 url을 확인하면 AccessDenied가 뜨는 것을 확인할 수 있습니다. - 버킷과 파일의 권한을 재 설정 해주도록 합시다. 3. 버킷 권한 설정 현재는 업로드한 파일을 확인할 수 없는 상태입니다. 파일의 권한을 설정하기에 앞서, 버킷의 권한을 먼저 재 설정해 줍니다. 모든 퍼블릭 엑세스 차단을 해제해줍니다. 4. 업로드 파일 권한 설정 버킷의 권한은 재설정 하였지만, 여전히 파일에 대한 권한이 없어 UR..
단방향 연관관계, 양방향 연관관계 단방향 연관관계, 양방향 연관관계 뭔지는 알겠는데, 막상 스키마를 구성하려면 개념이 안 잡히는 알 것 같으면서, 또 모르는 그런 개념이어서 이번 기회에 정리를 해보려고 합니다. 1. 데이터 베이스 형태의 설계 테이블 연관관계에 나타나 있는 형태 그대로 엔티티를 구성해 보도록 하겠습니다. 아래와 같이 두개의 엔티티를 생성할 수 있습니다. @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; @Column(name = "TEAM_ID") private Long teamId; } @Entity public class Team { @Id @GeneratedVal..
필드와 컬럼 매핑 @Entity public class Member { @Id private Long id; @Column(name = "name") private String username; private Integer age; @Enumerated(EnumType.STRING) private RoleType roleType; @Lob private String description; //Getter, Setter… @Transient private Long temp; } 어노테이션 설명 @Column 컬럼 매핑, db 컬럼의 이름을 변경할 수 있다. @Enumerated(EnumType.STRING) enum 타입 매핑 EnumType.ORDINAL이 default이지만 사용하지 않는다. EnumType.ORDINA..
데이터 스키마 자동 생성 데이터베이스 스키마 자동 생성 DDL을 애플리케이션 실행 시점에 자동 생성 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 운영 시점에는 사용하지 않고, 개발할 때 만 사용하길 권장하는 옵션이다. spring.jpa.hibernate.ddl-auto=update create 기존 테이블 삭제 후 다시 생성 create-drop create와 같으나 종료 시점에 테이블 drop (테스트 케이스 확인하고 종료할 때 깔끔하게 없애고 싶을 때) update 변경분만 반영 (운영DB에는 사용하면 안됨) validate 엔티티와 테이블이 정상 매핑되었는지만 확인 none 사용하지 않음 운영 장비에서는 절대 create, create-drop, update 사용하면 안된다. 개발 초기 단계에는 c..