AWS 80

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

[CloudWatch] 필터 패턴을 활용한 CloudTrail 작업에 대한 경보 설정

CloudTrail 구성 변경에 대한 로그 지표 필터 및 경보가 설정되어 있는지 확인{ ($.eventSource = cloudtrail.amazonaws.com) && (($.eventName = CreateTrail) || ($.eventName = UpdateTrail) || ($.eventName = DeleteTrail) || ($.eventName = StartLogging) || ($.eventName = StopLogging)) }다음과 같은 지표 필터 패턴은 CloudTrail 기준이다. CloudTrailCloudTrail에 나와있는 eventName, eventTime, userName, eventSource, resourceType, resourceName 를 참조하여작성한 필터 패..

여러 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

AutoScaling 중 Scale-out 발생 시 구 버전 이미지(CI/CD) 배포

참고 사이트https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-aws-auto-scaling.html 배포 중 이벤트 확장  Amazon EC2 Autoscaling Group 와 CodeDeploy가 연동된 상황이다.CodeDeploy 배포가 진행되는 동안 Auto Scaling Scale-out 이벤트가 발생되면 해당 인스턴스는 최신 개정판이 아닌, 애플리케이션의 이전 개정판을 받는다.해당 인스턴스를 최신 상태로 만들기 위해 CodeDeploy는 자동으로 후속 배포를 시작하여 오래된 인스턴스를 업데이트해야 한다.  오래된 인스턴스에 대한 자동 업데이트 1. CodeDeploy API2. AWS CLI방식은 총 2가지가 ..

AWS/TroubleShooting 2024.07.02

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