[AWS] (9) 썸네일형 리스트형 [AWS] SES 이메일 템플릿 파이썬으로 구현 필요 라이브러리boto3: 파이썬 전용 AWS SDK 이 작업은 당연히 Aws Cli를 사용해서도 커버가 가능하지만, 템플릿이나 특정값을 터미널에서 입력하면 번거로워서 코드로 작성해서 사용중이다.1.Aws Cli1-1. 생성 명령어아래와 같은 Json파일이 있다고 가정하면# template.json{ "TemplateName": "", "SubjectPart": "", "HtmlPart": "Hello, World!", "TextPart": "Hello, World!"}aws cli로 json파일을 불러와서 명령어를 수행하면 된다.aws ses create-template --template file://template.json1-2. 삭제 명령어삭제하기 위해서는 위에서 사용한 TEMPLATE_N.. [AWS] SES 발송 실패에 대한 알림메일 받기 1. SES > Configuration Set SES에서 발송되는 메일은 항상 성공하지 않는다. 모종의 사유로 분명 실패할 수도 있다. 그러한 메일들을 트래킹하기 위해서는 SES에서 제공하는 Configuration Set을 사용하면 된다. SES > 좌측 메뉴 Configuration > Configuration sets 우측 상단에 Create set 버튼 클릭 표시할 이름과 IP Pool은 디폴트로 설정해서 만들고 나면 상세화면으로 넘어가진다. 그러면 상단에 Event destinations 라는 탭이 있을거다 클릭 ㄱ 우측 상단 Add destination 클릭 해당 페이지에서 하는 작업은 우리가 SNS를 통해서 메일에 대한 어떤 웹훅을 보낼지에 대한 설정이다. 메일을 보내는것도 중요하지만 더 .. Message Broker 정의 애플리케이션과 메세지 형태로 데이터를 주고받는것을 도와주는 녀석이다. 보내는 입장과 받는 입장이 서로 다른 언어로 개발이 되어있어도 메세지를 교환할 수 있다. 그럼 이걸 왜쓰냐? 만약 서비스 A가 B에게 데이터를 요청받아 데이터베이스에 어느 업무를 수행한다고 하자. 근데 어느날 갑자기 B가 다운이 되고 A는 계속 요청을 하려 하면? 당연히 아무런 요청을 하지도 못하고 그냥 데이터만 유실된다. 그래서 그 사이에 메세지 큐를 하나 두고, A와 B 사이의 의존성을 줄일 수 있다. A입장에서는 요청을 날리고 B가 다시 뜨게 된다면 그 큐를 통해서 다시 데이터를 받으면 문제가 해결. 용어정리 Producer (P): 메세지를 생성하는 주체 Consumer (C): 큐에 쌓여있는 메세지를 읽는 주체 Queue.. [AWS] 다른 계정으로 S3 복사하기 1. 사전작업 Source 계정 (원본) , Destination 계정 (복사할 계정) AWS cli 2. Source S3 버킷 권한 추가 Destination 계정에서 Source 버킷에 접근할 수 있는 권한을 추가해준다. { "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateS3Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::DESTINATION_BUCKET_ACCOUNT_NUMBER:root" }, "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::SOURCE_BUCKET_NAME/*", "arn.. [AWS] EKS cluster생성시, coredns가 계속 pending 상태가 유지되고, 노드그룹 생성 후 타임아웃 나는 이유 1. 타임아웃 이유 클러스터를 만들기 위해 VPC를 선택하고, 그 VPC안에 있는 Subnet을 선택을 하게 되는데 이때 Public Subnet들이 만약 IPv4 address가 할당되어 있지 않다면 노드를 연결하다 타임아웃이 발생한다. 특정 VPC안의 subnet들이 public IPv4가 설정되도록 되어있는지 확인하는 방법 aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=[VPC-ID]" \ --profile [PROFILE] \ | grep 'SubnetId\|MapPublicIpOnLaunch' 아래 빨간박스처럼 Yes 값이어야 정상적으로 노드 생성된다. 2. Unable to connect to the server 클러스터나 노드가 정상적으.. [AWS] MFA 적용 후 AWS cli 사용시 access denied 나오는 경우 [사유] AWS 로그인 시 MFA로 보안을 강화한 경우가 많을거다. MFA를 통한 session token 없이 aws cli를 사용하게 되는 경우 IAM이 poweruser여도 어김없이 AccessDeniedException이 나온다 [해결] ./.aws/credential 파일안에 profile 정보들이 있을텐데 다음과 같은 정보들이 있어야한다. aws_access_key_id aws_secret_access_key aws_session_token [적용] 1. AWS 사용자 정보에서 mfa와 user_arn 정보를 가져온다 2. profile 설정 ./aws/config 파일에 1에서 가져온 정보들을 입력한다 vi ~/.aws/config [iam-dev] mfa_serial = MFA_SERIAL.. [AWS] Bastion host를 통해 AWS RDS 접속 이전 글에서 Bastion host에서 사용자를 생성하는 법을 알았으니 사용을 해보자. Datagrip이 제일 익숙하다보니 요녀석 기준으로 설명하겠습니다. https://gomip-dev.tistory.com/21 [AWS] EC2 Bastion host 사용자 생성 매번 Pem 파일 공유해서 배스천을 접속했다가는 누가 여기 들어오고있는지 관리하기도 힘들고 해서 차라리 사용자 제한을 주고 접속을 허용하는게 훨씬 안전해 보인다. 1. EC2 접속 2. 사용자 생 gomip-dev.tistory.com 1. RDS 기본 정보 입력 2. 보통의 RDS는 퍼블릭 접근이 막혀있고 Private subnet에 있을거다. 만약 아니라면 일하고 있는 곳을 한번 쯤 의심해봐라 그래서 이 RDS를 접근하기 위해서는 bas.. [AWS] EC2 Bastion host 사용자 생성 매번 Pem 파일 공유해서 배스천을 접속했다가는 누가 여기 들어오고있는지 관리하기도 힘들고 해서 차라리 사용자 제한을 주고 접속을 허용하는게 훨씬 안전해 보인다. 1. EC2 접속 2. 사용자 생성 sudo adduser devhoon15 ls 명령어를 치면 방금 추가한 사용자를 확인할 수 있다. 3. 신규 사용자로 전환 후 ssh 디렉토리 생성 및 권한 변경 sudo su - USERNAME mkdir .ssh chmod 700 .ssh 4. key를 관리할 authorized_keys 파일 생성 touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys 5. 만약 본인이 git을 사용중이라면 본인 pc에 .ssh 디렉토리 아래에 이름을 바꾸지 않았더라면 i.. 이전 1 2 다음