Open2

AWS-CDKで「これ、どうかくの?」

bohebohebohebohe

AWS System Managerのパラメータストアの値を使う

APIキーとかホスト名とか、そのへんはパラメータストアにいれて、CDKで必要に応じて読み出して使う場合。

APIキーをAPI Gatewayのスタックに紐付ける場合。
ここでは、前提としてAPIGatewayのスタックはthis.api

import * as ssm from '@aws-cdk/aws-ssm';

public readonly api: apigateway.RestApi;

(略:API Gatewayの各種設定)

        // Api Key
        let apiKeyId = ssm.StringParameter.valueForStringParameter(this, 'STG_API_KEY_ID');
        if (props.target === 'prod') {
            apiKeyId = ssm.StringParameter.valueForStringParameter(this, 'PROD_API_KEY_ID');
        }
        const apiKey = apigateway.ApiKey.fromApiKeyId(this, `${props.prefix}${props.prj}ApiKey`, apiKeyId);
        const usagePlan = this.api.addUsagePlan('UsagePlan', {
            name: `${props.prefix}${props.prj}ApiUsagePlan`,
            apiKey: apiKey,
        });
        usagePlan.addApiStage({
            stage: this.api.deploymentStage,
        });
const apiKey = apigateway.ApiKey.fromApiKeyId(this, `${props.prefix}${props.prj}ApiKey`, apiKeyId);

class ApiKey (construct) · AWS CDK