공부/AWS

    [AWS] ec2 볼륨 수정

    [AWS] ec2 볼륨 수정

    EC2 를 프리티어 t2.micro 로 생성하면 기본 10Gb를 할당받는다. 이것저것 설치하고 사용하다보니 10Gb는 용량이 부족해 용량을 늘려서 사용하고자 한다. 볼륨 수정 EC2 -> 볼륨 -> 크기를 수정하고자 하는 볼륨 인스턴스 수정 볼륨을 수정하기 전에 인스턴스를 스냅샷을 통해 중요한 파일은 백업시켜둔다. optimiziong 으로 확장중인 것을 확인할 수 있다. 100% 나 사용중이 되면 사용 할 준비가 되는 것이다. 하드디스크가 20Gb 라고해서 C드라이브가 20Gb인것은 아니다. 전체 드라이브에서 일부분을 할당하고 나머지는 D드라이브처럼 사용한다. 늘어난 볼륨에 대해서 파티션 설정을 해주어야 한다. lsblk 명령어를 사용해 현재 볼륨 크기를 확인한다. sudo growpart /dev/x..

    [AWS] CodeDeploy Appspec.yml 설명 정리

    [AWS] CodeDeploy Appspec.yml 설명 정리

    Appspec hooks 섹션 BeforeInstall 대체 작업 세트가 생성되기 전에 작업을 실행하려면 이 항목을 사용합니다. 대상 그룹 하나가 원래 작업 세트와 연결됩니다. 테스트 리스너(선택 사항)가 지정된 경우 원래 작업 세트와 연결됩니다. 이 시점에서는 롤백이 불가능합니다. AfterInstall 대체 작업 세트가 생성되고 대상 그룹 중 하나가 연결된 후 작업을 실행하면 이 항목을 사용합니다. 테스트 리스너(선택 사항)가 지정된 경우 원래 작업 세트와 연결됩니다. 이 수명 주기 이벤트에서 후크 함수의 결과는 롤백을 트리거할 수 있습니다. AfterAllowTestTraffic 테스트 리스너가 대체 작업 세트에 트래픽을 제공한 후 작업을 실행하려면 이 항목을 사용합니다. 이 시점에서 후크 함수의 ..

    [AWS] codedeploy-agent 사용 시 ec2에서 디스크 공간 절약 및 관리

    [AWS] codedeploy-agent 사용 시 ec2에서 디스크 공간 절약 및 관리

    CodeDeploy 에이전트는 인스턴스에 개정 및 로그 파일을 보관한다. CodeDeploy 에이전트는 이러한 아티팩트를 정리해 디스크 공간을 절약한다고 한다. 다음 경로에 개정, 배포 기록 및 배포 스크립트를 인스턴스의 루트 디렉터리에 저장되고 있다. /opt/codedeploy-agent/deployment-root 처음에는 용량이 필요하기 때문에 이전 로그가 필요하지 않아 모든 기록을 지웠다. 근데 위에와 같이 정보를 지우고 codeDeploy 를 실행하니 다음과 같은 에러메시지가 나왔다. appspec.yml을 찾지 못해서 생기는 오류이다. 임시방편으로 에러에 나온 경로에 appspec.yml을 복사해서 넣어주었다. 다음과 같은 에러가 나온 것은 CodeDeploy는 이전에 배포된 애플리케이션의 ..

    [AWS] codepipeline github 계정 연결하기

    [AWS] codepipeline github 계정 연결하기

    프로필이미지를 클릭 후 Settings 로 이동한다. 왼쪽 메뉴에서 Applications로 이동해 AWS Connector for GitHub 가 있는지 확인한다. AWS Connector for GitHub가 없으면 AWS 로 이동해서 개발자 도구 -> 설정 -> 연결 에서 깃허브를 연결해준다. Configure로 이동해서 repository 를 선택하면된다. 모든 레포를 허용해도 되고, 원하는 레포만 선택해서 사용해도 된다.

    [codeDeploy] bundle.tar has zero size. Did you mean to pass the create flag?

    [codeDeploy] bundle.tar has zero size. Did you mean to pass the create flag?

    codeDeploy + s3 DownloadBundle 부분에서 아래와 같은 에러가 발생했다. codeDeploy를 사용하기 위해선 appspec.yml 파일이 필요한데 다음과 같은 파일이 부재해서 생기는 에러이다. 루트 디렉토리에 appspec.yml 파일을 추가하고 s3 경로가 틀리진 않았는지 확인한다.

    [AWS error]COMMAND_EXECUTION_ERROR: Error while executing command: aws s3 cp --recursive dist/ s3://filename/. Reason: exit status 255

    [AWS error]COMMAND_EXECUTION_ERROR: Error while executing command: aws s3 cp --recursive dist/ s3://filename/. Reason: exit status 255

    COMMAND_EXECUTION_ERROR: Error while executing command: aws s3 cp --recursive dist/ s3://filename/. Reason: exit status 255 CodeBuild가 ECR에서 image를 가져올 때 권한이 없다. CodePipeline의 build 단계에서 생성된 build role에 AmazonEC2ContainerRegistryPowerUser 권한을 추가한다.

    [AWS] -bash: /home/ec2-user/.local/bin/aws: /usr/bin/python3: bad interpreter: No such file or directory

    -bash: /home/ec2-user/.local/bin/aws: /usr/bin/python3: bad interpreter: No such file or directory 다음과 같은 에러메세지는 기본 파이썬 인터프리터 경로에 문제가 생겼거나 파이썬 버전업 등의 이유로 가리키고 있는 경로에 실행파일이 존재하지 않아서 생기는 문제이다. 아래와 같이 심볼릭 링크를 생성하면 문제를 해결할 수 있다. ln -s /usr/bin/python2.7 /usr/bin/python # 심볼릭 링크 조회 ls -l /usr/bin/py* # 심볼릭 링크 삭제 rm -f /usr/bin/python2.7 # 심볼릭 링크 생성 sudo ln -s /usr/bin/python3.7 /usr/bin/python3

    [AWS] Missing credentials - please check if this instance was started with an IAM instance profile

    CodeDepoly 에서 CodeDeploy Agent 가 실행되지 않았다면서 오류가 났다. CodeDeploy agent was not able to receive the lifecycle event. Check the CodeDeploy agent logs on your host and make sure the agent is running and can connect to the CodeDeploy server. CodeDeploy Agent 는 실행되어 있는데 다음과 같은 에러가 나서 CodeDeploy Agent 상태도 확인해 보고, ec2에 접속해 로그 내용을 확인해 봤다. sudo service codedeploy-agent status cat /var/log/aws/codedeploy-ag..

    [AWS] CodeDeploy 사용해서 EC2에 배포하기

    [AWS] CodeDeploy 사용해서 EC2에 배포하기

    Code Deploy Agent 용 사용자 추가 EC2 가 Code Deploy 이벤트를 수신할 수 있도록 Agent를 설치해야 한다. 먼저 EC2에서 AWS CLI를 사용할 수 있도록 IAM 사용자를 하나 추가한다. - IAM 정책이 적용된 그룹 생성 - 해당 그룹에 사용자 추가 CodeDeploy를 위한 EC2 Role 만들기 AmazonS3FullAccess AWSCodeDeployFullAccess AWSCodeDeployRole CloudWatchLogsFullAccess Code Deploy용 Role 생성 IAM에서 역할 만들기를 선택한다. AmazonS3FullAccess : AWS Management 콘솔을 통해 모든 버킷에 대한 전체 액세스를 제공한다. AWSCodeDeployFullA..

    Could not contact any CDS load balancers: https://rhui3.ap-northeast-2.aws.ce.redhat.com/pulp/content/.

    EC2(RHEL)에서 yum을 실행할 때 Could not contact any CDS load balancers 오류가 발생할 경우 대응 EC2에서 작성된 RHEL에서 yum을 실행하는 동안 다음과 같은 오류가 발생했다. Could not contact any CDS load balancers: https://rhui3.ap-northeast-2.aws.ce.redhat.com/pulp/content/. 버전을 최신판으로 바꾸어 사건을 해결할 수 있다. $ sudo yum install --downloadonly --downloaddir=/root/ rh-amazon-rhui-client.noarch $ sudo yum remove -y rh-amazon-rhui-client $ sudo rpm -iv..