
S3는 퍼블릭 액세스 차단 기능을 이용하여 버킷 내 객체에 대한 접근을 제한 할 수 있습니다. 퍼블릭 액세스 차단을 활성화 하게 되면 자원을 안전하게 보호할 수 있지만, 외부에서 접근이 불가능해 s3 객체에 접근할 수 없습니다. 따라서 S3는 퍼블릭 액세스 차단을 하면서 외부에서 접근할 수 방법을 제공해주는데, 그 방법에 대해 알아보고자 합니다. Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)/다운로드(GET) 하기 Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)를 진행하고, 다운로드는 서버를 프록시로 두어 서버에서 S3에 접근하여 다운로드(GET)하기 Pre-Signed-URL 을 이용하여 S3 객체 업로드(PUT)를 진행하고, 다운로드는 goofys를 사용하여 S3..

s3 버킷 정책이란? aws s3에 버킷을 만들고 하나의 이미지 파일을 업로드 후 해당 이미지의 주소를 호출해 보면 아래 이미지와 같이 Access Denied오류를 발생시키면서 엑세스 되지 않는다. 이런 현상을 해결하기 위해 생성한 s3버킷에 버킷 정책 이라는 것을 생성해야 합니다. s3 버킷 정책이란 사용자가 s3 버킷에 엑세스 할 수 있는 정책 옵션중 하나 이며 json 문법을 사용하여 버킷에 대한 엑세스를 제어 합니다. s3가 무엇인지? 버킷이 무엇인지?에 대한 궁금증은 다음 링크를 참고하시길 바랍니다. Amazon S3이란 무엇인가요? - Amazon Simple Storage Service HTTP를 통한 SOAP 지원은 중단되었지만 HTTPS를 통해 계속해서 사용할 수 있습니다. 새로운 Am..

정적 웹을 HTTPS로 배포하기에 이어 이번에는 EC2 인스턴스로 배포한 톰캣에 HTTPS로 접근하고자 합니다. [AWS] HTTP to HTTPS로 배포하기 (S3 기준) 이전 글 'Route 53 도메인 구매 후 연결하기'에서 도메인 구매 후 S3와 연동시켰습니다. 하지만 Http로 접속되기 때문에 이를 Https로 바꿔보는 작업을 하겠습니다. Https로 바꾸기 위해서는 S3, CloudFront, kingofbackend.tistory.com 정적 웹 같은 경우에는 Application Load Balacner(ALB)가 필요없어서 그리 어렵지 않았지만, 동적 웹(EC2) 같은 경우는 ALB를 필요로 합니다. 따라서 AWS와 네트워크에 대한 기초지식이 필요합니다. ALB는 간단히 말해서 L7 Lo..

이번 글을 진행하려면 먼저 선행되어야 할 작업이 있습니다. 또한 aws, k8s에 대한 기초 지식이 없으면 어려울 수 있습니다. -k8s 1.19버전 -aws cli 설치 후 aws에 액세스 하기 -eksctl 설치 -아래와 같은 vpc 구축 위 3가지 선행작업이 되었다는 가정하에 진행합니다. k8s 클러스터 생성 우선 퍼블릿 서브넷 3개를 가지는 VPC를 통해 EKS를 이용하여 k8s 클러스터를 만들어보겠습니다. $ eksctl create cluster -f create-cluster.yaml 명령어를 이용하여 k8s 클러스터를 생성합니다. * create-cluster.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: "..

▶ 1. root 비밀번호를 먼저 변경하여 준다. #sudo passwd root ▶ 2. sshd_config 설정정보 변경 #sudo vi /etc/ssh/sshd_config :set nu 를 입력하여 보기 좋게 라인수 표시. 38 라인의 "PermitRootLogin yes" 부분의 주석을 해제하고 저장 (:wq) ▶ 3. 루트 경로에 .ssh 경로를 생성하여 준다. #sudo mkdir /root/.ssh 나와 같은 경우는 이미 디렉토리가 있어 생성되진 않았다. ▶ 4. ec2유저의 인증키를 root로 복사한다. #sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh ▶ 5. sshd를 리스타트 한다. #sudo systemctl restart ssh..

Amazon Linux 2 OS의 EC2에서 nginx 설치하는 방법에 대해서 알아보겠습니다. Amazon Linux 2에서는 yum을 통한 nginx 설치가 지원되지 않습니다. 일반적인 yum 을 통한 설치 시 에러가 발생하는 것을 볼 수 있습니다. sudo yum install nginx yum으로는 nginx 패키지를 찾지 못합니다. To use, run 에 나와있는 amazon-linux-extras install : topic 를 이용하여 nginx 설치를 진행하도록 하겠습니다. amazon-linux-extras list 명령어를 통해 설치할 nginx를 찾아보겠습니다. amazon-linux-extras list | grep nginx 조회된 nginx1에 대해서 설치를 진행해 보겠습니다. ..

S3 S3는 AWS가 제공하는 클라우드 스토리지 서비스입니다. 99.999999%라는 높은 내구성이 특징인 스토리지로 미리 스토리지 용량 등을 정의하지 않고 사용할 수 있으며, 데이터 공개 정책, 데이터 암호화, 비용 효율적으로 데이터를 장기 보관하기 위한 라이프사이클 정책 등의 많은 기능을 제공하는 유용한 서비스입니다. S3에서는 스토리지의 기본 단위로 '버킷'이라고 불리는 영역을 생성하고 그 안에 파일을 저장합니다. CloudFront CloudFront는 AWS가 제공하는 콘텐츠 전송 네트워크(Content Delivery Network, CDN) 서비스입니다. CDN은 인터넷에서 웹 콘텐츠, 이미지, 동영상, 애플리케이션 등을 빠르게 전송하기 위한 구조로 되어 있습니다. CloudFront는 전 ..

IAM 이란? IAM(AWS Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. IAM을 사용하여 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어합니다. 물리 데이터 센터를 생각해봅시다. 출입이 허가된 인원들은 출입 카드를 통해 출입하거나, 리스트에 방문 기록을 하고 허가를 받아야 합니다. IAM은 이러한 데이터 센터의 출입 권한을 부여하는 출입카드나, 방문 허가 같은 기능을 가지고 있는 AWS 서비스입니다. 보안 주체가 인증(Authentication)과 권한부여(Authorization)을 받아 리소스에 대한 요청을 승인하는 것이 IAM의 주요 작동 방식입니다. AWS 계정을 처음 생성하는 경우에는 전체 AWS 서비..

이번 글에서는 AWS EC2를 이용하여 Node.js를 배포해보겠습니다. 우분투를 해보시지 않았다면 조금 어려운 부분이 있을 수도 있습니다. AWS EC2 시작하기 EC2 같은 경우 S3와 다르게 비용이 꽤 나옵니다. 그러므로 필요할 경우가 아니면 반드시 인스턴스를 중지해야 합니다. 아닐 경우 청구서 보고 저처럼 깜짝 놀랍니다 ㅜㅜ AWS EC2에 접속하고, 인스턴스 시작 버튼을 눌러줍니다. 우분투를 사용할 것이기에 18.04 버전의 우분투를 선택해줍니다. 인스턴스 유형 선택에서 이미지와 같이 체크하고 검토 및 시작 버튼을 눌러줍니다. 쭉쭉 넘어와서 7단계에서 보안 그룹 편집을 클릭해줍니다. 테스트용이기에 다음과 같이 구성하였습니다. 전세계 누구나 아무 곳에서 들어올 수 있습니다. 그리고 검토 및 시작 ..