AWS リージョンとリソースのアイデンティティを理解する

AWSBeginner
オンラインで実践に進む

はじめに

レポートアプリケーションにはリージョンごとに設定が必要です。準備済みの東部の設定を読み、西部に対応する設定を作成して識別情報を比較します。

最初に LabEx で AWS を使い始める を完了してください。そこで学んだ Terminal、AWS CLI、アイデンティティ、パラメーター、AWS View の基礎を使います。この実験は独立して始まります。ツールと接続は準備済みで、前の実験のファイル、リソース、認証情報は再利用しません。

Parameter Store は名前付き設定を保存します。作成する /labex/onboarding/service-label は秘密情報ではなく、通常の String です。各リージョンには、この作業とは無関係な /labex/reference/team パラメーターが既にあります。変更せずに残してください。AWS View は CLI で問い合わせるものと同じリソースを表示します。

認定試験との関連

認定試験 試験タスク このラボの演習
Cloud Practitioner (CLF-C02) タスク 3.2 リージョン、リソースのリージョンスコープ、リソースの識別。
Solutions Architect – Associate (SAA-C03) タスク 1.1 リージョン、リソースのリージョンスコープ、リソースの識別。

ラボの概要

概念図: 2 つのリージョンにある同名のパラメータは独立したリソースで、それぞれ固有の値と ARN を持ちます。

リージョンのリソースを確認する

このステップでは、準備済みの設定を確認し、別のリージョンには自動で作成されないことを観察します。

前の実験では、すべてのリクエストが一つの場所を使いました。チームは世界各地のユーザーに近い場所でアプリケーションを実行する場合があるため、コマンドがどの場所に作用するかを選ぶ必要があります。AWS のリージョン(Region)は、サービスが稼働する地理的な区域です。us-east-1 は US East (N. Virginia)、us-west-2 は US West (Oregon) のコードです。--region オプションは、このリクエストが作用する場所を選びます。準備済みの東部の設定は us-east-1 にあります。

一つのアカウントに、同じ名前を持つ独立した二つのリージョン別設定がある — 概念図:設定は異なるリージョンに属します。一方を作成しても、もう一方にはコピーされません。

東部の設定を読み取ります。

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

値は finance-east、バージョンは 1 です。AWS View では us-east-1 に表示されます。西部の一覧を確認します。

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

西部には /labex/reference/team だけが表示されます。東部の設定はコピーされていません。次に、学習済みの作成コマンドで西部の設定を準備します。

別のリージョンに同じ名前で作成する

このステップでは、二つ目のリージョンに同じ名前のパラメーターを作成し、二つのリソースが独立したままであることを観察します。

公式 Console では、Region メニューで表示する場所を選びます。名前とコードは CLI の --region オプションに対応します。

N. Virginia us-east-1 と Oregon us-west-2 を示す公式 Console の Region メニュー — 出典:AWS Console ガイド — https://docs.aws.amazon.com/pdfs/hands-on/latest/getting-started-with-aws-management-console/getting-started-with-aws-management-console.pdf。

次に、西部のアプリケーション用ラベルを作成します。名前は前と同じですが、--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 が異なる

この例では、東部と西部のリソースを一緒に表示しています。アカウント識別子と値は例です。自分の問い合わせで返された実際のフィールドを使ってください。

2 つのリソースの識別情報を比較する

このステップでは、ARN を使って同じ名前の設定を区別します。

Amazon Resource Name(ARN)はリソースを識別します。AWS View で東部の設定の下にある 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
aws ssm get-parameter --name /labex/onboarding/service-label --region us-west-2

両方の設定を再度読み取り、リージョン、アカウント、名前を比較してください。名前とアカウントは同じでも、リージョンと ARN は異なります。値はそれぞれのリソースに属します。更新や削除は不要です。次は、より大きな一覧から設定を探します。

まとめ

リージョンの設定を確認し、別のリージョンに同名の設定を作成して値と ARN を比較しました。名前だけではリソースを特定できません。次は混在する一覧から必要な設定を探します。

詳しくは、AWS 公式ドキュメントを参照してください:ARN のフィールドとリソース識別.