AWS Cloud Watch Error logging 도입

서재환·2023년 1월 16일
0

AWS

목록 보기
2/3

Monitor 및 Logging 도입을 위한 GPT 안내

5가지 특징들로 구분하여 여러개의 앱이 있었다. 기존에 Front에서 Error 발생시 Sentry를 통해 Error Log를 기록하고 있었는데 Sentry 도입 이전 AWS의 CloudWatch 이식을 도입하고자 하였다. 있는 기능부터 써보고 필요한 기능이 더 있을 시 그 때 바꾸자는 개인적인 생각. 오버엔지니어링 방지 차원. 나비효과가 되지 않기를 ...

실시간으로 Error Response를 보기 원하고 저장하길 원해 해줄 수 있나?

AWS CloudWatch 활용

Installing the CloudWatch agent
IAM role이 장착된 인스턴스에 CloudWatchAgentSerPolicy가 장착되어 있어야 함.

IAM role을 생성해서 EC2 인스턴스에 붙어야 하는 이유는 인스턴스로 부터 정보를 읽고 CloudWatch에 기록하기 위해선 권한이 필요하기 때문.

이후 CloudWatchAgent 설정파일을 만든다. 설정파일을 Systems Manager Parameter Store에 저장하면 다른 서버도 이를 사용 할 수 있고 Parameter Store에 쓸 수 있는 권한 또한 제공한다(저장하면 권한을 제공한다?)

IAM 용어

AWS에 IAM을 설정하는 이유는 AWS의 여러 자원에 대해 권한을 설정함으로써 자원 접근에 대한 유무를 결정하기 위함이다.

  1. User groups
    그룹을 생성, 이후 필요한 인가을 해당 그룹에 부여, 인가를 부여 할 때 사용자가 만든 Policy 또는 AWS에서 제공하는 Policy 모두 부여할 수 있다. 해당 그룹에 사용자 추가 시 해당 그룹에 속한 사용자는 그룹에 세팅한 모든 권한을 모두 갖게 된다. 사용자를 만든 후 해당 그룹에 추가시켜 주기만 하면 된다. 사용자는 단일 혹은 다수의 그룹에 속할 수 있다.

  2. Users
    사용자 또는 서비스를 특정하여 네이밍한다. 각 유저 또는 서비스는 AWS 자원에 접근할 수 있는 고유의 이름과 credential이 있다. Access keys를 설정해주면 AWS CLI에서 AWS를 호출할 수 있다고 한다.

  3. Role
    Policies와 다른 점은 AWS 서비스와 계정에 인가를 부여하는 것이다. Policy 그 자체는 말그대로 정책이어서 어떤 대상에 인가를 부여하는 개념은 아니다. 여기서 인가는 Policies에서 설정한 사용자정의 Policy와 AWS 단일 Policy를 통칭한다. 단일 또는 다수의 Policy를 특정한 Role을 부여한다. 즉 Role은 Policy의 묶음으로 볼 수 있다.

Role :: Bundle of Policies

  1. Policies
    Users과 Role에 Policy에서 설정한 인가를 부여한다. Policies 부문에서 사용 할Service 선택 후 해당 Service에서 사용 할 Action을 선택 후 활성화 한 뒤 Policy를 관리한다.
    서비스 항목에는 AWS에서 제공하는 여러가지 서비스가 있고, Action에는 Service가 가진 기능들이 담겨 있어 부여하고 싶은 권한을 선택하여 활성화 한다.
    개인적으로 Policy 정책이 가장 먼저 선행되어야 할 부문이 아닌가 생각이 든다.

Installiing the CloudWatch agent on AWS Ubuntu

# Download the CloudWatch agent package
sudo wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

# Install the package
sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

# start the CloudWatch agent 
sudo /etc/init.d/amazon-cloudwatch-agent start

Create IAM roles or users that enable the agent to collect metrics from optionally to integrate with AWS System Manager.

IAM 사용자에는 아래 정책을 추가시켜 주었다.

Role 에는 2개의 정책을 추가시켜 주었다.

EC2에 CLI로 Role을 부여해 주었다.

sudo apt-get update
sudo apt-get install awscli
aws ec2 describe-instances --region ap-northeast-2
aws configure -> Access Key and Secret Key

user role AmazonEC2FullAccess 추가
user role IAMFullAccess 추가

# Instance에 Role 부여
aws ec2 associate-iam-instance-profile --instance-id "i-0a638adaf17f12a30" \
--iam-instance-profile Name="CloudWatchAgentServerRole"

Config 권한 설정

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

0개의 댓글