AWS32 AWS EC2 Docker wg-easy ( Wireguard ) ec2생성 ( 여기선 아마존리눅스 ) 규칙설정 moba 접속 패키지를 업데이트 sudo yum update -y 1) yum으로 Docker 설치 sudo yum install docker -y 2) 설치한 Docker 버전 확인 docker -v 3) Docker 실행 sudo service docker start 4) Docker 그룹에 sudo 추가 (인스턴스 접속 후 도커 바로 제어할 수 있도록) sudo usermod -aG docker ec2-user 5) 인스턴스 재접속 후 Docker 명령어 실행해보기 docker run hello-world wg-easy 도커 이미지 실행 docker run -d \ --name=wg-easy \ -e LANG=de \ -e WG_HOST=🚨YOUR_SE.. 2024. 2. 19. AWS 구조와 서비스 lambda, EC2 등 요약을하다보니 요약이 되지않습니다. EC2와 Lambda 서버리스 관해서만 볼만합니다. 참고도서를 보는것을 추천드립니다. AWS 구조와 서비스 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 1.전반적인 서비스 서버리스 와 Lambda 관리할 서버가없다는것 (AWS가 인프라 관리를 다해준다는것) 서비스가 이용될때만 서버를 가동하는방식 대표적으로 Lambda EC2는 시스템도 사용자가 관리하지만 Lambda 는 프로그램 코드만 관리하면 된다. Lambda의 장점 보안 AWS에서 OS와 미들웨어 등 기반 시스템 모두관리 장애와 보안패치등도 모두 AWS소관하에 이루어짐 비용 코드가 실행될때만 요금부과 가용성 복수의 가용영역(AZ)에서 실행된다. 사용자가 설정하.. 2023. 5. 11. AWS ECR 사용사례 [serverless requirements.txt ] 사이킷런 라이브러리를 람다로 배포시 문제가 발생할때 문제 패키지설치가 되지않을때 방법 람다이미지를 도커에서 받아서 필요한 의존성을 설치하고 ecr에 배포하는것 과정 요약 이미지를 도커로 가져와서 가져온 이미지에 서버프로젝트를 넣고 deploy 해서 ecr로 보낸다 ecr에서 람다로 배포해주는것 aws iam 권한설정 아마존EC2contrainer레지스트리 퍼블릭 풀 액세스 설정 ecr서비스로 이동 (엘라스틱 컨테이너 레지스트리) region을 서울로 한다. repositories생성 프라이빗 레파지토리 이름은 serverless.yml 파일의 서비스 이름과 같아야하고 마지막에 -dev를 붙여서 생성 만들어진 레파지토리를 클릭해서 권한-권한편집 IAM개체에 아까 준 IAM을 선택 첫번째 ECR 작업을 전부다 체크한다. 저장 레파지토리를 다시 누르고 체크- .. 2023. 4. 4. 서버리스 배포 요약 빌드프레임워크 생성 npm i -g serverless && serverless --org=jieun --app=aws-alcohol-serverless-api3 --name=aws-alcohol-serverless-api3 --template=aws-python-flask-api cmd 크리덴셜 설정(자격증명) set AWS_ACCESS_KEY_ID= set AWS_SECRET_ACCESS_KEY= 배포 sls deploy 2023. 3. 31. MySQL AUTO_INCREMENT 값을 초기화 후, 테이블 안의 모든 데이터의 ID값을 재조정하는 방법 ALTER TABLE `테이블` AUTO_INCREMENT=1; SET @COUNT = 0; UPDATE `테이블` SET id = @COUNT:=@COUNT+1; 위 쿼리문은 현재 모든 데이터 ID값을 1부터 재조정하고, 다음 인덱스 값을 [마지막 행번호 + 1] 로 정하는 명령어입니다. id값의 AUTO_INCREMENT를 초기화한것. 2023. 3. 28. S3 delete_objects access denied S3 버킷에 이미지를 삭제하기위해 boto3를 연결 client = boto3.client('s3', aws_access_key_id = Config.ACCESS_KEY, aws_secret_access_key = Config.SECRET_ACCESS ) 삭제 메소드를 실행 client.delete_objects( Bucket=Config.BUCKET_NAME, Delete={ 'Objects': [ { 'Key': imgUrl } ], }, ) an error occurred (accessdenied) when calling the deleteobject operation: access denied 액세스 권한이 없다는 에러 메세지를 반환했다. 나는 S3 풀액세스 권한을 분명히 설정해두었고 ACL도 문.. 2023. 3. 15. Mysql 데이터 유형을 고려할때, 설계의 핵심(정규화) 아래 내용은 스스로 학습한 내용을 바탕으로 작성한 주관적인 글이므로 맹신하지 마세요 개인참고용입니다 데이터타입 설정에 관한 지식 1.참조하는 외래키는 참조당하는 키와 데이터 타입이 같아야한다. ? 꼭 그럴필요는 없지만 기본적으로 맞추는것이 좋다 이것은 잠재적 에러를 방지한다 pk에 int형 un 을 설정했다면 pk를 참조하는 fk도 un(양의정수만)을 설정하는것이 상식이지않을까 ? 2.NOTNULL이 있을경우 속도가 좀더좋다는 걸 얼핏봣다? 근거는 null인지 체크하려고 한번의 연산?을 거치는 것같다 (아닐수도있음) 아무튼 꼭필요한 경우가 아니라면 null로 할 이유가 없다는것 3.float은 4바이트 decimal은 5바이트 금융관련데이터는 decimal이나 numeric 을 이용해야한다 더정확한 실수.. 2023. 3. 7. AWS stage: prod, timeout: // sql친구의 포스팅 목록중 좋아요한것을 표시 serverless.yml 파일 provider: name: aws runtime: python3.9 region: ap-northeast-2 timeout: 16 # 람다 리퀘스트 시간 stage: prod # 프로덕션 == 실서버 (db도 나누어져있다) # Dev == 개발서버 그러니까 동일한 서버가 두개있다고 보면된다 데이터 베이스도 dev, prod용이 나눠져 있다고 한다. 개발서버 dev 상용서버 prod "주의점" 그런데 문제는 dev서버 람다레이어에 추가한것은 sls delpoy 할때 같이 배포되지않으니 prod 서버도 레이어가 동일한지 반드시 체크 해야될것같다. sql친구의 포스팅 목록중 좋아요한것을 표시 ( 포스팅 테이블 자체에 isLike컬럼을 만들지 않고 처리하는 방법이다 . ) 예시.. 2023. 1. 17. AWS lambda서버 리퀘스트가 6초 이상일때 API Gateway 제한시간 늘리기 2023. 1. 16. AWS API를 이용한 lambda S3 mysql flask boto3 postman 업로드한 사진 오브젝트 디텍팅 사전배경지식은 생략하였음. 이런 API를 S3에 업로드하고 DB에 저장할것임 유저가 이미지와 텍스트를 request 했을때 S3에 url을 저장하고 DB에 저장하는 VSC from flask import request # 클라이언트가 보낸 데이터를 받기 위한 라이브러리 from flask_restful import Resource # API를 만들기 위한 라이브러리 from mysql.connector import Error # DB에 연결할 때, 에러가 발생할 수 있으므로, 에러처리를 위한 라이브러리 from flask_jwt_extended import jwt_required, get_jwt_identity # JWT를 사용하기 위한 라이브러리 from mysql_connection import ge.. 2023. 1. 13. AWS lambda serverless The provided access key is not authorized for this operation 에러 자격증명을 재설정 하는경우 제목과 같은 에러가 발생 ~./serverlessrc 제거 후 다시 진행하면 됨 (~./ 는 홈디렉토리) 윈도우에서는 C:\Users\"계정닉네임" 일로가면된다. serverlessrc 이파일은 로그인 관련 히스토리를 저장해놓는 임시 파일인것같다. 그래서 해당파일이 존재한다면 무슨짓을해도 진행이 되지않는다 3시간 찾다가 발견하였음 2023. 1. 12. AWS 이미지 저장을 위한 S3 버킷 만들고 Flask로 저장해보기 올리는방법 aws_access_key_id= Config.ACCESS_KEY aws_secret_access_key= Config.SECRET_ACCESS Config.BUCKET_NAME Config.S3_LOCATION 부분은 보안을위해 Config.py파일에 별도의 변수로 셋팅해서 호출한다. 아래 코드는 image.py의 모습 from flask import request # 클라이언트가 보낸 데이터를 받기 위한 라이브러리 from flask_restful import Resource # API를 만들기 위한 라이브러리 from mysql.connector import Error # DB에 연결할 때, 에러가 발생할 수 있으므로, 에러처리를 위한 라이브러리 from flask_jwt_extended.. 2023. 1. 12. 이전 1 2 3 다음