ํ์ฌ ์นด์นด์ค๋ฑ ํฌ์์ ํด๋ผ์ฐ๋ ์์ง๋์ด(SRE)๋ก ๊ทผ๋ฌดํ๊ณ ์์ต๋๋ค. ์๋น์ค๋ฅผ ์ํ ์ํคํ ์ฒ๋ฅผ ์ค๊ณ/์ ๊ณตํ๊ณ , ์กฐ์ง์์ ํ์ํ ๋ค์ํ ๋๊ตฌ๋ค์ ๋ง๋ค๊ณ ์ ๊ณตํ๊ฑฐ๋ ๊ตฌ์ถํ๋ ๋ฑ์ ์ผ์ ํ๊ณ ์์ต๋๋ค.
๋ฌธ์: 7424069@gmail.com
Courses
Reviews
- Getting Started with Docker and Containers
- Cloud Security Programming for Practical Use (AWS, Python, Terraform)
- Cloud Security Programming for Practical Use (AWS, Python, Terraform)
- Understanding and Securing AWS Cloud IAM in Practice
- Building AWS FinOps Applications Using Python
Posts
Q&A
terraform destroy ๋ก s3 bucket์ ์ญ์ ํ ๊ฒฝ์ฐ
์๋ ํ์ธ์.์ข์ ์ง๋ฌธ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋จผ์ .. ๊ฒฝํํ๊ธฐ ์ด๋ ค์ด ์ผ์ ๋นํ์ ์ ๋ง์ด ๋นํฉํ์ จ์ ๊ฒ ๊ฐ์ต๋๋ค.https://stackoverflow.com/questions/79581321/terraform-thinks-s3-bucket-has-been-deleted-after-adding-a-bucket-policy์ ๋งํฌ๋ฅผ ๋ณด๋ฉด ๊ทผ๋ณธ ์์ธ์ ์ค๋ช ํ๊ณ ์๋๋ฐ์. ๊ฐ๋จํ๋ง ๋ง์๋๋ฆฌ๋ฉด,S3 HeadBucket API๋ ๋ฒํท์ด ์๋ ๊ฒ๊ณผ ๊ถํ์ด ์๋ ๊ฒ์ ๊ตฌ๋ถํ์ง ์์์ ๊ทธ๋ ์ต๋๋ค.ํ์ฌ ์ฝ๋๊ฐ s3:ListBucket API์ ๋ํด์ Deny ํ๋ ์ ์ฑ ์ด๋ค ๋ณด๋ ์์ฑ์ ์ ์์ ์ผ๋ก ๋๋๋ฐ, ์ญ์ ํ๋ ๊ฒฝ์ฐ์๋ ๊ถํ์ด ์๋ ๊ฒ์์๋ ๋ถ๊ตฌํ๊ณ ๋ฒํท์ด ์ ๊ฑฐ๋ ๊ฒ์ผ๋ก ํ๋จํ๊ฒ ๋๋๊ฑฐ์ฃ .๊ทธ๋ ๊ธฐ์ ์๋์ฒ๋ผ ์ ์ฑ ์ Allow ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝํด์ฃผ๋ฉด ์ ์์ ์ผ๋ก ๋์ํ๊ฒ ๋ฉ๋๋ค.data "aws_iam_policy_document" "test_bucket" { statement { sid = "Statement1" effect = "Allow" principals { type = "AWS" identifiers = ["*"] } actions = [ "s3:ListBucket", ] resources = [ "arn:aws:s3:::${var.bucket_name}", "arn:aws:s3:::${var.bucket_name}/*", ] condition { test = "StringLike" variable = "aws:PrincipalArn" values = [ # ์ฌ๊ธฐ์ account_id๋ฅผ ํ๋์ฝ๋ฉํ์ง ์๊ณ ์๋์ผ๋ก ๋ง์ถฐ์ค "arn:aws:iam::${data.aws_caller_identity.this.account_id}:role/*", ] } } }์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.์ฒ๊ฐ๋ฏผ ๋๋ฆผ.
- 1
- 1
- 18
Q&A
gitlab-ci.yml๊ณผ CI/CD ํ์ดํ๋ผ์ธ ๊น์ง ์๊ฐ์ค์ ๋๋ค.
์๋ ํ์ธ์. ๊ตฌ์ถ ํ๊ฒฝ ์ํ๋ฅผ ์ ๊ฐ ์ ์๊ฐ ์์ด์ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ์์คํฌ๋ฆฝ๋ง ์ ๊ณตํด๋๋ ค ๋ด ๋๋ค.GITLAB_PORT="80" GITLAB_VERSION="latest" GITLAB_HOME="/srv/gitlab" # Update system and install Docker echo "Installing Docker..." yum update -y yum install -y docker # Start Docker service echo "Starting Docker service..." systemctl start docker systemctl enable docker # Add ec2-user to docker group usermod -aG docker ec2-user # Create GitLab directories echo "Creating GitLab directories..." mkdir -p $GITLAB_HOME/{config,logs,data} docker run --detach \ --hostname "$INSTANCE_IP" \ --publish $GITLAB_PORT:80 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ --shm-size 256m \ gitlab/gitlab-ce:$GITLAB_VERSION echo "====================================" echo "GitLab Docker Setup Completed: $(date)" echo "====================================" echo "GitLab will be available at: http://$INSTANCE_IP:$GITLAB_PORT" echo "Initial setup may take 3-5 minutes..." echo "" echo "To get the initial root password:" echo " docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password" echo "" echo "To check GitLab logs: docker logs -f gitlab"์๋ฒ์์ ์์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด gitlab์ ๋์ธ ์ ์์ต๋๋ค.https, ์ด์ ๋ ๋ฒจ ์ค์ ๋ฑ์ ํ๊ฒฝ๋ง๋ค ๊ทธ๋ฆฌ๊ณ ์ ์ฑ ๋ง๋ค ๋ค๋ฅผ ์ ์์ด์ ์ด ์ ๋๋ก๋ง ์ ๊ณต๋๋ฆฌ๋ ์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค.๊ฐ์ฌํฉ๋๋ค.์ฒ๊ฐ๋ฏผ ๋๋ฆผ.
- 0
- 2
- 32
Q&A
์น์ 4 ํ๋ก์ ํธ ์ฝ๋
์๋ ํ์ธ์. ์๋ ๋งํฌ์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.https://github.com/cjsrkd3321/hands-on-aws-security/tree/main/Projects/anfw
- 1
- 1
- 46
Q&A
mysql ์ ์ ์๋ฌ
์๋ ํ์ธ์. ๊ฐ์์์ mysql์ ํ์ฉํ๋ ๋ถ๋ถ์ด ์๋๋ฐ ์ด๋ค ๋ถ๋ถ ์ค์ต ์งํํ์๋ค๊ฐ ๋งํ์ ๊ฑธ๊น์?
- 0
- 1
- 74
Q&A
PostgreSQL ์ค์ต์ ์๋ ์ค๋ฅ ๋ฐ์ํฉ๋๋ค.
์๋ ํ์ธ์.ํ์์์์๋ ์ญ์ฌ๋์ฌ๊ฐ ์๋๋ผ ๋ฐฑํฑ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์๋ ๋งํฌ ํ๊ณ ๋ถํ๋๋ ค์.https://hianna.tistory.com/691์๋๋ฉด, ๋ช ๋ น์ ํ ์ค๋ก ๋ง๋ค์ด ์ฌ์ฉํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.๊ด๋ จ ๋ด์ฉ์ ๊ฐ์ ์ฝ๋๋ค์ ์ฃผ์์ผ๋ก ๋ฃ์ด๋๊ฒ ์ต๋๋ค.์ธ์ฌํ ๊ณ ๋ คํ์ง ๋ชปํด ์ฃ์กํฉ๋๋ค.์ฒ๊ฐ๋ฏผ ๋๋ฆผ.
- 1
- 1
- 80
Q&A
๋์ปค๋ฅผ ์คํํ๊ธฐ ์ํด ๋ฌด์์ด ๋ ํ์ํ๊ฐ์?
์๋ ํ์ธ์!Windows์ ๊ฒฝ์ฐ ์ด์์ฒด์ ๋ฒ์ , WSL ๋๋ Hyper-V ์ฌ์ฉ ์ฌ๋ถ ๋ฑ์ ๋ฐ๋ผ ์์ธ์ด ๋ค๋ฅผ ์ ์๊ธฐ์ ํ์ค์น๋ ์์ง๋ง ๋ช ๊ฐ์ง ํ์ธ ๊ฐ๋ฅํ ๋ฐฉ์ ์ค๋ช ๋๋ฆด๊ฒ์! (๋์ปค ๋ฐ์คํฌํ ์ฑ์ด ์ ์์ ์ผ๋ก ์ค์น๋๊ณ ๋ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ํ์ธ ๋ฐฉ๋ฒ์ ์์ ๊ด๋ฆฌ์์์ Docker Desktop์ด ์ ์ ์คํ์ค์ธ์ง ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.)์๋์ฐํค -> ์์คํ ํ๊ฒฝ ๋ณ์ ํธ์ง -> ๊ณ ๊ธ -> ํ๊ฒฝ ๋ณ์ -> ํ๊ฒฝ ๋ณ์ ํธ์ง(Path) -> C:\Program Files\Docker\Docker\resources\bin ์ด ๋ฑ๋ก๋์ด ์๋์ง ํ์ธํด์ฃผ์ธ์.https://stackoverflow.com/a/73625821์ ๋งํฌ ์ฐธ๊ณ ํ์๋ฉด ์ฌ์ง์ด ์์ต๋๋ค.๋ง์ฝ 1๋ฒ์ด ์ ๋ฑ๋ก๋์ด ์๋ค๋ฉด, ์ปดํจํฐ ์ฌ๋ถํ ์ ํ ๋ฒ ์ํํด์ฃผ์ธ์.์ฌ๋ถํ ํ์๋ ์๋๋ค๋ฉด, 1๋ฒ์ C:\~ ๊ฒฝ๋ก์ docker๊ฐ ์๋์ง ํ์ธํด์ฃผ์ธ์.3๋ฒ์ docker๊ฐ ์๋ค๋ฉด ์ ์์ ์ผ๋ก ์ค์น๋์ง ์์ ๊ฒ์ด๊ณ , ๋ง์ฝ ์กด์ฌํ๋ค๋ฉด ํด๋น ๊ฒฝ๋ก์์ ํฐ๋ฏธ๋์ ์ด์ด์ ์ง์ ์คํํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.๋ง์ฝ 4๋ฒ์์ ์ง์ ์คํ์ด ๋๋ค๋ฉด 1๋ฒ์ ํ๊ฒฝ๋ณ์๊ฐ ์ ์์ ์ผ๋ก ๋์ํ์ง ์๋ ๊ฒ์ผ ์ ์์ต๋๋ค. ์์๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ฑ๋กํ ํ๊ฒฝ๋ณ์๊ฐ ์ฌ๋ฐ๋ฅธ์ง ๋ค์ ํ ๋ฒ ํ์ธ ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.์ฒ๊ฐ๋ฏผ ๋๋ฆผ.
- 1
- 2
- 124
Q&A
first before
์๋ ํ์ธ์. ์๋์ ๊ฐ์ด ์ค์ ํ๋ฉด ๊ฐ๋ฅํ๊ธด ํฉ๋๋ค.default: before_script: - echo "default" override: before_script: - "" script: - echo "job1 ์คํ"์ ํํ ์ด๋ค ๊ฒ์ ํ์๋ ค๋๊ฑด์ง๋ ๋ชฐ๋ผ์ ๊ธฐ๋ฅ์ ์ผ๋ก๋ง ์๊ฐ ๋๋ฆฝ๋๋ค. ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ต๋๋ค.(์ฌ์ง)์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.
- 1
- 1
- 59
Q&A
Private Subnet๊ณผ Gitlab
์๋ ํ์ธ์.์ง๋ฌธ์ฃผ์ ๋ด์ฉ์ ์ ๊ฐ ์ ๊ณตํ๋ ๊ฐ์์ ๊ด๋ จ ์๋ ๋ด์ฉ์ผ๋ก ๋ณด์ ๋๋ค.๋ํ, ํด๋น ๋ด์ฉ๋ค์ ์ ๋ฐ์ ์ธ ํ๊ฒฝ์ ๋ฐ๋ผ ๊ตฌ์ฑ์ด๋ ์ค์ ์ด ๋ฌ๋ผ์ง ์ ์์ ๊ฒ ๊ฐ์ ์ ๊ณตํด์ฃผ์ ๋ด์ฉ๋ง์ผ๋ก๋ ๋ต๋ณ๋๋ฆฌ๊ธฐ๋ ์ด๋ ค์ธ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.๊ฐ์ ๋ด์ฉ๊ณผ ๊ด๋ จ๋ ์ง๋ฌธ ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 190
Q&A
docker compose watch๊ฐ ์๋ ๋ช ๋ น์ด๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
์๋ ํ์ธ์!https://docs.docker.com/compose/how-tos/file-watch/์ ๋งํฌ ๋ณด๋ฉด ๋ฒ์ ์ด 2.22.0 ์ด์์ด์ด์ผ ๋๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.https://docs.docker.com/compose/install/linux/#update-compose์ ๋งํฌ ์ฐธ๊ณ ํ์ ์ ์ ๋ฐ์ดํธ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค!๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 203
Q&A
Bind Mount์์ ๋ง์ดํธ๊ฐ ๋์ง ์์ต๋๋ค. (ํ์ผ/๊ฒฝ๋ก ๋์ผ)
์๋ ํ์ธ์!๋๋ ํ ๋ฆฌ๋ฅผ ํ์ผ์ ๋ง์ดํธ ํ๋ ค ํ๊ฑฐ๋, ํ์ผ์ ๋๋ ํ ๋ฆฌ์ ๋ง์ดํธ ํ๋ ค ํ์ ๋ ๋ฐ์ํ๋ ์ค๋ฅ๋ก ๋ณด์ ๋๋ค.file index.html index.html: HTML document text, ASCII text file index.html index.html: directory์์ ๊ฐ์ด file ๋ช ๋ น์ ํตํด์,๋ก์ปฌ ๊ฒฝ๋ก์ ์กด์ฌํ๋ ๋ด์ฉ์ด ํ์ผ์ธ์ง ๋๋ ํ ๋ฆฌ์ธ์ง ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.(์ค๋ฅ๋ก ๋ด์๋ index.html์ด ๋๋ ํ ๋ฆฌ์ธ ๊ฒ ๊ฐ์ ๋ณด์ ๋๋ค.)๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 390








