はじめに
ウェブサイトは利用できますが、歓迎メッセージはまだ初期値です。AWS Systems Manager Parameter Store にメッセージを保存し、サイトのコードを編集せずに変更して、操作ごとに実際のページを確認します。
サイト、ツール、接続は準備済みです。Get Started with AWS on LabEx で学ぶ Terminal へのコマンド入力と AWS View の操作を理解していることが前提です。各ラボは新しい環境で独立して開始します。個人の AWS アカウントや以前のリソースは必要ありません。
認定試験との関連
| 認定試験 | 試験タスク | 演習内容 |
|---|---|---|
| Cloud Practitioner (CLF-C02) | Task 3.1 | AWS CLI でサービスのリソースを管理し、アプリケーションへの影響を観察します。 |
ラボの概要

サイトに歓迎メッセージを設定する
このステップでは、名前付きの設定値を作成し、サイトがその値を使う様子を確認します。
コマンドは AWS View の下にある Terminal に入力します。上部の AWS View で Open website を選択してください。準備済みの Field Notes ページには最初に Your website is ready と表示され、値の取得元は Default welcome message です。設定変更後に再読み込みできるよう、サイトのページを開いたままにします。
ウェブサイトは、ブラウザからのリクエストに応答するアプリケーションコードです。リソースは AWS サービスが管理する対象です。Systems Manager Parameter Store は、パラメータと呼ばれる名前付きの設定値を管理します。このサイトはリクエストごとに /labex/website/greeting を読み取り、その名前に保存された文字列を歓迎メッセージとして使います。スラッシュは名前を整理するためのもので、ローカルフォルダではありません。
サイトのコードは準備済みです。ここでは設定を作成します。まず作業ディレクトリへ移動します。cd は Terminal の現在のディレクトリを変更するコマンドです。
cd /home/labex/project
通常の文字列を作成します。aws ssm は Systems Manager を選択し、put-parameter は設定を書き込みます。--name は名前、--type String は通常の文字列、--value は保存する内容を指定します。引用符で囲むことで、空白を含むメッセージを一つの引数として渡せます。バックスラッシュは同じコマンドを次の行へ続けます。
aws ssm \
put-parameter \
--name /labex/website/greeting \
--type String \
--value 'Welcome to Field Notes'
初回作成の応答には "Version": 1 が含まれます。保存した値を読み取ります。get-parameter は名前を指定してリソースを取得します。
aws ssm \
get-parameter \
--name /labex/website/greeting
Name、Value、Version を確認してください。値は Welcome to Field Notes です。AWS View には、準備済みの /labex/reference/team と並んで新しいパラメータが表示されます。この参照用の設定は変更しません。
サイトを再読み込みします。見出しは Welcome to Field Notes、取得元は Parameter Store になっています。ページが変わったのは、アプリケーションが保存された値を読み取ったためです。Terminal 内のローカル文字列が変わったからではありません。リソースとサイトは異なる対象で、この読み取りによってつながっています。

作成時に ParameterAlreadyExists が返された場合は、名前を指定してパラメータを読み、値を比較してください。無関係な設定を削除する必要はありません。
サイトのコードを編集せずにメッセージを更新する
このステップでは、既存の設定を変更し、サイトが新しい値を使うことを確認します。
パラメータの名前は変えないため、アプリケーションは引き続き同じ名前を読み取れます。--overwrite は既存パラメータの値を上書きする指定です。挨拶を変更します。
aws ssm \
put-parameter \
--name /labex/website/greeting \
--type String \
--value 'Hello from the AWS CLI' \
--overwrite
現在の値を読み取ります。
aws ssm \
get-parameter \
--name /labex/website/greeting
Hello from the AWS CLI が表示されます。一度更新した場合、バージョンは通常 2 です。更新を繰り返した場合は、さらに大きくなることがあります。上書きは保存済みの新しいバージョンを作成し、別の名前のリソースを作成するわけではありません。
AWS View には同じ名前と新しい値が表示されます。サイトを再読み込みし、見出しが Hello from the AWS CLI になったことを確認してください。サイトのファイルは編集していません。

このサイトはリクエストごとにパラメータを読み取ります。別のアプリケーションでは、起動時だけ設定を読む場合や、設定をキャッシュする場合があります。パラメータを変更しても、開いているすべてのページが自動的に更新されるわけではありません。ここでは、新しい HTTP リクエストが更新値を利用した証拠になります。
演習用の設定だけを安全に削除する
このステップでは、自分で作成した挨拶パラメータを削除し、設定がない場合のサイトの動作を確認します。
この任意の設定には、サイト側で初期メッセージが準備されています。そのため、演習の最後に挨拶を安全に削除できます。実際のアプリケーションでは、設定が任意か必須かを先に確認します。必須の依存先を削除すると、アプリケーションが停止することがあります。
delete-parameter は名前を指定して一つのリソースを削除します。自分で作成した挨拶だけを削除してください。
aws ssm \
delete-parameter \
--name /labex/website/greeting
削除が成功しても、何も出力されないことがあります。リソースのメタデータを一覧表示する describe-parameters で、残っている設定を確認します。
aws ssm \
describe-parameters
挨拶は一覧からなくなっています。/labex/reference/team は残っています。その値を確認します。
aws ssm \
get-parameter \
--name /labex/reference/team
値は引き続き platform です。AWS View には参照用の設定が残り、挨拶は表示されません。サイトを再読み込みすると Your website is ready に戻り、取得元は Default welcome message になります。
ネットワークエラーは削除成功の証拠にはなりません。ここでは、成功したサービスへの問い合わせがリソースの不在を示し、成功したサイトへのリクエストがアプリケーションの継続動作を示します。無関係な設定を維持しながら、作成・読み取り・更新・削除というリソースのライフサイクルを完了しました。
まとめ
Parameter Store の挨拶を作成、取得、更新、削除しました。実際のサイトの応答によって、アプリケーションが保存された値を利用する場合と初期メッセージに戻る場合を確認しました。無関係な設定はすべての操作で維持しました。
次は Region とリソースの識別情報を比較します。名前は便利ですが、複数の環境を管理する際には、場所と完全な識別情報も重要です。
詳しくは Parameter Store によるアプリケーション設定と パラメータの作成・上書きに関する CLI リファレンスを参照してください。



