エッジの作成

Prev Next

Classic/VPC環境で利用できます。

プロファイルにエッジを作成します。

参考

エッジはアカウントごとに最大100個まで作成できます。上限の引き上げが必要な場合は、お問い合わせからご依頼ください。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v1/cdn-edge

リクエストヘッダ

Global Edge APIで共通して使用されるヘッダの詳細は、Global Edgeのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
profileId Long Required プロファイル ID
edgeName String Required エッジ名
  • 英数字、記号の「-」、「_」を使用して3~35文字以内で入力
distributionConfig Object Required デプロイ設定: CdnDistributionConfig
originalCopyConfig Object Required オリジン設定: CdnOriginalCopyConfig
cachingConfig Object Required キャッシュ設定: CdnCachingConfig
managedRule Object Required マネージドルール: ManagedRule
headerPolicies Array Required ヘッダ設定: HeaderPolicy
  • 設定しない場合、空の値[]を入力
optimizationConfig Object Required 最適化設定: OptimizationConfig
accessControl Object Required アクセス制御設定: AccessControl

CdnDistributionConfig

CdnDistributionConfigの説明は次の通りです。

フィールド タイプ 必須の有無 説明
protocolType String Required サービスプロトコル
  • HTTP | HTTPS | ALL
regionType String Required サービス地域
  • KOREA | JAPAN | GLOBAL
    • KOREA: 韓国
    • JAPAN: 日本
    • GLOBAL: グローバル
serviceDomain Object Required サービスドメインを設定
serviceDomain.domainType String Required サービスドメインタイプ
  • NCP_DOMAIN_AUTO | NCP_DOMAIN_CUSTOM | CUSTOM_DOMAIN
    • NCP_DOMAIN_AUTO: 自動作成された NAVERクラウドプラットフォームドメイン
    • NCP_DOMAIN_CUSTOM: ユーザー入力値を含む NAVERクラウドプラットフォームドメイン
    • CUSTOM_DOMAIN: ユーザー保有ドメイン
serviceDomain.domainName String Conditional ドメイン名
  • serviceDomain.domainTypeNCP_DOMAIN_CUSTOMまたはCUSTOM_DOMAINの場合、必ず入力
serviceDomain.certificate Object Conditional 証明書
  • ユーザー保有ドメイン(CUSTOM_DOMAIN)を HTTPSでサービスする場合は、配下の情報を含めて必ず入力
serviceDomain.certificate.id Number Conditional 証明書スロット ID
edgeLogging Object Required エッジログ設定
edgeLogging.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
edgeLogging.bucketPrefix String Optional ログ保存パス
edgeLogging.objectStorage Object Conditional ログストレージ情報
  • Object Storageに登録されているバケットのみ使用可能
  • edgeLogging.enabledtrueの場合、配下の情報を含めて必ず入力
edgeLogging.objectStorage.region String Conditional サービスリージョン
  • KR | USWN | SGN | JPN | DEN
    • KR: 韓国
    • USWN: 米国
    • SGN: シンガポール
    • JPN: 日本
    • DEN: ドイツ
edgeLogging.objectStorage.bucketName String Conditional バケット名

CdnOriginalCopyConfig

CdnOriginalCopyConfigの説明は次の通りです。

フィールド タイプ 必須の有無 説明
originalCopyLocation Object Required オリジンサーバ設定
originalCopyLocation.type String Required オリジンタイプ
  • OBJECT_STORAGE | LOAD_BALANCER | API_GATEWAY | CUSTOM
    • OBJECT_STORAGE: NAVERクラウドプラットフォームの Object Storage
    • LOAD_BALANCER: NAVERクラウドプラットフォームの Load Balancer
    • API_GATEWAY: NAVERクラウドプラットフォームの API Gateway
    • CUSTOM: 外部オリジンドメイン
originalCopyLocation.region String Conditional サービスリージョン
  • KR | USWN | SGN | JPN | DEN
    • KR: 韓国
    • USWN: 米国
    • SGN: シンガポール
    • JPN: 日本
    • DEN: ドイツ
  • originalCopyLocation.typeOBJECT_STORAGEまたはLOAD_BALANCERの場合、必ず入力
originalCopyLocation.bucketName String Conditional バケット名
  • originalCopyLocation.typeOBJECT_STORAGEの場合、必ず入力
originalCopyLocation.customLocation String Conditional オリジンドメイン名
  • originalCopyLocation.typeLOAD_BALANCERAPI_GATEWAYCUSTOMの場合、必ず入力
forwardHostHeader Object Required ホストヘッダのフォワード設定
forwardHostHeader.type String Required フォワードタイプ
  • INCOMING_HOST_HEADER | ORIGIN_HOSTNAME | CUSTOM
    • INCOMING_HOST_HEADER: クライアントから渡されたヘッダを使用
    • ORIGIN_HOSTNAME: 特定の値にヘッダを置き換え
    • CUSTOM: ヘッダ値を指定
forwardHostHeader.customHostHeader String Conditional ホストヘッダ値
  • forwardHostHeader.typeCUSTOMの場合、必ず入力
originalCopyProtocol Object Required オリジンプロトコルの設定
originalCopyProtocol.type String Required プロトコルタイプ
  • HTTP | HTTPS
originalCopyProtocol.port Integer Required ポート番号
originalCopyPath String Optional オリジンパス
  • オリジンリクエスト時に追加する URL
  • /{パス}/形式: 英数字、記号「_」を使用
originFailoverConfig Object Optional オリジンフェイルオーバー設定
originFailoverConfig.ruleName String Conditional フェイルオーバールール名
originFailoverConfig.statusCodes Array Conditional オリジンレスポンスコードリスト
  • 404 | 500 | 502 | 503 | 504
originFailoverConfig.originalCopyLocation Object Conditional リクエストをフォワードするバックアップオリジンサーバ情報
originFailoverConfig.originalCopyLocation.type String Conditional バックアップオリジンのタイプ
  • OBJECT_STORAGE | CUSTOM
    • OBJECT_STORAGE: Object Storage
    • CUSTOM: 外部ドメイン
originFailoverConfig.originalCopyLocation.region String Conditional サービスリージョン
  • KR | USWN | SGN | JPN | DEN
    • KR: 韓国
    • USWN: 米国
    • SGN: シンガポール
    • JPN: 日本
    • DEN: ドイツ
  • originFailoverConfig.originalCopyLocation.typeOBJECT_STORAGEの場合、必ず入力
originFailoverConfig.originalCopyLocation.bucketName String Conditional バケット名
  • originFailoverConfig.originalCopyLocation.typeOBJECT_STORAGEの場合、必ず入力
originFailoverConfig.originalCopyLocation.customLocation String Conditional オリジンドメイン名
  • originFailoverConfig.originalCopyLocation.typeCUSTOMの場合、必ず入力

CdnCachingConfig

CdnCachingConfigの説明は次の通りです。

フィールド タイプ 必須の有無 説明
defaultCaching Object Required キャッシュのデフォルト設定
defaultCaching.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
defaultCaching.ruleDefinitionType String Required キャッシュオプション
  • CACHING | BYPASS_CACHE | ORIGIN_CACHE_CONTROL_HEADER
    • CACHING: キャッシュ
    • BYPASS_CACHE: オリジンサーバにバイパス
    • ORIGIN_CACHE_CONTROL_HEADER: オリジン Cache-Controlヘッダで処理
defaultCaching.cacheRevalidateConfig Object Required 古いオブジェクトの再検証設定
  • キャッシュが期限切れになり、オリジンを使用できない場合の動作を指定
defaultCaching.cacheRevalidateConfig.type String Required 再検証のタイプ
  • IF_POSSIBLE | ALWAYS
    • IF_POSSIBLE: 確認できない場合、古いオブジェクトサービスを提供
    • ALWAYS: オリジンを常に検証
defaultCaching.cacheRevalidateConfig.ageType String Required キャッシュ最大保管期間の単位
  • SECONDS | MINUTES | HOURS | DAYS
    • SECONDS: 秒
    • MINUTES: 分
    • HOURS: 時間
    • DAYS: 日
defaultCaching.cacheRevalidateConfig.age String Required キャッシュの最大保管期間
  • 1秒~365日
negativeTtl Boolean Required ネガティブ TTLを使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • オリジンサーバからエラーレスポンスを返す際にレスポンスをキャッシュ
bypassQueryString Object Required バイパスクエリ文字列の設定
  • キャッシュなしでオリジンサーバにバイパスする条件文字列を指定
bypassQueryString.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
bypassQueryString.queryStrings Array Conditional 対象の文字列リスト
cacheKeyHostname String Required キャッシュキーホスト名タイプ
  • INCOMING_HOST_HEADER | ORIGIN_HOSTNAME
    • INCOMING_HOST_HEADER: キャッシュキーにサービスドメインを含める
    • ORIGIN_HOSTNAME: キャッシュキーにオリジンサーバのホスト名を含める
cacheKeyIgnoreQueryString Object Required キャッシュキークエリ文字列の設定
  • キャッシュキー作成時にクエリ文字列を含めるか/無視するかを指定
cacheKeyIgnoreQueryString.type String Required 設定のタイプ
  • ALL_IGNORED | ALL_ALLOWED | ALLOW_SPECIFIC_STRING
    • ALL_IGNORED: すべて無視
    • ALL_ALLOWED: すべて許可
    • ALLOW_SPECIFIC_STRING: 特定の文字列を許可
cacheKeyIgnoreQueryString.queryStrings Array Conditional 対象の文字列リスト
  • cacheKeyIgnoreQueryString.typeALLOW_SPECIFIC_STRINGの場合、必ず入力
urlLetterCaseIgnoreUse Boolean Optional キャッシュキーの大文字・小文字区別を無視するか
  • true | false (デフォルト)
    • true: 無視
    • false: 無視しない
  • オリジンが大文字・小文字を区別しない場合、URLとファイル名の大文字・小文字を無視してキャッシュできる
removeVaryHeader Boolean Required Varyヘッダ削除を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • 使用する場合、オリジンサーバレスポンスの Accept-Encodingのほか、Varyヘッダを削除後にキャッシュ
edgeAuth Object Required リクエスト認証の設定
  • トークンでリクエストを認証してパスした場合にのみレスポンスするように指定
edgeAuth.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
edgeAuth.type String Conditional 認証のタイプ
  • SIGNED_URL | JWT | MEDIA_VAULT
    • SIGNED_URL: URLに認証情報を含める
    • JWT: JSONトークンを生成して HTTPヘッダに含める
    • MEDIA_VAULT: URLに認証情報を含める
  • regionTypeGLOBALの場合、MEDIA_VAULTのみ使用可能
edgeAuth.tokenName String Conditional トークン名
  • スペースなしで英字の小文字を組み合わせて入力
edgeAuth.tokenKey String Conditional トークンキー値
edgeAuth.bypassValues Array Optional 認証除外拡張子リスト
  • 20個以下で入力
  • MEDIA_VAULTタイプはサポートしない
  • <例> .ts.jpg.exe
edgeAuth.tokenBypassValues Array Optional 認証値をオリジンに渡す拡張子リスト
  • 20個以下で入力
  • MEDIA_VAULTタイプはサポートしない
  • <例> playlist.m3u8index.m3u8.ts.png
cachingRules Array Required キャッシュの詳細ルールを設定: CachingRule

CachingRule

CachingRuleの説明は次の通りです。

フィールド タイプ 必須の有無 説明
ruleName String Required キャッシュの詳細ルール名
ruleType String Required ルール条件タイプ
  • DIRECTORY | FILE_EXTENSION | ADVANCED
    • DIRECTORY: ディレクトリ
    • FILE_EXTENSION: ファイル拡張子
    • ADVANCED: ディレクトリとファイル拡張子
ruleConditions Array Required ルール条件リスト
  • ruleType値に応じて条件を入力
  • <例> /*/sample/*
ruleDefinitionType String Required キャッシュオプション
  • CACHING | BYPASS_CACHE | ORIGIN_CACHE_CONTROL_HEADER
    • CACHING: キャッシュ
    • BYPASS_CACHE: オリジンサーバにバイパス
    • ORIGIN_CACHE_CONTROL_HEADER: オリジン Cache-Controlヘッダで処理
cacheRevalidateConfig Object Required 古いオブジェクトの再検証設定
  • キャッシュが期限切れになり、オリジンを使用できない場合の動作を指定
cacheRevalidateConfig.type String Required 再検証のタイプ
  • IF_POSSIBLE | ALWAYS
    • IF_POSSIBLE: 確認できない場合、古いオブジェクトサービスを提供
    • ALWAYS: オリジンを常に検証
cacheRevalidateConfig.ageType String Required キャッシュ最大保管期間の単位
  • SECONDS | MINUTES | HOURS | DAYS
    • SECONDS: 秒
    • MINUTES: 分
    • HOURS: 時間
    • DAYS: 日
cacheRevalidateConfig.age Integer Required キャッシュの最大保管期間
  • 1秒~365日
ruleBasedRoutingConfig Object Required ルールベースのオリジンルーティング設定
  • ルール条件を満たすと、指定した場所にオリジンをルーティング
ruleBasedRoutingConfig.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
ruleBasedRoutingConfig.originalCopyLocation Object Conditional オリジンサーバ設定
ruleBasedRoutingConfig.originalCopyLocation.type String Conditional オリジンタイプ
  • OBJECT_STORAGE | CUSTOM
    • OBJECT_STORAGE: Object Storage
    • CUSTOM: 外部ドメイン
ruleBasedRoutingConfig.originalCopyLocation.region String Conditional サービスリージョン
  • KR | USWN | SGN | JPN | DEN
    • KR: 韓国
    • USWN: 米国
    • SGN: シンガポール
    • JPN: 日本
    • DEN: ドイツ
  • ruleBasedRoutingConfig.originalCopyLocation.typeOBJECT_STORAGEの場合、必ず入力
ruleBasedRoutingConfig.originalCopyLocation.bucketName String Conditional バケット名
  • ruleBasedRoutingConfig.originalCopyLocation.typeOBJECT_STORAGEの場合、必ず入力
ruleBasedRoutingConfig.originalCopyLocation.customLocation String Conditional オリジンドメイン名
  • ruleBasedRoutingConfig.originalCopyLocation.typeCUSTOMの場合、必ず入力
browserCache Object Required ブラウザキャッシュの設定
  • エッジからクライアントに送信するキャッシュ動作を指定
browserCache.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
browserCache.type String Conditional ブラウザのキャッシュを許可するか
  • ALLOW_CACHE | NO_CACHE
    • ALLOW_CACHE: キャッシュを許可
    • NO_CACHE: キャッシュを許可しない
browserCache.ageType String Conditional キャッシュ最大保管期間の単位
  • SECONDS | MINUTES | HOURS | DAYS
    • SECONDS: 秒
    • MINUTES: 分
    • HOURS: 時間
    • DAYS: 日
browserCache.age Integer Conditional キャッシュの最大保管期間
  • 1秒~365日
cacheKeyQueryParameter Object Required キャッシュキークエリパラメータ設定
  • キャッシュキー作成時にクエリ文字列を含める/無視するかを指定
cacheKeyQueryParameter.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
cacheKeyQueryParameter.type String Conditional 設定タイプ
  • ALL_IGNORED | ALL_ALLOWED | IGNORE_SPECIFIC_STRING | ALLOW_SPECIFIC_STRING
    • ALL_IGNORED: すべて無視
    • ALL_ALLOWED: すべて許可
    • IGNORE_SPECIFIC_STRING: 特定の文字列を無視
    • ALLOW_SPECIFIC_STRING: 特定の文字列を許可
cacheKeyQueryParameter.queryParameters Array Conditional 対象の文字列リスト
  • cacheKeyQueryParameter.typeALLOW_SPECIFIC_STRINGまたはIGNORE_SPECIFIC_STRINGの場合、必ず入力
accessDeny Boolean Required ルール条件(ruleConditions)へのアクセスをブロックするか
  • true | false
    • true: ブロック
    • false: ブロックしない
urlRedirect Object Required URLリダイレクト設定
  • ルール条件を満たすと、オリジンサーバではなくリダイレクトでレスポンス
  • urlRedirectまたはurlRewriteのいずれか1つだけ使用可能
urlRedirect.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
urlRedirect.destinationProtocol String Conditional リダイレクト目的地プロトコル
  • HTTP | HTTPS
urlRedirect.destinationHostname String Conditional リダイレクト目的地ホスト
  • 英数字、記号の「-」、「.」を使用してドメイン形式で入力
urlRedirect.destinationPath String Conditional リダイレクト目的地の詳細パス
urlRedirect.responseCode String Conditional リダイレクトの状態コード
  • MOVED_PERMANENTLY_301 | FOUND_302
    • MOVED_PERMANENTLY_301: 永久的 URL移動
    • FOUND_302: 一時的 URL移動
urlRewrite Object Required URLリライト設定
  • ルール条件を満たすと、リクエストの URLを自動更新
  • urlRedirectまたはurlRewriteのいずれか1つだけ使用可能
urlRewrite.enabled Boolean Required 機能を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • trueの場合、関連情報は必ず入力
urlRewrite.rewriteTarget String Conditional 目的地の詳細パス

ManagedRule

ManagedRuleの説明は次の通りです。

フィールド タイプ 必須の有無 説明
cors Boolean Required CORSヘッダ(オリジン間リソース共有ヘッダ)を追加するか
  • true | false
    • true: 追加
    • false: 追加しない
corsPolicy Object Conditional CORSヘッダ(オリジン間リソース共有ヘッダ)の詳細設定
corsPolicy.allowOrigin String Required Access-Control-Allow-Origin設定
  • Access-Control-Allow-Origin: *と Access-Control-Allow-Credentials: trueは同時設定不可
corsPolicy.allowMethods Array Conditional Access-Control-Allow-Methods設定
  • GET | POST | OPTIONS
  • 設定しない場合、空の値[]を入力
corsPolicy.allowHeaders Array Conditional Access-Control-Allow-Headers設定
  • 設定しない場合、空の値[]を入力
corsPolicy.allowCredentials Boolean Conditional Access-Control-Allow-Credentials設定
  • true | false
  • Access-Control-Allow-Origin: *と Access-Control-Allow-Credentials: trueは同時設定不可
corsPolicy.useMaxAge Boolean Conditional Access-Control-Max-Age設定
  • true | false
    • true: 86400
    • false: 使用しない
http2 Boolean Required HTTP/2(オープンネットワークプロトコル)を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
trueClientIpHeader Boolean Required オリジンサーバへのリクエストフォワード時にヘッダにクライアント IPアドレスヘッダを追加するか
  • true | false
    • true: 追加
    • false: 追加しない
hsts Boolean Required ブラウザアクセスに HTTPSを使用するか
  • true | false
    • true: 使用
    • false: 使用しない

HeaderPolicy

HeaderPolicyの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type String Required ヘッダタイプ
  • ORIGIN_REQUEST | CLIENT_RESPONSE
    • ORIGIN_REQUEST: オリジンサーバにフォワードされるリクエストヘッダ
    • CLIENT_RESPONSE: サーバからクライアントに送信されるレスポンスヘッダ
ruleName String Required ヘッダ設定名
header Object Required ヘッダの詳細設定
header.type String Required アクションタイプ
  • ADD | MODIFY | REMOVE
    • ADD: 追加
    • MODIFY: 更新
    • REMOVE: 削除
header.name String Required ヘッダ名
header.value String Conditional ヘッダ値
  • header.typeADDまたはMODIFYの場合、必ず入力

OptimizationConfig

OptimizationConfigの説明は次の通りです。

フィールド タイプ 必須の有無 説明
httpCompression Boolean Required Gzip、Brotli圧縮転送を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • 使用するとレスポンスタイムを短縮
largeFileOptimization Boolean Required 大容量ファイル転送を使用するか
  • true | false
    • true: 使用
    • false: 使用しない
  • 使用すると、大容量ファイル転送のパフォーマンスと安定性が最適化
headerMaxSize Object Conditional Request Header Size設定
headerMaxSize.singleSize String Required 単一 Header Size設定
  • SIZE_8KB | SIZE_16KB | SIZE_32KB
    • SIZE_8KB: 8192
    • SIZE_16KB: 16384
    • SIZE_32KB: 32768
headerMaxSize.totalSize String Required 全 Header Size設定
  • SIZE_8KB | SIZE_16KB | SIZE_32KB
    • SIZE_8KB: 8192
    • SIZE_16KB: 16384
    • SIZE_32KB: 32768

AccessControl

AccessControlの説明は次の通りです。

フィールド タイプ 必須の有無 説明
type String Required アクセス制御タイプ
  • WHITELIST | BLACKLIST
    • WHITELIST: ホワイトリスト
    • BLACKLIST: ブラックリスト
  • 2つのポリシーのうち、いずれか1つだけ使用可能
ipPolicies Array Required クライアント IPアドレスまたは CIDRブロック
  • IPアドレス形式で入力可能
  • 設定しない場合は、空の値[]を入力
  • ipPoliciesgeoPoliciesrefererPoliciesのうち1つ以上は必ず入力
geoPolicies Array Required クライアント国コード
  • ISO 3166-1 alpha-2国コード基準
  • 設定しない場合、空の値[]を入力
  • ipPoliciesgeoPoliciesrefererPoliciesのうち1つ以上は必ず入力
refererPolicies Array Required HTTPリクエストリファラヘッダ
  • ドメイン形式で入力可能
  • 設定しない場合、空の値[]を入力
  • ipPoliciesgeoPoliciesrefererPoliciesのうち1つ以上は必ず入力

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://edge.apigw.ntruss.com/api/v1/cdn-edge' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
    "profileId": 4210,
    "edgeName": "edge001",
    "distributionConfig": {
        "protocolType": "ALL",
        "regionType": "KOREA",
        "serviceDomain": {
            "domainType": "NCP_DOMAIN_AUTO",
            "domainName": null,
            "certificate": null
        },
        "edgeLogging": {
            "enabled": true,
            "bucketPrefix": "edge/log",
            "objectStorage": {
                "region": "KR",
                "bucketName": "mmmmbucket"
            }
        }
    },
    "originalCopyConfig": {
        "originalCopyLocation": {
            "type": "OBJECT_STORAGE",
            "region": "KR",
            "bucketName": "mybucket"
        },
        "forwardHostHeader": {
            "type": "ORIGIN_HOSTNAME"
        },
        "originalCopyProtocol": {
            "type": "HTTPS",
            "port": 443
        },
        "originalCopyPath": null,
        "originFailoverConfig": {
            "ruleName": "failrule1",
            "statusCodes": [
                "404",
                "500",
                "502",
                "503",
                "504"
            ],
            "originalCopyLocation": {
                "type": "CUSTOM",
                "customLocation": "customdomain.com"
            }
        }
    },
    "cachingConfig": {
        "defaultCaching": {
            "enabled": true,
            "ruleDefinitionType": "CACHING",
            "cacheRevalidateConfig": {
                "type": "IF_POSSIBLE",
                "ageType": "HOURS",
                "age": "10"
            }
        },
        "negativeTtl": true,
        "bypassQueryString": {
            "enabled": true,
            "queryStrings": [
                "aaa",
                "bbb",
                "ccc"
            ]
        },
        "cacheKeyHostname": "INCOMING_HOST_HEADER",
        "cacheKeyIgnoreQueryString": {
            "type": "ALL_ALLOWED"
        },
        "urlLetterCaseIgnoreUse": true,
        "removeVaryHeader": true,
        "edgeAuth": {
            "enabled": true,
            "type": "SIGNED_URL",
            "tokenName": "tokenname",
            "tokenKey": "b7*********************b45"
        },
        "cachingRules": [
            {
                "ruleName": "sample",
                "ruleType": "DIRECTORY",
                "ruleConditions": [
                    "/sample/*"
                ],
                "ruleDefinitionType": "CACHING",
                "cacheRevalidateConfig": {
                    "type": "IF_POSSIBLE",
                    "ageType": "SECONDS",
                    "age": 100
                },
                "ruleBasedRoutingConfig": {
                    "enabled": true,
                    "originalCopyLocation": {
                        "type": "CUSTOM",
                        "region": null,
                        "bucketName": null,
                        "customLocation": "admin.example.co.kr"
                    }
                },
                "browserCache": {
                    "enabled": true,
                    "type": "ALLOW_CACHE",
                    "ageType": "SECONDS",
                    "age": 100
                },
                "cacheKeyQueryParameter": {
                    "enabled": true,
                    "type": "IGNORE_SPECIFIC_STRING",
                    "queryParameters": [
                        "aaa",
                        "bbb",
                        "ccc"
                    ]
                },
                "accessDeny": false,
                "urlRedirect": {
                    "enabled": true,
                    "destinationProtocol": "HTTP",
                    "destinationHostname": "ncloud.com",
                    "destinationPath": "/home",
                    "responseCode": "FOUND_302"
                },
                "urlRewrite": {
                    "enabled": false,
                    "rewriteTarget": null
                }
            }
        ]
    },
    "managedRule": {
        "cors": true,
        "corsPolicy": {
            "allowOrigin": "*",
            "allowMethods": [
                "GET",
                "POST",
                "OPTIONS"
            ],
            "allowHeaders": [
                "origin"
            ],
            "allowCredentials": false,
            "useMaxAge": true
        },
        "http2": true,
        "trueClientIpHeader": true,
        "hsts": false
    },
    "headerPolicies": [
        {
            "type": "ORIGIN_REQUEST",
            "ruleName": "Modify Origin Request Header",
            "header": {
                "type": "ADD",
                "name": "headername",
                "value": "headervalue"
            }
        },
        {
            "type": "CLIENT_RESPONSE",
            "ruleName": "Modify Client Response Header",
            "header": {
                "type": "MODIFY",
                "name": "rheadername",
                "value": "rheadervalue"
            }
        }
    ],
    "optimizationConfig": {
        "httpCompression": true,
        "largeFileOptimization": true,
        "headerMaxSize": {
            "singleSize": "SIZE_16KB",
            "totalSize": "SIZE_32KB"
      }
    },
    "accessControl": {
        "type": "WHITELIST",
        "ipPolicies": [
            "1.1.1.1",
            "2.2.2.2",
            "3.3.3.3"
        ],
        "geoPolicies": [
            "AL",
            "SK",
            "ZM"
        ],
        "refererPolicies": [
            "ncloud.com",
            "naver.com"
        ]
    }
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
code String - レスポンスコード
message String - レスポンスメッセージ
result Object - レスポンス結果
result.edgeId Integer - エッジ ID

レスポンスステータスコード

Global Edge APIで共通して使用されるレスポンスステータスコードの詳細は、Global Edgeのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "code": "0000",
    "message": "Success",
    "result": {
        "edgeId": 11207
    }
}