もっと詳しく

AWS Systems Managerのパラメーターストアは、キーと値のペアの形式でデータを保存するサービスです。 このデータはスクリプトで参照できます。 値は文字列の形式で保存されます。 AWSにはパスワードなどの機密情報が含まれているため、ユーザーのデータを安全に保つためにKMSキーなどの暗号化方式が提供されています。

これらのパラメーター値は、ユーザーのスクリプトやその他のAWSサービスで直接参照できるため、アプリケーションのワークフローへの人的干渉を減らすことができます。 さらに、パラメータストアは完全にサーバーレスのサービスです。 この記事では、AWSパラメータストアの概要を説明します。

AWSパラメータストアを使用する利点

以下は、AWSパラメータストアを使用するメリットのリストです。

  • 安全で可用性が高く、スケーラブルなシークレット管理サービス。
  • セキュリティを向上させるために、データをコードから分離します。
  • きめ細かいレベルでの制御を提供します。
  • 構成データとシークレットを階層とトラックバージョンに格納します。

パラメータストアのユースケース

クラウドインフラストラクチャでのAWSパラメータストアのいくつかのユースケースを見てみましょう。

CloudFormationでの使用

AWS cloudformationは、いくつかのスクリプトを使用してAWSにインフラストラクチャをデプロイするために使用されるサービスです。 リソースと構成は、スタックの形式で定義されます。 パラメータストアからパラメータ値を参照して、スタックをプロビジョニングできます。 このように、クラウドフォーメーションスタックを更新する必要があるときはいつでも、パラメータ値を変更するだけです。

Lambda関数での使用

多くの場合、ラムダ関数の環境変数を定義する必要がありますが、それらを使用することにはいくつかの制限と欠点があり、パラメーターストアに変数を値として格納することでカバーできます。

AWSCodeBuildでの使用

CodeBuildは、継続的インテグレーションおよび継続的デプロイメント(CICD)モデルの重要な部分です。 コード構築手順は、パラメータストアからパラメータを参照することで直接渡すことができるシークレットと機密情報を含む可能性のあるyamlファイル内で定義されます。

AWSコンソールを使用したパラメータストアの作成

パラメータストアを作成するには、最初にAWS管理コンソールにログインし、SystemsManagerサービスを検索します。

システムマネージャコンソールに移動します。 左側のパネルから、をクリックします [アプリケーション管理]セクションのパラメータストア。

パラメータストアコンソールから、をクリックします。 パラメータの作成ボタン 新しいパラメータを作成します。

パラメータの名前とその説明を入力します。 パラメータの名前は、それを効果的に使用するために階層で指定できます。 パラメータの説明はオプションです。 このデモでは、バージニア州北部のlinux2AMIのAMIIDを格納するパラメーターを作成します。

パラメータの名前と説明を指定した後、パラメータ層を要求します。 AWS Systems Managerパラメータストアは、パラメータに2つの層を提供します。

標準階層、最大10,000個のパラメーターを作成でき、各パラメーターの制限は最大4KBです。 パラメータポリシーは、標準層では使用できません。

高度な層ただし、10,000を超えるパラメーターを作成でき、各パラメーターの制限は最大8KBです。 パラメータポリシーは上級層で利用できますが、料金が必要です。

このデモでは、パラメーターストアの標準層を使用します。

次に、保存したいものをパラメータ値として定義する必要があります。 次の選択肢があります。

  • StringList
  • SecureString

1つの文字列のみを必要とする単一のパラメータ値を格納するには、 文字列型 パラメータストアの。

パラメータに複数の文字列を保存するには、を選択する必要があります StringListタイプ パラメータの。 カンマで区切られた複数の文字列を格納できます。

シークレットについては、 SecureStringタイプ パラメータの。 アカウントまたは別のアカウントからAWSKMS(Key Management Service)を使用してシークレットを暗号化します。

このデモでは、 文字列型 パラメータの。

次のステップでは、保存するデータ型をパラメーター値として定義します。 我々は使用するだろう aws:ec2:image EC2AMIを保存します。

次に、必要なパラメータ値を入力します。 この場合、EC2のイメージIDです。

AWSリソースを追跡するには、タグを追加して、それらを簡単かつ効率的に見つけて監視することをお勧めします。 タグは、キーと値のペアの形式です。 これは単なるオプションの手順です。 必要に応じて、これをスキップできます。

最後に、このパラメーターの構成が完了しました。 右下隅にある[パラメータの作成]をクリックするだけで、準備完了です。

これで、AWS管理コンソールを使用してパラメーターストアでパラメーターを設定する方法を見てきました。 これで、必要な他のAWSサービスでこのパラメーター値を参照できます。

AWSCLIを使用したパラメータストアの作成

AWSでは、ユーザーは、Windows、Linux、Macなどの任意の環境で設定できるコマンドラインインターフェースを使用してリソースを管理できます。 AWSCLIを使用してパラメーターを作成できるかどうかを見てみましょう。

まず、システムでAWSコマンドラインインターフェイスのクレデンシャルを構成します。 次の記事にアクセスして、資格情報を構成してください。

How to Configure AWS CLI Credentials on Windows, Linux and Mac

CLIを使用してパラメーターを作成するには、次のコマンドを使用するだけです。

$:aws ssm put-parameter

– 名前 「<パラメータ名>」

– 価値 「<パラメータ値>」

– タイプ <データ・タイプ>>

– データ・タイプ 「「<aws:ec2:image>>

これでパラメータが作成されました。 CLIを使用して使用可能なパラメーターのリストを表示するには、次のコマンドを実行する必要があります。

$:aws ssmdescribe-parameters

これで、AWSコマンドラインインターフェイスが構成されました。

結論

AWSパラメータストアは、非常にスケーラブルで効率的であるため、非常に便利で管理が簡単です。 複数のアベイラビリティーゾーンに拡張することもできます。 AWSはセキュリティを確保しているため、バージョン管理機能を使用して、シークレットIDとパスワードを信頼できる方法で保存できます。 パラメータストアを使用することで、特定のユーザーが特定の資格情報にアクセスできるかどうか、パラメータに添付されたIAMポリシーを使用しないかどうかなどを管理できます。 シークレットパラメータに変更があった場合にも通知を受け取ることができます。 これらのパラメーターは、他の多くのAWSサービスからもアクセスでき、資格情報を管理したり、各サービスに個別に提供したりする必要がなくなります。 Linuxヒントで関連記事をもっと読んでください。

The post AWSでのパラメータストアの概要 appeared first on Gamingsym Japan.