LabEx で AWS を始める

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

はじめに

最初の課題は、歓迎メッセージを変更して結果を観察することです。コマンドを入力する場所、応答の読み方、そして AWS View で同じリソースを確認する方法を学びます。

AWS や Linux の経験は必要ありません。コマンドを一つずつ入力し、その後にある説明に従って結果を確認してください。ツールと接続は準備済みなので、個人の AWS アカウントやアクセスキーは不要です。

Linux ターミナルの基本操作を練習し、AWS CLI が使うアカウントとアイデンティティを確認します。その後、一つの設定値を作成・更新し、練習用のリソースを削除します。各実験は新しい環境から始まるため、後の実験のためにこの環境を開いたままにする必要はありません。

認定試験との関連

このラボでは、次の試験トピックに関連する実践的な演習を行います。

AWS ワークスペースを知る

このステップでは、操作する場所を選び、準備済みの Terminal でコマンド入力を練習します。

Amazon Web Services(AWS) は、ファイルの保存やアプリケーションの実行などに使うサービスを提供します。リソースとは、ファイルや名前付きの設定など、サービスが管理する対象です。リソースは Web サイトから、またはコマンドで管理できます。

インターフェース 適している用途 考慮する点
AWS Management Console(Web ダッシュボード) サービスの探索、リソースやグラフの閲覧、フォームによる時々の変更。 多くの変更をクリックで繰り返すと時間がかかり、再利用できる手順として保存しにくくなります。
AWS CLI(コマンドラインツール) 正確な操作、繰り返し作業、スクリプトによる自動化。 コマンドのオプションとテキストの応答を読む方法を学ぶ必要があります。

エンジニアはよく両方を使います。下の公式 Console の例には、サービス検索とダッシュボードのカードが表示されています。アカウント情報と料金は例です。レイアウトは時期によって変わる場合があります。

サービス検索とダッシュボードのカードを表示する公式 AWS Console のホーム

出典:AWS Console ガイド。

LabEx は 仮想マシン(VM)、つまり CLI をインストールした準備済みのコンピューターを提供します。コマンドは操作を明確に記録できるため、繰り返したり、後で自動化したり、コマンドを提案・実行する AI エージェントと作業する際に見直したりできます。これらの実験では CLI の練習を中心に、必要に応じて Console の操作手順を紹介します。

この実験では Terminal で変更し、その隣の AWS View タブで同じサービスの状態を観察します。AWS View は実験リソースを確認するための専用ビューで、公式 Console とは別のものです。個人の AWS アカウントにサインインする必要はありません。

Terminal がサービスにリクエストを送り、AWS View が同じリソースの状態を読み取る

概念図:両方のインターフェースが同じ実験リソースを参照します。完了チェックは操作後の状態を読み取ります。個人の AWS アカウントでの変更はこの実験のチェック対象外です。同じリソースへのアクセスが許可されているシステムなら、Console で行った操作も確認できます。

Terminal をクリックしてください。labex:project/ $ のようなプロンプトは、コマンドを入力できる状態であることを示します。コマンドを入力または貼り付け、Enter を押し、プロンプトが戻るまで待ちます。プロンプト自体は入力しないでください。

現在のディレクトリ(フォルダー)を確認します。

pwd

pwd は作業ディレクトリを表示するという意味です。ディレクトリを変更する cd を使い、実験のワークスペースに移動します。

cd /home/labex/project

cd が成功しても通常は何も表示されません。場所を確認します。

pwd

/home/labex/project と表示されるはずです。ls でファイルを一覧表示します。

ls

cat で welcome.txt を読みます。

cat welcome.txt

Welcome to your AWS workspace. と表示されるはずです。このファイルは実験用コンピューターにあります。次はサービスに保存されている設定を操作します。

自分用のローカルコピーを作成します。cp にはコピー元とコピー先を指定します。

cp welcome.txt my-welcome.txt

コピーを読みます。

cat my-welcome.txt

同じテキストが表示されます。このステップのチェックでは、コピーと、元のファイルが変更されていないことを確認します。

最初の AWS 設定を作成する

このステップでは、AWS リクエストの送信者を確認し、歓迎メッセージの設定を作成して、AWS View に表示されることを確認します。

リソースはサービスが管理する対象です。AWS アカウントはリソースをまとめる単位です。ユーザーやロールはアイデンティティと呼ばれ、リソースにリクエストを送ります。Terminal のプロンプトにある Linux ユーザー名は実験用コンピューターのユーザーを表し、この AWS のアイデンティティとは別です。

CLI と接続は準備済みです。インストールされているツールを確認します。

aws --version

応答は aws-cli/ で始まります。Security Token Service(STS)に、この接続で使っているアイデンティティを問い合わせます。

aws sts get-caller-identity

aws は CLI を実行し、sts はサービスを選択し、get-caller-identity は操作を指定します。応答は JSON という、名前付きのフィールドと値で構成されるテキスト形式です。Account と Arn を探してください。アカウントは数値で、呼び出し元の ARN は user/getting-started-learner で終わります。ARN はリソース識別子です。次の実験で読み方を学びます。

ここで行っているのは既存の接続の確認であり、ログインではありません。リクエストを認証するための情報である認証情報は準備済みで、秘密にしておく必要があります。

次に、Systems Manager Parameter Store で名前付きのアプリケーション設定を作成します。アプリケーションは、歓迎メッセージをローカルファイルに保存する代わりに、中央で管理する設定から読み取ることができます。この演習では設定そのものを変更・確認します。アプリケーションのデプロイは不要です。

パラメーターは名前と保存された値の組み合わせです。下の名前を使い、歓迎テキストを値として指定します。

aws ssm put-parameter --name /labex/getting-started/greeting --type String --value 'Welcome to AWS' --region us-east-1

コマンドを部分ごとに読みます。

  • ssm put-parameter:Systems Manager でパラメーターを書き込みます。
  • --name:設定の名前です。スラッシュはサービス内の名前を整理するためのもので、ローカルフォルダーを作るわけではありません。
  • --type String:通常のテキストを保存します。
  • --value:保存するテキストです。引用符で複数の単語を一つにまとめます。
  • --region us-east-1:この場所にリクエストを送ります。例のままにしてください。次の実験でリージョンを学びます。

応答には "Version": 1 が含まれます。これは最初に保存されたバージョンです。Terminal の隣にある AWS View をクリックします。us-east-1 の下に、値が Welcome to AWS の greeting を見つけてください。/labex/reference/team は準備済みの参照用設定です。変更せずに残します。

比較として、公式 Console のパラメーターの Overview ページにも同じ Name、Type、Value フィールドが表示されます。下の画像では別の例のパラメーターを使っています。

Name、ARN、Type、Value を表示する公式 Parameter Store の Overview

出典:AWS Summit DEV206。

作成コマンドを繰り返して ParameterAlreadyExists が表示された場合、その名前はすでに使われています。次のステップのコマンドで読み取ってください。無関係のリソースを削除したり、実験全体をやり直したりする必要はありません。完了チェックでは greeting の初期値と参照用設定が変更されていないことを確認します。

歓迎メッセージを変更する

このステップでは、設定を読み、その値を変更して、Terminal と AWS View で結果を比較します。

Terminal に戻ります。cat welcome.txt とは異なり、このコマンドはサービスのリソースを読み取ります。

aws ssm get-parameter --name /labex/getting-started/greeting --region us-east-1

Parameter 内の Name、Value、Version を探します。値は Welcome to AWS、バージョンは 1 です。

値だけを変更します。新しいオプション --overwrite は、この既存の設定の更新を許可します。

aws ssm put-parameter --name /labex/getting-started/greeting --type String --value 'Hello from the CLI' --overwrite --region us-east-1

最初の更新時、応答には Version 2 が含まれます。もう一度読み取ります。

aws ssm get-parameter --name /labex/getting-started/greeting --region us-east-1

値は Hello from the CLI になりました。AWS View に切り替え、greeting が更新されるまで待ちます。名前は同じままで、値とバージョンが変わります。参照用設定の値は引き続き platform です。

AWS View に更新後の greeting と保持された参照用設定が表示される

結果の例:最初の更新はバージョン 2 です。更新を繰り返すと、より大きいバージョン番号になる場合があります。タブの切り替えは状態を観察するだけで、設定を更新しません。

練習用リソースを削除する

このステップでは、greeting を削除し、参照用設定が残っていることを確認します。

Terminal に戻ります。delete-parameter は指定した名前のサービスリソースを削除します。

aws ssm delete-parameter --name /labex/getting-started/greeting --region us-east-1

削除が成功しても何も表示されない場合があります。残っているパラメーター名を問い合わせて結果を確認します。

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

describe-parameters は名前やバージョンなどのメタデータを一覧表示します。greeting はなくなり、/labex/reference/team は残っているはずです。参照用設定を読み、値を確認します。

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

値は引き続き platform です。AWS View に切り替えると、参照用設定だけが残っています。接続エラーや Unavailable というメッセージでは削除を証明できません。正常に完了した問い合わせによって結果を確認します。

自分が作成したローカルコピーだけを削除します。rm は指定した名前のローカルファイルを削除します。

rm my-welcome.txt

サービスのリソースと自分のローカルコピーを削除しました。ローカルの welcome.txt は別のもので、実験用コンピューターに残ります。参照用設定は変更しないでください。次の実験は新しいリソースと認証情報で始まります。この環境ではなく、学んだことを次に活かしてください。

まとめ

Terminal のコマンドを練習し、AWS の呼び出し元を確認して、名前付き設定の作成、読み取り、更新、削除を行いました。AWS View には同じリソースの変化が表示されました。また、ローカルファイルとサービスリソースの違いも学びました。

次の「AWS リージョンとリソースのアイデンティティを理解する」では、二つのリソースが同じ名前でも、リクエストの送信先がなぜ重要なのかを学びます。