AWS/Project 39

EC2에서 SFTP 서버 구축하기 (2) - ssh, sftp 모두 사용

참고 사이트: https://aegypius.tistory.com/entry/CentOS-ssh와-sftp-설정 [기억과 흔적:티스토리] 프로젝트에서 개발자 분이 솔루션 계정과 개인 계정을 만들어달라고 요청하셨다.개인 계정은 ssh 통해 접속이 필요하고 솔루션 계정은 sftp 통해 파일 전송 용도라고 하셨다.일반 사용자들에게는 파일 전송만을 허용하고, 관리자가 사용할 계정은 sftp와 ssh모두를 허용하도록 설정해 볼 것이다. 1. ssh 설정 파일 수정SSH 사용하지 않고 SFTP만 사용하는 사용자 계정 설정 - 루트 디렉터리 제한$ sudo vi /etc/ssh/sshd_config 아래줄에 다음 내용 추가# override default of no subsystemsSubsystem sf..

AWS/Project 2024.11.01

EC2에서 SFTP 서버 구축하기 (1) - 로그인 인증 방식(패스워드/키 페어)

프로젝트에서 SFTP 서버의 필요성이 제기되어 EC2에 SFTP 서버를 구축하고자 한다.SFTP 서버를 생성하여 별도의 SFTP 소프트웨어 설치 없이 SSH를 이용해 SFTP를 구성할 것이다. 특정 지역 센터에서는 키 페어 방식으로 붙고, 특정 사용자들에게는 패스워드 방식으로 로그인 인증을 진행하려고 한다.1. EC2 인스턴스 생성 및 SSH 설정2. 보안그룹 설정SFTP는 기본적으로 22번 포트를 사용하므로, 보안 그룹에서 포트 22에 대한 인바운드 규칙을 허용해준다. 3. 인증 방식 설정로그인 패스워드 인증 방식SFTP 사용자 계정 생성$ sudo user add sftpuser$ sudo passed sftpuser 키 페어 인증 방식클라이언트 측에서 공개 키 생성하고 SFTP 서버에 등록한다.$ ..

AWS/Project 2024.10.30

EC2에서 redis-cli를 통해 ElastiCache 접속

ElastiCache 클러스터 Redis OSS (Opensource Service) 생성하였다. EC2  ElastiCache EC2에 redis-cli를 설치하여 ElastiCache로 접속 테스트를 진행하도록 하겠다.사전 준비 사항 : EC2, ElastiCache 클러스터 생성, 서로 간 보안그룹(SG) 6379 포트 오픈Redis-cli 설치참고 문서:https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/nodes-connecting.html # gcc 설치$ sudo yum install -y gcc make# redis-cli 설치 및 압축 해제 후 소스코드 컴파일$ wget http://download.redis.io/redis-s..

AWS/Project 2024.10.30

AWS SSM 을 활용한 Private EC2 접근

Bastion 서버 없이 Session Manager를 통해 프라이빗 인스턴스 연결1. SSM Interface 생성하여 SSM 사용EC2에 SSM Agent 설치  (Amazon Linux 2, Amazon Linux 2023은 기본 설치되어 있음)SSM에 관한 Role을 EC2에 연결AWSServiceRoleForAmazonSSM3개의 VPC Endpoint가 해당 VPC에 있어야 함ssmssmmessagesec2messages 2. 수동 SSM Agent 설치하여 SSM 사용참고 https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html Amazon Linux 기준$ su..

AWS/Project 2024.07.28

여러 Account 및 VPC에서 하나의 CodePipeline 공유

참고 자료: https://youtu.be/F5ZPD3Z53so?si=DOOXLH6oAMIRY1yp여러 Account 및 VPC에서 여러 CodePipeline 구성 Account 및 VPC 갯수가 많은 대규모 시스템일 경우, 환경별 CodePipeline을 구성하고 Sync하는 방식으로 진행하는 것이 옳을 것 같다.하지만 비용 및 공수가 환경별로 들며, 푸시를 환경별로 해야하는 부담이 있다. 여러 Account 및 VPC에서 하나의 CodePipeline 구성Account 및 VPC 갯수가 많지 않은 시스템을 구성하고 있을 경우,하나의 코드파이프라인을 환경별 계정에서 공유하는 방식을 권장한다. Cloud A 계정에 CodePipeline을 구성하고, 환경별 Account(Dev, Product) 및 V..

AWS/Project 2024.07.13

CodeSeries를 활용한 CI/CD - TroubleShooting

An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied참고 사이트: https://sarc.io/index.php/aws/1588-s3-bucket-sync S3 Access 권한이 없어서 뜨는 문제이다.AWS CodeBuild가 S3 Access 권한을 가지고 있어야 한다. CORS ERROR 프론트 버킷(website s3) : 정적 웹 호스팅용파일 버킷 (content s3) : 프론트 웹에 담긴 파일들 보관용 현재 상황파일 버킷(content s3)의 CORS 설정: 프론트 버킷(website s3)에서 파일 버킷(content s3) 접근 가능필요한 상황백엔드 코드에서 API 호출을 통해 파일..

AWS/Project 2024.07.01

CodeSeries를 활용한 CI/CD 구성 (Backend Pipeline)

구성도Backend CI/CD Pipeline CodeCommit에 Dev, Prod 브랜치 생성 (two-branch 전략) 환경별(Dev,Prod) 프론트, 백엔드 파이프라인 구성 (총 4개)  -- 이 페이지에서는 백엔드파이프라인만 설명!CodeBuild는 buildspec.yml(dev-buildspec.yml과 prd-buildspec.yml)을 통해 빌드 및 테스트 진행CodeDeploy는 appspec.yml을 통해 S3 내 아티팩트를 가져와 EC2 및 Auto Scaling Group에 배포Dev 환경은 EC2에 In-place 배포, Prod환경에서는 Auto Scaling Group에 Blue/Green 배포 전략 상이함* CodePipeline은 승인자의 허가에 의해 진행된다. 이 글..

AWS/Project 2024.06.28

CodeSeries를 활용한 CI/CD 구성 (Frontend Pipeline)

구성도Frontend CI/CD PipelineCodeCommit에 Dev, Prod 브랜치 생성 (two-branch 전략)dev 환경은 dev 브랜치에서 개발 및 검증 진행. 이후 master 브랜치에 병합하여 prod 환경 배포 예정 환경별(Dev,Prod) 프론트, 백엔드 파이프라인 구성 (총 4개)  -- 이 페이지에서는 프론트 파이프라인만 설명하겠음!!CodeBuild는 buildspec.yml(dev-buildspec.yml과 prd-buildspec.yml)을 통해 빌드 및 테스트 진행CodePipeline에서 배포 단계는 각 환경별 S3 버킷으로 정적 웹사이트 배포 * CodePipeline은 승인자의 허가에 의해 진행된다.  이 글 내용은 Frontend CI/CD Pipeline 구성..

AWS/Project 2024.06.28