반응형 AWS15 [AWS] 스토리지 유형 1. 스토리지 유형 블록 스토리지 (Amazon EBS) 파일 스토리지 (Amazon EFS) 오브젝트 스토리지 (Amazon S3) 구분 블록 스토리지 파일 스토리지 오브젝트 스토리지 관리 단위 블록 파일 오브젝트 데이터 라이프 사이클 추가, 갱신, 삭제 추가, 갱신, 삭제 추가, 삭제 프로토콜 SATA, SCSI, FC CIFS, NFS HTTP(S) 메타 데이터 고정 정보 고정 정보 커스터마이즈 가능 유스 케이스 데이터베이스, 트랜잭션 로그 등 파일 공유, 데이터 아카이브 멀티미디어 컨텐츠, 데이터 아카이브 1.1 블록 스토리지 (Amazon EBS) 데이터를 작은 "블록"단위로 저장하고, 이 블록들을 서버나 가상 머신에 연결하여 사용 사용 환경 데이터베이스, 가상 서버의 이미지 보관 영역과 같이 .. AWS 2023. 11. 8. IAM (Identity Access Management) AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스, IAM을 사용하여 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어 주요기능. AWS 계정에 대한 공유 액세스 서비스별 세분화된 권한 제공 EC2에서 실행되는 앱을 위한 AWS 리소스 액세서 권한 제공 멀티 팩터 인증(MFA) 자격 증명 연동 AWS 서비스들은 IAM Role을 할당받아 권한 부여가능 Access Key와 Secret Access Key를 직접 입력하지 않고 권한 부여 가능 또한 IAM 사용자 게정을 만들어 사용자에게 적절한 권한을 부여하고 사용 가능한 서비스를 제한 가능 Optional top-level elements 에는 두 개의 키가 존재 Version String "2012-10-17", "2008-10-17.. AWS 2023. 3. 8. [AWS] EC2 프리티어 서버 계속 끊기는 현상 t2.micro의 램이 1GB정도 밖에 되지않아서, 여러 가지의 프로젝트를 동시에 돌리는 것은 부담이 되는 경우가 있다. 나같은 경우에도, Spring boot를 실행하니 계속 서버의 연결이 끊기는 문제가 발생했다.. 처음에는 설정문제인가싶어서, 계속 인스턴스를 재부팅하고 서버 설정파일도 수정하는 등 여러 작업들을 수행했지만... 계속 해결되지않았다. 결국 메모리부족의 문제였던것이다. 참고한 다른 필자의 블로그를 참고했을때에는 CPU 사용률이 80-90%까지 치솟았고, 나는 30%까지밖에 도달하지않는것은 의문이었지만 메모리부족의 문제를 해결해보기로 하였다. 리눅스에서는 swap메모리를 지정할 수 있다. 아마 서버 초기설정시 지정되었을것이다. SWAP 메모리란? AWS 2022. 12. 9. [AWS CI/CD] nohup사용 및 배포 nohup java -jar 명령어를 사용하면 애플리케이션 실행자가 터미널을 종료해도 애플리케이션은 계속 구동한다. sudo cat nohup.out 명령을 통해서 웹 애플리케이션의 로그를 확인할 수 있다. 정말 익숙한 로그가 출력되었다. - "sudo netstat -tnlp" 명령을 통해서 컴퓨터에서 돌아가고 있는 포트들의 상태를 확인할 수 있다. - 만약에 이미 8080포트로 실행중인 다른 프로그램으로 인해 실행이 안되었다면, 다음 명령어로 기존의 프로세스를 죽일 수 있다. sudo kill -9 [PID] AWS 2022. 12. 8. [AWS CI/CD] Codedeploy 배포 오류 이전에 개정 위치가 이상하여 s3 버킷안의 객체를 인식하지 못하였다. 배포를 새로 만들어 개정 위치를 수정하니 오류가 해결되었다. 이번에는 스크립트 위치를 찾지 못한다 결국에는 내가 쓴 script이름이 오타가 있어서 해당 스크립트를 못찾은것이였다. 정말 많은 삽질을 하고 있었다.. 개정위치를 일일이 수정해주니 배포는 되었지만 어디서 개정위치가 잘못 들어갔는지 모르겠다. 보면 자꾸 /가 2개씩 들어가서 객체를 제대로 인식하지 못한다. s3-location bucket=$S3_BUCKET_NAME,bundleType=zip,key=Board.zip s3 버킷 로케이션도 지정해주었는데 나는 뒤에 버킷을 또 지정해주고 슬래쉬를 달아주어서 //이렇게 경로가 잘못 찍혀서 올라간 것이였다. 이것때문에 몇시간을 버린.. AWS 2022. 12. 8. [AWS 무중단 배포] Nginx설치 설정 및 서버 파일 script추가 1. Nginx 1. 1 소개Nginx는 널리 쓰이는 웹 서버 중 하나이다.Nginx는 정적 자원의 처리 외에도 proxy 서버의 역할이나, reverse proxy 서버의 역할 등 여러 방면에서 높은 활용도를 보여준다. 여기서는 Nginx가 CodeDeploy Agent에 의해 두 WAS간의 스위칭 역할을 담당하도록 구성해 보겠다.1. 2 Nginx 설치와 설정 sudo amazon-linux-extras install nginx1sudo nginx -v # 설치 버전 확인설치 후 /etc/nginx/ 로 이동해 보시면 다양한 nginx 설치파일들을 볼 수 있다.우리가 관심있게 보아야 할 것은 설정파일인 nginx.conf 파일이다.파일 수정이 필요하니 sudo 권한으로 ngi.. AWS 2022. 12. 8. [AWS CI/CD] Appspec.yml EC2에서 CodeDeploy를 이용했을 때 appspec.yml에 대해 자세히 알아보지 않고 사용하다가 나중에 에러 처리하는 데 애를 먹어 다시 한 번 정리 해보려고 합니다. Appspec.yml이란? appspec.yml파일은 CodeDeploy에서 배포를 관리하는 데 사용하는 YAML 형식 또는 JSON 형식의 파일입니다. appspec.yml파일은 파일에 정의된 일련의 수명 주기 이벤트 후크로 각 배포를 관리하는 데 사용됩니다. # appspec.yml version: 0.0 os: linux files: - source: / #전부 destination: /home/ec2-user/Board/ #인스턴스에서 파일이 복사되어야 하는 위치 식별 overwrite: yes #선택 값으로, 동일한 파일.. AWS 2022. 12. 7. [AWS CI/CD]CodeDeploy 실패 오류 Github Action에서 잘 빌드하여 s3까지 파일을 잘 압축하여 올라왔으나, ec2에 ls를 확인해보니 해당 파일이 없었다. 확인해보니 배포에 codedeploy랑 ec2랑 태그 연결이 잘못되어 생긴 문제였다. 이제 태그를 맞춰 해당 인스턴스로 잘 매치가 되었으나, 이번에는 객체가 버킷에서 누락되고 나에게 s3 listbucket에 액세스 권한이 없는거 같다. Amazon S3에서 404 "NoSuchKey" 오류 문제를 해결하려면 어떻게 해야 합니까? 최종 업데이트 날짜: 2021년 1월 5일 사용자가 내 Amazon Simple Storage Service(Amazon S3) 버킷에서 객체에 액세스하려고 합니다. 그러나 Amazon S3에서 404 "NoSuchKey" 오류를 반환합니다. 이 오.. AWS 2022. 12. 7. [AWS CI/CD] deploy.yml 수정 및 해결 스크립트 추가하기 마지막으로 프로젝트에서 스크립트를 몇 가지 추가해야한다 먼저 프로젝트의 최상단에 appspec.yml을 생성한다.appspec.yml은 CodeDeploy Agent가 참조하면서 배포를 진행하는 명세서같은 느낌이다. 기본적인 appspec.yml을 다음과 같이 작성 다음 단계인 Nginx 적용 단계에서 스크립트를 추가적으로 작성 # appspec.yml version: 0.0 os: linux files: - source: / #전부 destination: /home/ec2-user/Board/ #인스턴스에서 파일이 복사되어야 하는 위치 식별 overwrite: yes #선택 값으로, 동일한 파일이 있을 경우 덮어쓰기 여부 #정의한 파일이 인스턴스에 복사된 후 해당 파일에 권한이 어떻게.. AWS 2022. 12. 6. [AWS CI/CD] deploy.yaml 분석 Github Action Workflows deploy.yaml name: CI-CD on: push: branches: - main env: S3_BUCKET_NAME: longstone RESOURCE_PATH: ./src/main/resources/application.yaml CODE_DEPLOY_APPLICATION_NAME: GoldenHour_code_deploy CODE_DEPLOY_DEPLOYMENT_GROUP_NAME: goldenhour-server jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set up JDK 17 uses: actions/setup-java@.. AWS 2022. 12. 6. [AWS CI/CD] CodeDeploy 생성 및 설정 CodeDeploy Step 1 Step 2 Step 3 Step 2에서 CodeDeploy를 선택했으므로 자동으로 “CodeDeployRole” 권한이 부여되어있다. 추가로 권한 부여를 할 필요가 없으니 넘어간다. “Role name”에는 원하는 값을 입력한다.이 IAM은 CodeDeploy 생성 시 사용한다. 이로써 CodeDeploy를 위한 IAM 생성이 완료되었다. Step 4 “CodeDeploy -> Application -> Create application” 클릭을 한다. Step 5 Application name에는 원하는 값을 입력한다. “Compute platform”은 EC2/On-premises를 선택한다. Step 6 CodeDeploy Application을 생성했다. 이제는 .. AWS 2022. 12. 6. [AWS CI/CD] S3 생성 및 설정 S3 Buckets S3 서비스가 필요한 이유 Github Action으로 빌드된 결과물을 S3에 올려놓을 것이다.S3에 저장된 빌드 결과물을 가져와 인스턴스에 배포를 한다. 그러면 EC2 인스턴스에 있는 CodeDeploy가 그러므로 우리는 빌드된 결과물을 저장하는 공간으로 S3 서비스를 사용할 예정이다. Bucket 생성 Step 1 “Create bucket”을 클릭한다. Step 2 Bucket name과 region을 정한다. Step 3 Public Access를 차단한다.상황에 맞게 Public Access를 허용시킨다. 설정 방법은 “AWS S3 Bucket에 있는 파일에 대해 Public Access 하는 방법”글 을 참고하자. 그런데 만약 본인의 서비스가 외부 이미지 참조가 있다면 추가.. AWS 2022. 12. 5. 이전 1 2 다음 반응형