DevOps & Cloud Engineering(222)
-
Phase context status code: YAML_FILE_ERROR Message: Unknown runtime version named
- 개요 CodeBuild에서 사용되는 image는 어플리케이션 버전별로 다르게 관리 된다. buildspec에 명시된 run-time version이 codebuild image에서 지원을 안 할 경우 아래와 같이 에러가 발생한다. - 에러 메세지 Phase context status code: YAML_FILE_ERROR Message: Unknown runtime version named - 이미지 변경 방법 codebuild project 선택 -> Envirionment Edit -> Override image -> image 선택 - 참고 https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html
2022.10.19 -
Cloudfront Origin Access Control
- 개요 CloudFront 접근 제어 및 보안 강화를 위한 방법으로 기존의 OAI 다음으로 나온 OAC에 대해 정리 했다. - Origin Access : Create control setting Signing behavior Sign requests (recommended) Create Bucket Policy -> Copy policy - S3 bucket policy { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipal", "Effect": "Allow", "Principal": { "Service": "cloudfront.a..
2022.10.14 -
VPC mirate IPv6
- 개요 VPC에 ipv6를 추가하는 방법에 대해 정리 - 방법 VPC IPv6 CIDRs 추가 Subnet IPv6 CIDRs 추가 Subnet DNS64 enable Routing Table IPv6 추가 EC2 IPv6 추가 Security Group Rule IPv6 추가 - 비고 EC2 instance type이 예전 세대일 경우 IPv6추가가 안될 수 있으므로, Instance Type 변경 - 참고 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html
2022.10.13 -
AMI 연결이 안되어있는 Snapshot 찾기 (Orphaned)
- 개요snapshot은 ec2를 삭제하거나 AMI를 삭제해도 같이 삭제되지 않으며 연결되어 있거나 사용중인지 확인 하는게 까다롭다. 또한 사용도 안되고 과금만 되고 있는 경우가 대부분이다. 아래는 AMI에 연결되어 있지 않는 snapshot을 확인하는 스크립트 이다. - 스크립트 <pre id="code_1665625404803" class="bash..
2022.10.13 -
s3 파일 다운로드 없이 CLI로 간단히 보는 방법
- 개요 S3에 있는 object는 download를 하지 않으면 내용을 볼 수가 없다. 아래는 S3 object를 download 없이 간단히 확인할 수 있는 방법이다. - 확인 방법 aws s3 cp --quiet s3:///foo_bar.txt /dev/stdout
2022.10.12 -
AWS ECS service last event
- 개요 ECS의 Service의 상태를 확인하는 가장 효과적인 방법은 최근 event 를 확인하는 것이다. 아래는 사용하고 있는 전체 ECS Service의 마지막 event log를 확인하는 스크립트 이다. - 스크립트 #!/bin/bash declare -a ecscluster=$(aws ecs list-clusters | awk -F / '{print $2}' | tr -d '",' | awk NF) region=`aws configure get profile.default.region` for i in ${ecscluster[@]} do for service in $(aws ecs list-services --cluster $i | awk -F / '{print $3}' | tr -d '",' ..
2022.10.12 -
EC2 추가 disk mount
- 개요 EC2는 Disk를 늘리는 것도 가능하지만 EBS disk를 추가로 붙혀서 mount 하는 방법도 가능하다. - 디스크 추가 후 Mount 하는 방법 ##### [ec2-user@127.0.0.1 ~]# file -s /dev/nvme1n1 /dev/nvme1n1: data [ec2-user@127.0.0.1 ~]# file -s /dev/nvme0n1 /dev/nvme0n1: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 209715199 sectors, extended partition table (last)\011, code offset 0x63 ##### [ec2-user@127.0.0.1 ~]# lsblk -f N..
2022.10.11 -
changing docker data root directory
- 개요 Linux에서 docker를 사용할 경우 default root directory를 바꾸는 방법이다. - docker data-root volume 변경 방법 /etc/docker/daemon.json { "data-root": "/data-root", } - 비고 docker version 이 올라가면서 volume 명칭이 graph에서 data-root로 변경되었다
2022.10.11 -
대상 서버 파일시스템중에 사용량이 80%이 넘는 목록 확인
- 개요 Linux 파일 시스템을 용량 관리는 상당히 중요하다. 아래는 대상 서버에 mount 되어 있는 파일시스템중에 80%가 넘는 목록을 확인하는 스크립트 이다. - 스크립트 #!/bin/bash host_list=(host1, host2) for i in ${host_list[@]} do v=$(ssh $i 'df -t xfs -t ext4 --output=target,pcent | egrep "([80][0-9]|[90][0-9]|100)%" | grep -v loop' 2>/dev/null ) if [ $? == 0 ]; then echo -e $i, $v else echo pass fi done - 참고 ssh options https://happyengine.tistory.com/47
2022.10.06 -
aws cli error (An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials)
- 개요 AWS CLI는 파일 변조 및 정합성을 위해 서버 시간과 서버 타임존이 AWS Config에 설정된 값과 일치 하지 않으면 에러가 발생한다. - 에러 메세지 An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials - 해결 (WSL, ubuntu) ## chrony apt -y install chrony systemctl start chrony systemctl enable chrony ## hwclock hwclock -s echo hwclock -s >> .bashrc ## ntpdate apt inst..
2022.10.06