相互 TLS (ビューワー) 検証用の CloudFront Connection Functions を作成する
CloudFront Connection Function は、2 つのステージで作成します。
-
関数コードを JavaScript として作成します。CloudFront コンソールのデフォルトの例を使用することも、独自に記述することもできます。詳細については、以下の各トピックを参照してください。
-
mTLS 検証用の CloudFront Connection Function コードを記述する
-
CloudFront Connection Function のイベント構造とレスポンス形式
-
接続関数のコード例
-
-
CloudFront を使用して Connection Function を作成し、コードを含めます。コードは関数内にあります (リファレンスとしてではありません)。
CloudFront コントロール
Connection Function を作成するには
AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/cloudfront/v4/home
で CloudFront コンソールを開きます。 -
[関数の作成] を選択してください。
-
AWS アカウント内で一意の関数名を入力し、関数タイプとして [接続関数] を選択し、[続行] を選択します。
-
新しい Connection Function の詳細ページが表示されます。
注記
接続関数は JavaScript ランタイム 2.0 のみをサポートします。関数で CloudFront Connection Function KeyValueStore 統合を使用するには、このランタイムバージョンを使用する必要があります。
-
[関数コード] セクションで、[ビルド] タブを選択し、関数コードを入力します。[ビルド] タブに含まれるサンプルコードは、Connection Function コードの基本的な構文を示しています。
-
[Save changes] (変更の保存) をクリックします。
-
Connection Function コードが証明書失効チェックまたはデバイス検証に KeyValueStore を使用する場合、KeyValueStore を関連付ける必要があります。
KeyValueStore は、関数を最初に作成する時に関連付けることができます。または、後で Connection Functions を関連付けることで関連付けることができます。
KeyValueStore を今すぐ関連付けるには、次の手順に従います。
-
[KeyValueStore を関連付け] セクションに移動して、[既存の KeyValueStore を関連付け] を選択します。
-
Connection Function の証明書データを含む KeyValueStore を選択し、次に [KeyValueStore を関連付ける] を選択します。
CloudFront はストアを直ちに関数に関連付けます。関数を保存する必要はありません。
-
AWS CLI
AWS CLI を使用する場合、通常は最初に Connection Function コードをファイルに作成し、次に AWS CLI を使用して関数を作成します。
Connection Function を作成するには
-
Connection Function コードをファイルに作成し、コンピュータが接続できるディレクトリに保存します。
-
次の例に示すようにコマンドを実行します。この例では、
fileb://表記を使用してファイルを渡します。コマンドを読みやすくするために改行も含まれています。aws cloudfront create-connection-function \ --name CertificateValidator \ --connection-function-config '{ "Comment":"Device certificate validation", "Runtime":"cloudfront-js-2.0", "KeyValueStoreAssociations":{ "Quantity":1, "Items":[{ "KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }] } }' \ --connection-function-code fileb://certificate-validator.js注記
-
ランタイム - 接続関数は JavaScript ランタイム 2.0 (cloudfront-js-2.0) のみをサポートします。
-
KeyValueStoreAssociations - Connection Function が証明書の検証に KeyValueStore を使用する場合、関数の初回作成時に KeyValueStore を関連付けることができます。または、後で update-connection-function を使用して関連付けることもできます。各 Connection Function に関連付けることができる KeyValueStore は 1 つだけのため、Quantity は常に 1 です。
-
-
コマンドが成功した場合は、以下のような出力が表示されます。
ETag: ETVABCEXAMPLE ConnectionFunctionSummary: ConnectionFunctionConfig: Comment: Device certificate validation Runtime: cloudfront-js-2.0 KeyValueStoreAssociations: Quantity: 1 Items: - KeyValueStoreARN: arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ConnectionFunctionMetadata: CreatedTime: '2024-09-04T16:32:54.292000+00:00' ConnectionFunctionARN: arn:aws:cloudfront::111122223333:connection-function/CertificateValidator LastModifiedTime: '2024-09-04T16:32:54.292000+00:00' Stage: DEVELOPMENT Name: CertificateValidator Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/connection-function/arn:aws:cloudfront:::connection-function/CertificateValidatorほとんどの情報はリクエストから繰り返されます。その他の情報は CloudFront によって追加されます。
注記
-
ETag - この値は、Connection Function を変更するたびに変わります。関数を更新または公開するには、この値が必要です。
-
ステージ - 新しい接続関数は開発ステージで開始されます。関数をディストリビューションに関連付ける前に発行してライブステージに移行する必要があります。
-
ステータス - 関数のステータスは、ライブステージに発行するまで未発行です。
-