はじめに
レポート作成チームは二つの場所でアプリケーションを実行しています。設定名が同じでも、それぞれの場所には独自のサービスラベルが必要です。二つの設定を作成して比較し、一方の値を変更して、自分の練習用リソースだけを削除します。
最初に 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: リージョン、リソースのリージョンスコープ、リソースの識別。
最初のリージョン別リソースを作成する
このステップでは、東部リージョンにアプリケーション設定を作成し、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 オプションに対応します。

出典: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 を読み解き、識別情報や西部の値を変更せずに東部の設定を更新します。
Amazon Resource Name(ARN)はリソースを識別します。AWS View で東部の設定の下にある ARN を見つけてください。このパラメーターでは、次のような形式です。
arn:aws:ssm:us-east-1:ACCOUNT_ID:parameter/labex/onboarding/service-label

このパラメーターの識別に必要な部分だけを読み取ってください。形式を暗記する必要はありません。
今はサービス(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 のクエリを使って、より大きなリソース一覧から必要なリソースを見つけます。



