EC224 [AWS/EC2] Proxy Setup user_data (Linux, Windows) # Linux# linux.sh#!/bin/bashPROXY_URL="http://proxy.domain:3128"NO_PROXY="169.254.169.254,localhost,127.0.0.1,.svc.cluster.local,.amazonaws.com,172.16.0.0/12,10.0.0.0/8,192.168.0.0/16,.internal"echo "export http_proxy=$PROXY_URL" | tee -a /etc/profile.d/proxy.shecho "export https_proxy=$PROXY_URL" | tee -a /etc/profile.d/proxy.shecho "export no_proxy=$NO_PROXY" | tee -a /etc/profile.d/proxy.shso.. 2024. 7. 9. [AWS/EC2/Quota] You have requested more vCPU capacity than your current vCPU limit of 64 allows for the instance bucket that the specified instance type belongs to. p4d.24xlarge EC2를 만들 일이 있었는데, 아래와 같은 에러가 났다. Instance launch failed You have requested more vCPU capacity than your current vCPU limit of 64 allows for the instance bucket that the specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit. Instance launch failed You have requested more vCPU capacity than your current vCPU.. 2024. 4. 11. [PostgreSQL] Docker로 뜬 PostgreSQL DB -> RDS data 마이그레이션 # 상황 EC2 위에 도커로 PostgreSQL DB가 하나 돌아가던게 있었음. -> RDS로 마이그레이션 필요 진행 방식 : EC2 접속 > 도커 접속 > 디비 덤프 > 덤프파일 가져와서 RDS로 Restore EC2 접속은 gossm 사용함. # Docker로 띄운 PostgreSQL DB 접근 및 백업 ## gossm으로 EC2 접속 후 진행 # postgres docker 접속 sudo docker exec -it postgres /bin/bash # 도커 내에서 db backup 후 exit echo $POSTGRES_USER echo $POSTGRES_PASSWORD pg_dumpall -U $POSTGRES_USER > pg_dumpall_20230915.backup exit # 도커 내 백.. 2023. 9. 15. [Terraform/AWS] EC2를 Directory Service에 Seamlessly하게 join시키기 콘솔에서 진행 시엔 적절한 EC2 Role과 Directory Service를 지정해주면 된다. 그러나 API로는 EC2 생성 시 Directory Service를 연결해주는 옵션이 없고, SSM Document를 사용해야 한다. locals { domain = "honglab.com" ec2role_policies = [ "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore", "arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess", ] } ## Directory Service resource "aws_directory_service_directory" "this" { name = local.domain ## 필.. 2023. 1. 16. [AWS Windows] Windows EC2 AMI 뜨기 전 Sysprep 설정 (비밀번호 초기화) 문제 상황 Windows EC2 의 AMI를 뜨게 되면, 해당 AMI로 EC2를 시작할 때 Key를 지정해준다 한들 기존 서버에 접속하던 비밀번호로만 접속할 수 있다 -> AMI 뜨기 전 Sysprep을 설정해주면 된다 Sysprep? : https://docs.microsoft.com/ko-kr/windows-hardware/manufacture/desktop/sysprep-process-overview 잘 설명할 순 없지만, 일단 초기화 같은 느낌이라고 생각하면 될 것 같다 하는 법 EC2LaunchSettings 검색 후 실행 Shutdown with Sysprep 이후 AMI를 뜨면 새 키를 지정하는 대로 해당 서버를 시작할 수 있다 끝 2021. 11. 5. [AWS] Code Series로 Terraform CI/CD 환경 구성해보기 들어가면서 AWS Code Series란? AWS의 CodeCommit, CodeBuild, CodeDeploy, CodePipeline을 통칭하는 단어 CodeCommit : AWS의 GitHub (버전 관리 서비스) - [AWS] CodeCommit 사용법 참고 CodeBuild : 소스코드 컴파일해주고 빌드해주는 서비스 (Source Repository의 buildspec.yml 파일대로 빌드) CodeDeploy : 배포하고자 하는 대상(Application)을 Deployment Group으로 배포시켜줌 (appspec.yml 파일대로) 가능 배포 대상 : EC2/On-premis, Lambda, ECS CodePipeline : Source - Build - Deploy 과정을 관리해주는 서비.. 2021. 9. 18. [AWS] Linux EC2 기본 User Name 정리 Amazon Linux, SUSE, RHEL : ec2-user Ubuntu : ubuntu CentOS : centos Fedora : fedora Debian : admin https://err-bzz.oopy.io/75f5dda3-e698-45fb-9256-ada1cb77603a [요약] Linux EC2 기본 User Name Amazon Linux, SUSE, RHEL : ec2-user err-bzz.oopy.io 2021. 7. 20. [AWS] AWS EC2에 접속하는 방법 5가지 (SSH, RDP) 팀블로그에 작성한 글입니다 1. 제일 추천 - mobaXterm (SSH, RDP, SFTP 등 한꺼번에 사용 가능) https://err-bzz.oopy.io/223a9c02-7ac2-498c-afde-01db6cf873ae [강추] mobaXterm으로 Linux, Windows Server 접속 mobaXterm이란? err-bzz.oopy.io 2. SSH 접속 (Linux) 2-1) PuTTY 사용 https://err-bzz.oopy.io/00a79413-34fd-402d-9adc-e30c84b64ddc PuTTY로 Linux Server 접속 PuTTY란? err-bzz.oopy.io 2-2) cli 명령 사용 (Linux, Windows) https://err-bzz.oopy.io/87aa.. 2021. 7. 19. [AWS] Session Manager로 Private EC2 접속하기 기존에 Session Manager로 EC2에 접속하는 글들을 몇 번 썼었다 [AWS] Session Manager 설치해보기 1 (CentOS 8) [AWS] Session Manager 설치해보기 2 (Windows Server 2019) [AWS] Session Manager로 RDP 접속하기 (Windows Server) 굉장히 쉽다. 서버 안에 ssm agent만 깔려있고 해당 EC2에 EC2RoleforSSM 정책이 붙은 역할만 붙여주면 된다 그러나 이는 인터넷 연결이 되는 서버에 한한 방법이었다 (나도 몰랐음) Private EC2에 Session Manager 붙는법 참고 https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-syst.. 2021. 6. 22. [AWS EC2] Marketplace AMI id 알아내는 법 문제 상황 테라폼이나 CLI로 EC2를 생성할 땐, AMI id가 필요하다 그렇지만... 치사하게 Marketplace의 AMI들은 id를 보여주질 않는다 물론 콘솔에서 직접 해당 AMI를 가지고 인스턴스를 생성하면 AMI id를 확인할 수 있겠지만, 매번 그런식으로 확인을 하기엔 지나치게 비효율적이다 해결 제품 세부 정보 페이지로 이동 Continue to Subscribe 클릭 (구독을 해야지만 id를 보여주는 듯하다) 참고로 구독은 돈 나가는거 아니니까 걍 눌러도 된다 이런 페이지가 뜨면 가운데의 Accept Terms를 한 번 눌러주고, 오른쪽 상단의 Continue to Configuration 버튼이 활성화될 때 까지 기다려준 후 클릭해주자 원하는 버전과 리전만 선택해주면 AMI id를 확인할.. 2021. 5. 25. [Terraform on AWS] VPC, Subnet Module 만들어서 사용하기 GitHub에서 코드 바로 실행해보기 지난 글에서 테라폼을 사용해 VPC 및 EC2 등의 리소스들을 생성해 보았다 그러나, 저렇게 만들어 놓은 코드들은 재사용하기가 어렵다 테라폼 모듈을 이용해서 재사용하기 쉽게 만들어보자 목차 1. 테라폼 모듈 간단 설명 2. 테라폼 모듈 간단 체험 (VPC) 3. VPC, Subnet 모듈화 1. 테라폼 모듈 간단 설명 모듈은 폴더 단위 이다 해당 폴더 내의 모든 구성 파일들이 하나의 모듈이 되는 것 그래서 난 VPC, Public Subnet, Private Subnet, EC2 등등 각각 폴더를 만들어 모듈화를 할 것이다 모듈로 쓸 파일이 수정되었다면 terraform get 명령을 통해 변경사하을 동기화해야 한다 모듈 구문의 기본 문법은 아래와 같다 module .. 2021. 3. 24. [Terraform on AWS] 간단한 VPC 구성 & 웹서버용 EC2 생성하기 테라폼으로 간단한 네트워크 구성을 해보겠다 생성할 것 VPC : 10.0.0.0/16 Subnet Public : 10.0.1.0/24, igw와 연결 Private : 10.0.10.0/24, NAT gw와 연결 EC2 Public(WebServer용) : httpd 실행, 22/80 포트 오픈 Private(DB용) : WebServer에서의 22 포트 오픈 (DB 설치는 pass...) 1. init.tf provider "aws" { region = "ap-northeast-2" } data "aws_availability_zones" "available" { state = "available" } 기본 프로바이더와 가용 영역을 설정해주었다 프로바이더 구문에서 AWS ACCESS KEY와 SECR.. 2021. 3. 23. [Terraform on AWS] 테라폼 채움 참조, 변수(variable), output 사용 참조 : 책 Terraform Up & Running 코드 깃헙 주소 : github.com/stitchlabio/terraform-up-and-running-code 테라폼 기본 설정은 지난 글을 참조하자 Requirements AmazonEC2FullAccess 권한이 있는 IAM User 기본 VPC (버지니아 북부 : us-east-1) 생성할 리소스 특정 포트를 열어놓는 보안 그룹 EC2 해당 포트로 접속하면 Hello, World를 보여주는 User Data 위에서 설명한 보안 그룹 연결 목차 1. 채움 참조(interpolation)를 사용해 리소스 생성 2. 변수를 사용해 리소스 생성 3. 더 다양한 variable 1. 채움 참조를 사용해 리소스 생성 provider "aws" { reg.. 2021. 3. 19. [AWS] Lambda로 EC2 Start/Stop + CloudWatch 규칙으로 트리거 >> Lambda 코드만 모아둔 GitHub 0. 기본 구성 기본 VPC에 EC2 2개 만들어놓고 진행하겠다 EC2 인스턴스 id들은 복사해두자 1. IAM 정책 생성 Lambda 함수에서 EC2를 시작/중지 시킬 수 있는 role을 만들어야 하기 때문에 정책을 먼저 만들어주겠다 IAM > 정책 > 정책 생성 > JSON으로 들어가 아래의 코드로 변경 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow".. 2021. 1. 19. [AWS] Transit Gateway 사용해보기 (+ VPC Peering과 다른 점) 서로 다른 VPC에서 사설 IP로 통신을 하기 위해선 VPC 피어링을 사용하면 된다 그러나, 두세개 정도가 아닌 훨씬 많은 VPC들을 전부 연결해주려면 너무 복잡하고 일이 많아진다 이럴 땐 Transit Gateway를 쓰면 한번에 라우팅을 관리할 수 있다 이러면 사실 VPC Peering을 왜 쓰냐고 할수도 있을텐데, Transit Gateway는 비싸다(...) 아무튼 Transit Gateway를 만들어보기 위해 VPC를 5개정도 만들어보겠다 스택을 생성할 때 마다 MainNumber만 알아서 다르게 해주면 자동으로 그에 맞는 VPC와 Subnet, EC2들이 생성된다 1. VPC 생성 아래와 같이 MainNumber 파라미터만 다 다르게 해서 생성해주자 2. 리소스 확인 Bastion 중 아무나에.. 2021. 1. 18. 이전 1 2 다음