[AWS] S3 Bucket Version 관리에 적용하였던 MFA 삭제가 MFA 분실로 인해 비활성화가 되지 않아 객체를 삭제할 수 없을 때

이미지
Amazon S3 버킷에서 S3 버전 관리 작업을 할 때 선택적으로 MFA(다단계 인증) 삭제를  활성화하도록 버킷을 구성하여 또 다른 보안 계층을 추가할 수 있습니다  . 버킷 버전 관리 활성화됨 Multi-Factor Authentication(MFA)* 삭제 버킷 버전 관리 설정을 변경하고 객체 버전을 영구적으로 삭제하기 위해 Multi-Factor Authentication(MFA)이 필요한 추가 보안 계층입니다. MFA 삭제 설정을 수정하려면 AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용하십시오.  자세히 알아보기   비활성됨 그런데, MFA 삭제를 활성화해 놓고 MFA를 분실하였다면? -> MFA 삭제 비활성화는 API나 CLI로만 가능하다. 이 때도 역시 비활성화를 위해 MFA 토큰이 필요한데,, MFA를 분실하였다면 대략 난감하다. aws에 문의한 결과 어렵게 답변을 받을 수 있었으며 그 방법은,, 역시 Root 계정으로 뭔가를 해야 했다. 다음은 그 절차이다. 1. Root 계정에 access key 발급 - 보통 보안을 위해 루트 계정에는 엑세스키를 두지 않도록 aws에서 조차 권고하고 있는데, 이 작업을 위해서는 어쩔 수 없이 임시로 엑세스키를 발급해야 한다. 2. Root 계정에 MFA를 하나 더 추가한다. 원래 있다면 그걸로 되는지는 확인 안해 봤다. 어쨌든 하라는대로 하나 더 추가한다. 3. 이제 아래 커맨드로 "MFA 삭제"를 비활성화 한다. aws s3api put-bucket-versioning --bucket BUCKET-NAME --versioning-configuration Status=Enabled,MFADelete= Disabled --mfa "NEW-DEVICE-SERIAL MFA-TOKEN" 삭제 예)  aws s3api put-bucket-versioning --bucket "mybucket" --versioning-config

2021 AWS Re:Invent 발표 신규 서비스 요약

본 글은 A mazon Web Services Korea 유튜브 채널에서 윤석찬님이 진행한 2021 AWS Re:Invent 한국어 라이브 영상을 보고 간략히 키워드만 나열한 것입니다.  관련 영상 목록 보기 ### 2021 AWS Re:Invent 둘째날 [Management] Kapenter - EKS auto-scaling을 보다 빠르게 해주는 AWS에서 개발한 오픈소스 솔루션 [Databases] Redshift Serverless - 오토스케일링 지원으로, 스펙에 대한 고민 없이 사용.  EMR Serverless - 오토스케일링 지원으로, 스펙에 대한 고민 없이 사용.  MSK Serverless - 오토스케일링 지원으로, 스펙에 대한 고민 없이 사용.  Kinesis Data Stream On-Demand -  Amazon RDS Custom for SQL Server - RDP로 운영체제에 접근이 가능하도록 허용. (오라클은 이미 10월에 시작됨) [AI/ML] SageMaker Canvas (seoul x) - 일반 사용자도 학습>모델링>추론 을 쉽게 해볼 수 있고 가시화도 지원해 줌 Amazon Kendra - Experience Builder, 지능형 검색 어플을 쉽게 배포 GA Amazon Lex - Automated Chatbot Designer, 봇 설계를 간편하게, 고급 자연어를 이해함(한국어 지원) Preview Amazon SageMaker Studio Lab - 기계학습 설정 엑세스. 브라우저에서 aws 계정이 없어도 간편 가입 후 이용 가능. 15GB 무료 AWS AI & ML Scholarship Program - 연간 $10M 인공지능 장학금, 2022년 3월 대회부터. 매년 2000명 학생 [Storage] Recycle Bin for EBS Snapshot - 휴지통기능, 스냅샷 삭제하면 휴지통으로 이동하여 보관주기까지 남아있음. 비용은 과금 됨. EBS Snapshot Archive - 전체 스냅샷을

[AWS] Aurora RDS 무중단 스케일-업

[AWS] Aurora RDS 무중단 스케일-업 Aurora는 MySQL 및 PostgreSQL과 호환되는 완전관리형 RDBMS 엔진입니다. 디비 클러스터링이 기본 제공되며 오토스케일을 위한 복제를 자동화할 수 있습니다. Aurora RDS를 운영하다가 Primary 노드를 무중단으로 스케일-업 해야 하는 상황이 발생할 수 있습니다. RDS 중지가 허용된다면 간단히 클러스터에서 인스턴스 클래스를 변경하고 즉시적용을 통해 진행하면 됩니다. 무중단으로 스케일-업을 하기 위해서는 읽기 복제본을 목표 사양으로 생성한 뒤, fail-over를 통해 이 노드를 Primary로 승격하면 됩니다. 기존의 쓰기노드는 자동으로 읽기노드로 변경됩니다. 이 때 장애조치 우선순위 tier가 primary로 수동 승격된 노드가 기존 primary 보다 더 낮을 때는 다시 자동으로 원래의 primary노드로 primary가 복귀되니 주의해야 합니다. 안정적인 작업을 위해서는 승격할 노드의 tier를 교체할 노드의 tier보다 높게 지정해 놓으면 됩니다. tier는 숫자가 낮을수록 우선순위가 높습니다.

[AWS] CloudFront 배포에서 서명된 URL로 접근 제어 설정하는 법

[AWS] CloudFront 배포에서 서명된 URL로 접근 제어 설정하는 법 서명된 URL 만들기  - cloudfront에서 프라이빗 컨텐츠에 대한 엑세스 제한을 하기 위해  1단계: CloudFront 키 페어 생성 루트 계정으로 콘솔에 로그인 후, 상단 우측에서 "내 보안 자격 증명>(Continue to Security Credentials)>CloudFront의 키 페어" 에서 생성하여 피시/서버에 다운 받아 둡니다.   IAM 사용자는 CloudFront 키 페어를 만들 수 없습니다. 웹페이지 소스에서 위에서 서버에 저장한 개인키를 읽어서 URL을 서명하고 서명된 URL을 리턴하는 함수를 작성하여 클라이언트에 제공한다.  참조링크: https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/PrivateCFSignatureCodeAndExamples.html  2단계:  CloudFront Distributions -> [해당 CF 배포] -> Behaviors -> Create Behavior -> Cache Behavior Settings:  1. Path Pattern: (예: images/*.jpg 입력하면 images 디렉토리 이하 모든 jpg 확장자 대상 접속 제한 걸림) 2. Restrict Viewer Access(Use Signed URLs or Signed Cookies): Yes 체크  3. Trusted Signers: Self 체크  설정확인: Behaviors 목록에서 필드 값 중, Trusted Signers: 활성  이제 클라이언트가 제한된 경로에 있는 특정 파일을 요청 시 리퀘스트 파라미터에 서명을 스트링을 전달하여 요청받을 수 있도록 구성합니다. 참고: CloudFront용 키페어를 만드는 또 다른 방법은 openssl 같은 프로그램은 키페어를 만들고 퍼블릭키를 AWS

[AWS] CloudFormation 활용 - VPC 서브넷과 보안그룹 복제하기

VPC/Subnet 복제시 수정사항 문제: 원본 시스템의 구성요소에 NATGateway가 있다면, CloudFormer로 수집이 안되므로, 생성된 템플릿으로 스택 실행 시 NatGateway가 관련된 라우팅 테이블 생성 단계에서 에러가 발생한다. 해결: 템플릿 내용 중, 에러가 발생한 라우팅넘버 항목에 가서 GatewayId를 InterGateway의 Id로 일단 지정해서 템플릿 에러를 해결한 후, 수동으로 NatGate 생성 및 연결을 해 준다. Security Group 복제시 수정사항 여기서는 VPC/Subnet 생성을 위한 템플릿과 Security Group 생성을 위한 템플릿을 나누어서 생성한 경우에 해당하는 문제입니다. Security Group은 특정 VPC에 종속적이므로 템플릿의 첫 부분에는 VPC 생성을 위한 항목이 존재하고, 이후 보안그룹 생성은 처음 정의된 VPC의 Id를 모두 참조하도록 되어 있어 실행 시 에러가 발생합니다. 해결: 보안그룹 생성 구문에서 참조할 VPC Id를 템플릿 실행 시 파라미터로 입력 받도록 템플릿을 수정합니다. 수정 전 {   "AWSTemplateFormatVersion": "2010-09-09",   "Resources": {     " vpc07134a125a927833a ": {       "Type": "AWS::EC2::VPC",       "Properties": {         "CidrBlock": "10.1.0.0/16",         "InstanceTenancy": "default",         "EnableDnsSupport": "true",         "EnableDnsHostnames&quo

[AWS] Amazon 무료 인증서 사용시 주의사항

Amazon은 AWS Certificate Manager(이하 ACM) 서비스를 통해 무료 SSL/TLS 인증서를 발급해 주고 있습니다. ACM에서 발급 받은 인증서는 ELB나 CloudFront에 편리하게 적용하여 사용할 수 있습니다. Amazon 무료 인증서를 사용할 때 몇가지 주의사항에 대해서 살펴봅니다. 인증서 사용 범위 ACM에서 발급 받은 인증서는 외부로 Export가 안되기 때문에 인증서 파일이 필요한 EC2 내부의 웹서버 등에는 사용할 수 없습니다. 반드시 웹서버에 인증서를 설치해야 하는 경우는 현재로서는 ACM 인증서를 사용할 수 없고 구매한 인증서를 사용해야 합니다. 구매한 외부 인증서는 ACM에 가져오기를 하여 ACM에서 발급한 인증서와 동일한 방법으로 ELB, CloudFront에 사용할 수 있습니다. CloudFront용 인증서 CloudFront에 사용할 수 있는 인증서는 반드시 버지니아 리전의 ACM에서 발급받아야 합니다. 동일한 도메인이라도 여러 인증서를 발급 받을 수 있기 때문에 ACM 인증서를 ELB, CloudFront 두 곳에 사용하려면 각 리전에서 동일한 도메인의 ACM 인증서를 발급받아야 합니다. Route53 사용 시 DNS 서비스를 Amazon Route53에서 받을 거라면 인증서 검증방법을 이메일 인증이 아닌 CNAME 인증을 선택하는 것이 편리합니다. 검증방법은 인증서 발급 신청시 선택하게 되고 나중에 변경이 안되므로 처음부터 고려해야 합니다. CNAME 검증방법은 인증서를 갱신할 때 자동으로 갱신해 주므로 갱신 주기마다 검증을 해야 하는 이메일보다 편리합니다.

[AWS] AWS CloudFormer로 리소스 구성도 만들기 - (현재 기능 없어짐)

이미지
AWS는 beta 서비스였다는 사유로 슬그머니 CloudFormer를 없애버렸습니다. 대체방법으로 써드파티 솔루션인  Former2  를 권장합니다. CloudFormation은 AWS 리소스를 자동생성할 수 있는 템플릿을 만들고 실행해주는 서비스입니다. 이 CloudFormation의 템플릿 자동 생성기능으로 현재 운영중인 시스템의 리소스 구성도를 만들어 볼 수 있습니다. CloudFormation>스택>스택생성에서, 템플릿을 도구:CloudFormer로 선택하여 생성합니다.  생성 2단계에서 옵션 항목들은 특별한 경우가 아니면 비워둔 채로 진행합니다. t2.small(1vCPU 2GiB) 타입으로 EC2인스턴스가 자동 생성되고 비용은 $21/month정도 발생할 예정이지만, 잠시 사용하고 삭제하는 용도라면 큰 부담이 없습니다. 잠시 후 생성이 완료되면 생성된 스택의 하단 탭:출력에  CustomVPCWebsiteURL를 따라 생성시 지정한 계정정보로 웹페이지를 접속할 수 있습니다. DNS, VPC 등 현재 사용 중인 주요 리소스 항목들을 보여주고 CloudFormer로 수집할 대상을 선택할 수 있습니다. 사실 모든 수집된 항목을 깔끔하게  CloudFormer가  핸들링해 주지는 않습니다. 나중에 복제 생성할 때 에러가 발생하여 진행이 중단될 경우 템플릿을 디버깅하여 에러가 발생하는 부분을 수정해 주거나 리소스 항목 범위를 좁혀서 CloudFormer를 사용할 필요가 있습니다. 수집이 완료되면 S3의 원하는 버킷에 JSON 포맷의 템플릿을 저장할 수 있습니다. 이제 CloudFormation>스택의 템플릿디자인에서, S3 버킷에 저장한 템플릿을 열면  위와 같이 현재 운영중인 시스템의 수집된 리소스 구성도를 보여줍니다. 각 항목별로 세부정보를 볼 수도 있습니다. 현재는 이 다이어그램을 이미지 파일 형태로만 다운로드 받을 수 있습니다. 참고: CloudForma