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:ec2:image>>」
これでパラメータが作成されました。 CLIを使用して使用可能なパラメーターのリストを表示するには、次のコマンドを実行する必要があります。
$:aws ssmdescribe-parameters
これで、AWSコマンドラインインターフェイスが構成されました。
結論
AWSパラメータストアは、非常にスケーラブルで効率的であるため、非常に便利で管理が簡単です。 複数のアベイラビリティーゾーンに拡張することもできます。 AWSはセキュリティを確保しているため、バージョン管理機能を使用して、シークレットIDとパスワードを信頼できる方法で保存できます。 パラメータストアを使用することで、特定のユーザーが特定の資格情報にアクセスできるかどうか、パラメータに添付されたIAMポリシーを使用しないかどうかなどを管理できます。 シークレットパラメータに変更があった場合にも通知を受け取ることができます。 これらのパラメーターは、他の多くのAWSサービスからもアクセスでき、資格情報を管理したり、各サービスに個別に提供したりする必要がなくなります。 Linuxヒントで関連記事をもっと読んでください。
The post AWSでのパラメータストアの概要 appeared first on Gamingsym Japan.