본문 바로가기

전체 글

AWS CLI 환경에서 역할을 사용하여 일시적인 권한을 부여받기 안녕하세요. 오늘은 IAM 서비스의 역할(Role)이라는 녀석에 대해서 포스팅하려고 합니다. 제가 처음 AWS를 접했을 때 '역할을 사용하도록 하는 것이 모범사례다.' 라고 배웠는데, 그때 당시만 해도 이게 무슨 말인지 전혀 몰랐습니다.(물론 지금도 잘 모ㄹ...) 역할이란 AWS에서 간단하게 '일시적으로 권한을 위임할 수 있다.'라고 소개하고 있는데요. 또한, 아키텍처 아이콘에서 역할은 헬멧 모양으로 사용되고 있습니다. 저는 이 녀석을 이해할 때 이렇게 생각했습니다. '헬멧의 안쪽(내피)에 이 헬멧을 쓸 수 있는 사람의 이름을 적어놓고, 헬멧의 정면(챙 위쪽 면)에는 권한을 적는다' 즉, '헬멧을 착용했을 때 바깥면에 권한이 적혀있기 때문에 헬멧을 착용한 동안에는 적힌 권한을 사용할 수 있다' 라고 생.. 더보기
AWS ACM 인증서 만료 알림 받기 안녕하세요. 오늘은 지난 번 IAM User Create/Delete & Change SG 알림 받기 와 PHD 알림 받기와 비슷하게 CloudWatch Event와 SNS를 이용하여, ACM의 만료일 알림을 받는 방법을 포스팅 하려합니다. ACM의 만료일은 60일 전부터 Personal Health Dashboard의 Scheduled changes에 표시됩니다. 따라서, PHD 알림 받기를 설정하여도 되지만, 지난 포스팅에서 말씀드린 것 처럼 AWS에서는 PHD의 모든 정보를 제공하는것을 보장하지 않습니다. 물론 AWS 관리형 인증서는 자동으로 갱신해줍니다. (단, 예외사항도 있는데 이는 이 곳의 DNS 검증 인증서 부분을 참조하시기 바랍니다.) 그러나, Import 된 인증서는 자동으로 갱신해주지 .. 더보기
Session Manager를 사용하여 OS 내부로 접속하기 안녕하세요. 오늘은 AWS System Manager 서비스안의 Session Manager 서비스를 이용하여 SSH를 사용하지 않고도, Key-Pair가 없어도 OS 내부로 접근할 수 있는 방법을 소개 해드리도록 하겠습니다. 또한, Session Manager 서비스를 터미널창에서 대화식으로 실행할 수 있는 오픈소스 툴 또한 함께 소개 드리겠습니다. ######## 단, Private Instance 접속의 경우 해당 Private Subnet이 NAT Gateway - IGW를 통해 인터넷과 통신이 가능하거나, VPC 앤드포인트가 있어야합니다. 동작 방식자체가 443 Port를 통해서 SSM Endpoint와 통신을 하는 구조이기 때문입니다. NAT Gateway를 사용하는 구조라면, SG의 Outb.. 더보기
Compute Optimizer를 사용하여 비용 최적화하기 안녕하세요. 오늘은 지난번 CloudWatch Agent 설치 포스팅에서 말씀 드렸듯이, Compute Optimizer라는 서비스를 사용하여 EC2 Type을 최적화 하여 비용최적화에 도움이 될 글을 포스팅 해보도록 하겠습니다. 우선, 이 Compute Optimizer는 무료 입니다!!! 그러나, EC2의 경우 기본으로 제공되는 지표가 CPU Utilization, Network In/Out 등 기본 제공되는 지표만으로 Instance Type을 변경하기에는 조금은 부족하기에, 저번 포스팅처럼 CloudWatch Agent를 설치하여 Memory, Disk IOPS 등의 지표를 함께 수집하는 것을 권장드립니다. 그럼 이제 이 Compute Optimizer를 사용하는 방법에 대해 말씀드리도록 하겠습니.. 더보기
Amazon Linux 2에서 CloudWatch Agent 설치하기 안녕하세요. 오늘은 AWS EC2에서 기본적으로 지원되지 않는 지표(Ex. Memory ..)를 수집하기 위해서 Amazon Linux 2에 CloudWatch Agent를 설치하고 구성해보도록 하겠습니다. Agent 구성방식은 AWS 에서 제공하는 Wizard를 사용하는 방법과 구성파일을 수동으로 생성하는 방법이 있는데, 포스팅에서는 Wizard를 사용하여 구성해보도록 하겠습니다. 어떤 방법으로 구성하시더라도, 이후 사용자가 커스터마이징 할 수 있으니 걱정하지 마세요. EC2 인스턴스가 사용할 IAM Role에 CloudWatchAgentServerPolicy를 부착하도록 하겠습니다. AWS Web Console - IAM - Roles - Create role - Choose a use case ==.. 더보기
Run Command를 사용하여 스크립트를 실행하고 결과를 S3로 Export 안녕하세요. 오늘은 System Manager의 Run Command라는 서비스를 사용하여 Linux 내부에서 보안 스크립트를 실행하고, 실행한 결과 파일을 S3로 Export 해보도록 하겠습니다. Run Command라는 녀석은.. 저도 아직 파악 중입니다만, 약간 앤서블 비슷한 녀석인 것 같아요. 'AWS Instance를 중앙에서 관리할 수 있고 중앙에서 모든 Instance에 동일한 명령을 실행해주는 녀석!' 이라고 제 나름대로 정의를 내려놓고 사용해보고 있습니다. 우선 이 Run Command라는 녀석을 쓰기 위해서는 사전 준비가 몇 가지 필요한데요. 바로 진행해보겠습니다. Test 환경은 Amazon Linux 2를 사용하며, 결과를 저장할 S3 Bucket을 생성했다고 가정합니다. 먼저 In.. 더보기
자신의 Password 및 AccessKey만 교체할 수 있는 정책 안녕하세요. 오늘은 보안규정 준수를 위하여 IAM User의 Password 및 Access Key를 정기적으로 교체해야 할 때, 사용자 스스로 Password와 AccessKey를 교체할 수 있도록 IAM User에게 최소권한의 Policy를 부여해보도록 하겠습니다. (관리자가 직접 하려면 너무 귀찮...) Password 교체의 경우 Root 계정에서 Password 정책을 설정하여서 Password의 만료일자 등을 지정하면 간단하지만, Access Key의 경우 보통 개발자에게 발급이 되고 이러한 Access Key는 Application에 연동이 되어 있을 확률이 매우매우매우 높기때문에, 함부로 비활성화 하거나 삭제한다면 장애로 이어질 수 있습니다. 이러한 장애를 예방하기 위해서 Secret Ma.. 더보기
EC2(Linux) 사용자 별 .pem 파일 생성하기 및 ec2-user 비활성화 안녕하세요. 오늘은 EC2(Linux)를 생성할 때, 기본적으로 생성되는 ec2-user와 ec2-user에 맵핑되어 있는 Default .pem 파일을 비활성화 하고, 사용자별로 .pem 파일을 만들어주도록 하겠습니다. 이렇게 하는 이유는, 보안상 FM은 서버 한대당, 서버의 관리자 한명마다 고유한 .pem 파일을 갖도록 하는 것입니다. 또한, Default User인 ec2-user의 경우에 활성화가 되어있다면, 악의적인 사용자 입장에서는 너무나 좋은 먹잇감이겠죠. ID, Password 다 뚫어야 하는데 그 중 ID 부분은 이미 알아낸거나 마찬가지니깐요. 이러한 이유로 사용자 별로 .pem 파일을 만들어 사용해보도록 하겠습니다. * 테스트환경은 Amazon Linux2를 사용했으며, Instance.. 더보기