From b2f3752666f19a3d56da7d7b65af6ba837e1d095 Mon Sep 17 00:00:00 2001 From: youngookkim Date: Wed, 17 Jan 2024 09:29:33 +0900 Subject: [PATCH] docs(blueprint): instructions in korean (#94) * docs(blueprint): instructions in korean * docs(blueprint): graviton2 perf sheet --- examples/blueprint/README.ko.md | 31 +++++++++++++++++-------------- examples/blueprint/README.md | 7 +++++-- images/aws-graviton2-perf.png | Bin 0 -> 49337 bytes 3 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 images/aws-graviton2-perf.png diff --git a/examples/blueprint/README.ko.md b/examples/blueprint/README.ko.md index 45dd979..80d29c4 100644 --- a/examples/blueprint/README.ko.md +++ b/examples/blueprint/README.ko.md @@ -1,9 +1,10 @@ [[English](README.md)] [[한국어](README.ko.md)] -# EC2 Bluprint -This is EC2 Blueprint example helps you compose complete EC2 clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads. With this EC2 Blueprint example, you describe the configuration for the desired state of your EC2 environment, such as the control plane, worker nodes, and applications, as an Infrastructure as Code (IaC) template/blueprint. Once a blueprint is configured, you can use it to stamp out consistent environments across multiple AWS accounts and Regions using your automation workflow tool, such as Jenkins, CodePipeline. Also, you can use EC2 Blueprint to easily bootstrap an EC2 cluster with user-data for initial configuration whatever you want on your instance. EC2 Blueprints also helps you implement relevant security controls needed to operate workloads from multiple teams in the same cluster. +# EC2 블루프린트(Blueprint) +EC2 블루프린트 예제는 EC2 워크로드를 배포하고 운영하기 위해 필요한 소프트웨어를 자동으로 설정하는 과정을 돕는 예제입니다. EC2 블루프린트를 활용하면, 여러 분이 원하는 설정의 EC2 실행환경을 인프라스트럭처 코드(Infrastructure as Code, IaC)의 템플릿/청사진 형태로 만들 수 있습니다. 한 번 블루프린트를 설정했다면, 여러 분은 젠킨스(Jenkins) 또는 코드파이프라인(CodePipeline)과 같은 자동화 도구를 활용하여 필요에 따라 여러 AWS 계정 또는 리전에 같은 환경을 찍어낼 수 있습니다. 또한 여러 분은 EC2 블루프린트를 활용하여 EC2 user-data에 원하는 초기 설정을 등록하여 실행할 수 있습니다. 그리고 EC2 블루프린트는 여러 분이 동일한 클러스터를 여러 팀에게 제공해야 하는 워크로드를 운영해야 할 때 필요한 보안관련 사항들을 쉽게 구축하는 것을 도와줍니다. -## 필수 준비사항 +## 설치 +### 필수요소 이 모듈에서 사용하는 스크립트에서는 웜풀의 변경사항을 조회해서 보여주는 기능을 제공합니다. 이 스크립트 내부에서는 `DescribeScalingActivities` API 응답 JSON 값을 분석하고, 기록된 시간 정보들로부터 작업 시간을 측정하기 위하여 몇 가지 도구를 사용합니다. [jq](https://stedolan.github.io/jq/download/)와 [dateutils](http://www.fresse.org/dateutils/)을 설치합니다. **macOS** @@ -11,32 +12,34 @@ This is EC2 Blueprint example helps you compose complete EC2 clusters that are f brew install jq dateutils ``` -## Setup -### Download -Download this example on your workspace +### 내려받기 +여러 분의 작업 환경에 예제를 내려받기 합니다. ``` git clone https://github.com/Young-ook/terraform-aws-ssm cd terraform-aws-ssm/examples/blueprint ``` -Then you are in **blueprint** directory under your current workspace. There is an exmaple that shows how to use terraform configurations to create and manage an EC2 cluster and utilities on your AWS account. Check out and apply it using terraform command. If you don't have the terraform and kubernetes tools in your environment, go to the main [page](https://github.com/Young-ook/terraform-aws-ssm) of this repository and follow the installation instructions before you move to the next step. +작업이 끝나면 **blueprint** 디렉토리를 볼 수 있습니다. 디렉토리 안에 있는 예제에는 EC2 클러스터와 추가 요소를 설치하고 관리하기 위한 테라폼(terraform) 설정 파일과 기타 자원이 있습니다. 다음 단계로 넘어가기 전에 테라폼이 제대로 설치 되어 있는 지 확인합니다. 만약, 테라폼이 여러 분의 환경에 없다면, 다음 단계로 이동하기 전에 메인 [페이지](https://github.com/Young-ook/terraform-aws-ssm)의 안내에 따라 설치하시기 바랍니다. -Run terraform: +테라폼을 실행합니다: ``` terraform init terraform apply ``` -Also you can use the *-var-file* option for customized paramters when you run the terraform plan/apply command. +또는, *-var-file* 옵션을 활용하여 원하는 파라메터를 전달할 수 있습니다. ``` terraform plan -var-file fixture.tc1.tfvars terraform apply -var-file fixture.tc1.tfvars ``` ## 컴퓨팅 옵션 -### AWS 그래비톤 -[AWS 그래비톤](https://aws.amazon.com/ec2/graviton/) 프로세서는 are custom built by Amazon Web Services using 64-bit ARM Neoverse cores to deliver the best price performance for you cloud workloads running on Amazon EC2. The new general purpose (M6g), compute-optimized (C6g), and memory-optimized (R6g) instances deliver up to 40% better price/performance over comparable current generation x86-based instances for scale-out and Arm-based applications such as web servers, containerized microservices, caching fleets, and distributed data stores that are supported by the extensive Arm ecosystem. You can mix x86 and Arm based EC2 instances within a cluster, and easily evaluate Arm-based application in existing environments. Here is a useful [getting started](https://github.com/aws/aws-graviton-getting-started) guide on how to start to use AWS Graviton. This github repository would be good point where to start. You can find out more details about how to build, run and optimize your application for AWS Graviton processors. +### AWS 그래비톤 (Graviton) +[AWS 그래비톤 (Graviton)](https://aws.amazon.com/ec2/graviton/) 프로세서는 Amazon EC2에서 실행되는 클라우드 워크로드를 최고의 가격 대비 성능을 제공하기 위해 64비트 ARM Neoverse 코어를 사용하여 Amazon Web Services에서 맞춤 제작한 했습니다. 새로운 범용(M6g), 컴퓨팅 최적화(C6g), 메모리 최적화(R6g) 인스턴스는 웹 서버, 컨테이너형 마이크로서비스, 캐싱 플릿, 분산 데이터 스토어와 같은 스케일아웃 및 Arm 기반 애플리케이션을 위해 동급의 현세대 x86 기반 인스턴스 대비 최대 40% 향상된 가격 대비 성능을 제공하며, 광범위한 Arm 에코시스템에서 지원됩니다. 클러스터 내에서 x86 및 Arm 기반 EC2 인스턴스를 혼합할 수 있으며, 기존 환경에서 Arm 기반 애플리케이션을 쉽게 평가할 수 있습니다. 다음은 AWS Graviton 사용을 시작하는 방법에 대한 유용한 [시작하기](https://github.com/aws/aws-graviton-getting-started) 가이드입니다. AWS Graviton 프로세서를 위한 애플리케이션 빌드, 실행 및 최적화 방법에 대한 자세한 내용을 GitHub 저장소의 가이드에서 확인할 수 있습니다. -## Applications +![aws-graviton2-perf](../../images/aws-graviton2-perf.png) +*source*: [AnandTech](https://www.anandtech.com/show/15578/cloud-clash-amazon-graviton2-arm-against-intel-and-amd) + +## 애플리케이션 - [웜풀](./apps/README.ko.md#EC2-오토스케일링-그룹-웜풀) ## 정리 @@ -45,12 +48,12 @@ terraform apply -var-file fixture.tc1.tfvars terraform destroy ``` -If you don't want to see a confirmation question, you can use quite option for terraform destroy command +삭제 명령을 수행하기 전에 재차 확인하는 과정이 있는데, 이 부분을 바로 넘기려면 테라폼 옵션을 활용할 수 있습니다. ``` terraform destroy --auto-approve ``` -만약 *-var-file* 옵션을 사용해서 자원을 생성했다면, 삭제할 때도 같은 변수를 **반드시** 사용해야 합니다. 꼭 잊지말고 생성할 때 사용한 변수를 지정해서 자원을 삭제합니다. +**[주의]** 여러 분이 자원을 생성할 때 *-var-file*을 사용했다면, 삭제 할 때에도 반드시 같은 변수 파일을 옵션으로 지정해야 합니다. ``` terraform destroy -var-file fixture.tc1.tfvars ``` diff --git a/examples/blueprint/README.md b/examples/blueprint/README.md index 4077311..204de4d 100644 --- a/examples/blueprint/README.md +++ b/examples/blueprint/README.md @@ -3,7 +3,8 @@ # EC2 Bluprint This is EC2 Blueprint example helps you compose complete AWS Systems Manager managed EC2 clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads. With this EC2 Blueprint example, you describe the configuration for the desired state of your EC2 environment, such as the control plane, worker nodes, and applications, as an Infrastructure as Code (IaC) template/blueprint. Once a blueprint is configured, you can use it to stamp out consistent environments across multiple AWS accounts and Regions using your automation workflow tool, such as Jenkins, CodePipeline. Also, you can use EC2 Blueprint to easily bootstrap an EC2 cluster with user-data for initial configuration whatever you want on your instance. EC2 Blueprints also helps you implement relevant security controls needed to operate workloads from multiple teams in the same cluster. -## Prerequiesites +## Setup +### Prerequiesites This example creates a script to display warm pools activities. This script uses a couple open source tools to parse the JSON response from a `DescribeScalingActivities` API call. Ensure you have [jq](https://stedolan.github.io/jq/download/) and [dateutils](http://www.fresse.org/dateutils/) installed in your environment. **macOS** @@ -11,7 +12,6 @@ This example creates a script to display warm pools activities. This script uses brew install jq dateutils ``` -## Setup ### Download Download this example on your workspace ``` @@ -36,6 +36,9 @@ terraform apply -var-file fixture.tc1.tfvars ### AWS Graviton [AWS Graviton](https://aws.amazon.com/ec2/graviton/) processors are custom built by Amazon Web Services using 64-bit ARM Neoverse cores to deliver the best price performance for you cloud workloads running on Amazon EC2. The new general purpose (M6g), compute-optimized (C6g), and memory-optimized (R6g) instances deliver up to 40% better price/performance over comparable current generation x86-based instances for scale-out and Arm-based applications such as web servers, containerized microservices, caching fleets, and distributed data stores that are supported by the extensive Arm ecosystem. You can mix x86 and Arm based EC2 instances within a cluster, and easily evaluate Arm-based application in existing environments. Here is a useful [getting started](https://github.com/aws/aws-graviton-getting-started) guide on how to start to use AWS Graviton. This github repository would be good point where to start. You can find out more details about how to build, run and optimize your application for AWS Graviton processors. +![aws-graviton2-perf](../../images/aws-graviton2-perf.png) +*source*: [AnandTech](https://www.anandtech.com/show/15578/cloud-clash-amazon-graviton2-arm-against-intel-and-amd) + ## Applications - [Warm Pools](./apps/README.md#ec2-auto-scaling-warm-pools) diff --git a/images/aws-graviton2-perf.png b/images/aws-graviton2-perf.png new file mode 100644 index 0000000000000000000000000000000000000000..671450259ea28cd5fd07c03741cfe874c9b6f6aa GIT binary patch literal 49337 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

JjJ$hjlQ0nOS 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