본문 바로가기

반응형

Ops/AWS

(151)
AWS MSK - tls 설정 AWS MSK - tls 설정 속성 탭에 해당 설정 확인 - TLS 암호화 / 보안접속 / 9094 - 일반 텍스트 / 일반접속 / 9092 Tip - TLS 통신을 한다면, KMS 키값이 연동할 때 필요함 - 단, 내부 통신만 한다면 https 통신이 필요 없듯, TLS 암호화는 필요 없음 by mkdir-chandler
AWS Lambda to Slack (kms) - slack 전송 코드 & 테스트 AWS Lambda to Slack (kms) - slack 전송 코드 & 테스트 ■ 코드 import boto3 import json import os from base64 import b64decode from urllib.request import Request, urlopen # 환경 변수 가져오기 ENCRYPTED_HOOK_URL = os.environ['SLACK_HOOK_URL'] SLACK_CHANNEL = os.environ['SLACK_CHANNEL'] # 암호화한 url 복호화 진행 HOOK_URL = "https://" + boto3.client('kms').decrypt( CiphertextBlob=b64decode(ENCRYPTED_HOOK_URL), EncryptionConte..
AWS Lambda to Slack (kms) - function 생성 AWS Lambda to Slack (kms) - function 생성 Lmabda 함수 → 구성 → 환경 변수로 이동하여 ‘편집’을 선택합니다. 아래쪽의 암호화 구성을 drop down 하여 도우미 활성화를 클릭하고, 미리 생성한 KMS를 등록합니다. 위쪽의 환경 변수를 추가하여 Slack 채널 및 URL을 입력합니다. - URL은 https:// 부분을 제외하고 입력합니다. - Channel은 #을 붙여서 입력합니다. URL 부분만 우측의 ‘암호화’를 클릭합니다. (하단에 있는 도우미 활성화를 체크해야 암호화 버튼이 나타납니다.) KMS 키를 선택하고 우측 하단의 ‘암호화’ 버튼을 선택합니다. (보안 암호 코드 조각 해독을 선택하면 람다 함수에서 어떻게 코드를 사용하면 되는지 코드를 확인할 수 있습니..
AWS Lambda to Slack (kms) - iam role 생성 AWS Lambda to Slack (kms) - iam role 생성 Lambda에 설정되어 있는 role에 kms 관련 policy를 추가하기 위해 ‘인라인 정책 연결’을 선택합니다. (특정 kms를 지정하는게 아니라 * 로 지정하려면 policy를 생성하여 정책 연결로 추가해도 됩니다.) json 탭을 선택하여 해당 내용을 입력합니다. 해당 내용은 lambda에서 암호화를 통해 key / value를 입력하면 코드 전체가 가이드로 나오고 있으니 참고하시면 됩니다. - 6번째 라인 수정 (kms arn 이름) - 9번째 라인 수정 (lambda 이름) 정책의 이름을 입력하고 우측 하단의 '정책 생성'을 선택합니다. 추가가 정상적으로 되었다면 이제 사용이 가능합니다. by mkdir-chandler
AWS Lambda to Slack (kms) - kms 생성 AWS Lambda to Slack (kms) - kms 생성 KMS 서비스로 이동하여 고객 관리형 키 메뉴를 선택 후 ‘키 생성’을 선택합니다. (KMS → 고객 관리형 키 → 키 생성) 다음과 같이 입력하고 하단의 ‘다음’을 선택합니다. 별칭 및 설명을 입력하고 다음을 선택합니다. 키 관리자를 따로 지정하지 않으면 root 계정만 권한을 갖습니다. 별도로 지정 / 미지정 후 하단의 ‘다음’을 선택합니다. 키 사용 권한 정의를 선택하지 않으면 모든 권한이 allow 됩니다. 특정 role만 allow 하려면 해당 role을 선택한 다음 ‘다음’을 선택합니다. 설정한 정보를 확인하고 하단의 ‘완료’를 클릭합니다. 완료 by mkdir-chandler
AWS Lambda to Slack (basic) - code AWS Lambda to Slack - code 함수 생성이 완료되면 코드 부분에 다음과 같이 입력하고 ‘Deploy’를 선택합니다. 참고로, requests 모듈은 lambda에서 기본으로 제공하지 않기 때문에 url을 사용하려면 urlib.request를 사용해야 합니다. import json import urllib.request def lambda_handler(event, context): send_message_to_slack("Hello World: test message from Lambda") def send_message_to_slack(text): message = text send_data = { "text": message, } send_text = json.dumps(send_d..
AWS Lambda to Slack (basic) - function 생성 AWS Lambda to Slack - function 생성 Lambda 서비스로 이동하여 함수 메뉴를 선택한 다음 ‘함수 생성’을 선택합니다. (Lamdba → 함수 → 함수 생성) 다음의 항목을 입력하고 우측 하단의 ‘함수 생성’을 클릭합니다. IAM은 Lambda에서 다른 AWS 서비스로 연결하는 경우가 아니라면 basic으로 생성한 role을 연결하면 됩니다. 생성이 완료되면 기본 코드가 작성이 되어 있는 것을 확인할 수 있습니다. 해당 부분에 코드를 작성하고 사용하면 됩니다. 참고 (파이썬 기본 코드 양식) # python 3.8 import json def lambda_handler(event, context): # TODO implement return { 'statusCode': 200, ..
AWS Lambda to Slack (basic) - IAM role 생성 AWS Lambda to Slack - IAM role 생성 - lambda를 생성하려면 iam role 이 필수로 들어가야 합니다. - 기본적으로 slack 에 알람만 보내는 경우 Policy는 'AWSLambdaBasicExecutionRole' 만 있으면 됩니다. IAM 서비스로 이동하여 ‘역할’ 메뉴를 선택 후 ‘역할 만들기’를 클릭합니다. 신뢰할 수 있는 엔터티 유형에서 ‘AWS 서비스’를 선택합니다. 사용 사례는 Lambda를선택하고 제일 하단의 ‘다음’을 선택합니다. 권한 추가 화면에서 ‘awslambdabasic’을 입력하면 'AWSLambdaBasicExecutionRole' 을 확인할 수 있습니다. 해당 권한을 선택하고 제일 하단의 ‘다음’을 클릭합니다. Role의 이름을 지정하고 기타..
AWS Lambda to Slack - process 요약 (이론) AWS Lambda to Slack - process 요약 (이론) (basic) 1. IAM Role 생성 2. Lambda Function 생성 3. Lambda Function 변수 입력 4. Lambda 코드 입력 5. Lambda 테스트 6. 트리거 연결 (EventBridge, SNS, CloudWatch 등) (kms) 1. KMS 생성 2. IAM Role 생성 3. Lambda Function 생성 4. Lambda Function 변수 입력 5. Lambda Function 변수에 대한 IAM Role 업그레이드 6. Lambda 코드 입력 7. Lambda 테스트 8. 트리거 연결 (EventBridge, SNS, CloudWatch 등) by mkdir-chandler
AWS Lambda Code - infra noti AWS Lambda Code - infra noti # Python 3.7 import boto3 import json import logging import os from base64 import b64decode from urllib.request import Request, urlopen from urllib.error import URLError, HTTPError # The base-64 encoded, encrypted key (CiphertextBlob) stored in the kmsEncryptedHookUrl environment variable ENCRYPTED_HOOK_URL = os.environ['kmsEncryptedHookUrl'] # The Slack channel to s..

728x90
반응형