AWS 리전과 리소스 식별자 살펴보기

AWSBeginner
지금 연습하기

소개

보고서 팀이 두 지역에서 애플리케이션을 운영합니다. 설정 이름은 같아도 각 지역에는 자체 서비스 레이블이 필요합니다. 두 설정을 생성하고 비교한 다음 값 하나를 변경하고 연습용 리소스만 삭제합니다.

먼저 LabEx에서 AWS 시작하기를 완료하세요. 여기서는 그 실습에서 익힌 Terminal, AWS CLI, 신원, 파라미터, AWS View의 기초를 활용합니다. 이 실습은 독립적으로 시작합니다. 도구와 연결은 준비되어 있으며 이전 파일, 리소스, 자격 증명은 재사용하지 않습니다.

Parameter Store는 이름이 있는 설정을 보관합니다. 생성할 /labex/onboarding/service-label은 비밀 정보가 아닌 일반 String입니다. 각 리전에는 실습과 무관한 /labex/reference/team 파라미터가 이미 있으므로 보존하세요. AWS View는 CLI로 조회하는 것과 동일한 리소스를 보여 줍니다.

인증 시험 관련 주제

이 실습은 다음 시험 주제에 대한 실습 경험을 제공합니다.

첫 번째 리전 리소스 생성하기

이 단계에서는 동부 리전에 애플리케이션 설정을 생성하고 AWS View에 나타나는 것을 확인합니다.

Terminal을 클릭하고 준비된 작업 공간으로 이동하세요.

cd /home/labex/project

이전 실습에서는 모든 요청이 한 지역을 사용했습니다. 팀은 세계 여러 지역의 사용자 가까이에서 애플리케이션을 운영할 수 있으므로 명령이 영향을 줄 지역을 선택해야 합니다. AWS **리전(Region)**은 서비스가 실행되는 지리적 구역입니다. us-east-1은 US East (N. Virginia)의 코드이고 us-west-2는 US West (Oregon)입니다. --region 옵션은 이 요청이 작동할 지역을 선택합니다. 첫 설정은 us-east-1에 생성합니다.

한 계정에 같은 이름을 가진 두 개의 독립적인 리전별 설정이 있습니다

개념도: 설정은 서로 다른 리전에 속합니다. 하나를 생성해도 다른 리전으로 복사되지 않습니다.

설정을 생성하세요.

aws ssm put-parameter --name /labex/onboarding/service-label --type String --value finance-east --region us-east-1

ssm은 Systems Manager를 선택하고 put-parameter는 설정을 기록합니다. --name은 리소스 이름을 지정하고 --type String은 일반 텍스트임을 뜻하며 --value는 그 텍스트를 제공합니다. 슬래시는 AWS 이름을 체계적으로 구성하며 로컬 폴더를 생성하지 않습니다.

응답에는 "Version": 1이 포함됩니다. 첫 번째 버전을 생성했습니다. 설정을 다시 읽으세요.

aws ssm get-parameter --name /labex/onboarding/service-label --region us-east-1

Parameter에서 Name, Value, Version을 찾으세요. 이름은 service-label로 끝나고 값은 finance-east이며 버전은 1입니다.

Terminal 옆의 AWS View를 클릭하세요. Terminal → Parameter Store → 리전 카드 순서로 따라가세요. us-east-1에서 새 파라미터를 찾아 CLI 응답과 값을 비교하세요. us-west-2 카드에는 참조 파라미터만 있습니다. 이 리소스는 한 리전에 생성되었으며 다른 리전으로 복사되지 않았습니다.

완료 검사는 동부 설정을 읽습니다. 참조 파라미터는 변경하지 마세요.

다른 리전에 같은 이름 생성하기

이 단계에서는 두 번째 리전에 같은 이름의 파라미터를 생성하고 두 리소스가 독립적으로 유지되는 것을 관찰합니다.

공식 Console에서 Region 메뉴는 표시할 지역을 선택합니다. 메뉴의 이름과 코드는 CLI의 --region 옵션에 대응합니다.

N. Virginia us-east-1과 Oregon us-west-2가 있는 공식 Console의 Region 메뉴

출처: AWS Console 가이드.

이제 서부 애플리케이션의 레이블을 생성하세요. 이전과 같은 이름을 사용하지만 --region과 값은 다릅니다.

aws ssm put-parameter --name /labex/onboarding/service-label --type String --value finance-west --region us-west-2

응답에는 다시 "Version": 1이 포함됩니다. 이것은 동부 리소스의 버전 2가 아니라 서부의 새 리소스입니다.

저장된 값을 각각 읽으세요. get-parameter는 이름이 있는 리소스를 서비스에 요청합니다.

aws ssm get-parameter --name /labex/onboarding/service-label --region us-east-1
aws ssm get-parameter --name /labex/onboarding/service-label --region us-west-2

두 응답 모두 Name, Type, Value, Version, ARN이 있는 Parameter 객체를 포함합니다. 값을 비교하세요. 동부는 finance-east, 서부는 finance-west를 반환합니다. 이름은 같습니다. ARN은 리소스의 전체 식별자입니다. 지금은 한쪽에 us-east-1, 다른 쪽에 us-west-2가 있다는 점을 확인하세요. 다음 단계에서 나머지 부분을 설명합니다. AWS View는 두 개의 독립적인 리전 카드를 보여 줍니다. 한 리전에 리소스가 나타난다고 해서 다른 리전에도 존재하는 것은 아닙니다.

같은 파라미터 이름에 리전별로 서로 다른 값과 ARN이 있습니다

이 예시는 동부와 서부 리소스를 함께 보여 줍니다. 계정 식별자와 값은 예시이므로 자신의 조회가 반환한 실제 필드를 사용하세요.

리소스 식별자를 읽고 값만 변경하기

이 단계에서는 리소스 ARN을 해석하고 리소스 식별자나 서부 값을 변경하지 않은 채 동부 설정을 업데이트합니다.

**Amazon Resource Name(ARN)**은 리소스를 식별합니다. AWS View에서 동부 설정 아래의 ARN을 찾으세요. 이 파라미터의 ARN은 다음과 같은 형태입니다.

arn:aws:ssm:us-east-1:ACCOUNT_ID:parameter/labex/onboarding/service-label

ARN은 서비스, 리전, 계정, 리소스 이름을 식별합니다

이 파라미터를 식별하는 데 필요한 부분만 읽으세요. 형식을 외울 필요는 없습니다.

지금은 서비스(ssm), 리전(us-east-1), 계정 ID, 파라미터 이름을 찾으세요. 서부 ARN과 비교하면 이름은 같아도 리전이 다릅니다. 준비 실습에서 본 호출자 ARN은 사용자를 식별하지만 이 ARN은 설정 리소스를 식별합니다. ARN 형식을 외울 필요는 없습니다.

변경하기 전에 동부 설정을 읽으세요.

aws ssm get-parameter --name /labex/onboarding/service-label --region us-east-1

이름은 /labex/onboarding/service-label이고 값은 finance-east입니다. 이 둘은 서로 다른 질문에 답합니다. 어떤 설정을 읽고 있는지, 그리고 그 설정에 어떤 데이터가 들어 있는지입니다. 데이터를 변경한다고 해서 리소스 이름이 바뀌거나 이동하는 것은 아닙니다. put-parameter는 보통 기존 파라미터를 실수로 교체하지 않도록 거부합니다. --overwrite를 추가하면 값 업데이트를 명시적으로 허용합니다. 동부만 업데이트하세요.

aws ssm put-parameter --name /labex/onboarding/service-label --type String --value finance-east-reviewed --overwrite --region us-east-1

응답에는 "Version": 2가 포함됩니다. 두 리소스를 읽으세요.

aws ssm get-parameter --name /labex/onboarding/service-label --region us-east-1
aws ssm get-parameter --name /labex/onboarding/service-label --region us-west-2

동부 값은 이제 finance-east-reviewed이고 Version은 2이지만 ARN은 그대로입니다. 서부는 여전히 Version 1의 finance-west를 반환합니다. 두 JSON 응답과 AWS View에서 이 필드를 확인하세요. 이 구분은 이후 실수를 진단하는 데 도움이 됩니다. 이름이 맞아도 리전이 다르면 다른 리소스를 가리키고, 업데이트된 값도 여전히 같은 리소스에 속할 수 있습니다.

동부 값과 버전만 변경되었습니다

동부 레이블은 검토된 Version 2이고 서부 레이블은 Version 1로 유지됩니다. 두 참조 파라미터도 그대로 남아 있습니다.

온보딩 리소스만 정리하기

이 단계에서는 생성한 두 파라미터를 삭제하고 참조 인벤토리가 온전히 남아 있는지 확인합니다.

정리할 때는 자신이 생성한 리소스의 이름과 리전을 사용해야 합니다. delete-parameter는 지정한 이름의 파라미터를 삭제합니다. 호출에 성공해도 출력이 없을 수 있습니다. 출력이 없다는 사실만으로는 이후 올바른 리전을 조회했다는 증거가 되지 않습니다.

aws ssm delete-parameter --name /labex/onboarding/service-label --region us-east-1
aws ssm delete-parameter --name /labex/onboarding/service-label --region us-west-2

describe-parameters는 선택한 리전의 이름과 버전 등 파라미터 메타데이터를 나열합니다. 값은 반환하지 않습니다. 두 리전을 성공적으로 조회하세요.

aws ssm describe-parameters --region us-east-1
aws ssm describe-parameters --region us-west-2

두 목록 모두에서 /labex/onboarding/service-label이 사라졌습니다. 준비된 /labex/reference/team은 여전히 나타납니다. 두 리전에서 참조 파라미터를 읽어 값이 그대로인지 확인하세요.

aws ssm get-parameter --name /labex/reference/team --region us-east-1
aws ssm get-parameter --name /labex/reference/team --region us-west-2

둘 다 platform을 반환합니다. AWS View에는 이제 각 리전의 참조 파라미터만 표시됩니다. 참조 인벤토리는 삭제하지 마세요. 연결 오류나 인증 오류는 정리를 증명하지 않습니다. 완료 검사는 서비스 조회가 성공하고 참조 데이터가 보존되어야 통과합니다.

요약

두 리전에 같은 이름의 파라미터를 생성하고 서로 다른 값과 ARN을 읽었습니다. 동부 값만 변경하고 참조 파라미터를 보존하면서 두 리소스를 정리했습니다. AWS View에서는 CLI 결과와 함께 이러한 서비스 변경을 눈으로 확인할 수 있었습니다. 다음에는 CLI 조회로 더 큰 인벤토리에서 필요한 리소스를 찾습니다.