{"id":24429,"date":"2023-08-25T14:09:03","date_gmt":"2023-08-25T05:09:03","guid":{"rendered":"https:\/\/www.skyarch.net\/blog\/?p=24429"},"modified":"2023-08-25T14:09:03","modified_gmt":"2023-08-25T05:09:03","slug":"aws-cdk-%e3%81%ae-l2-construct-%e3%81%a7%e3%83%aa%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e4%be%9d%e5%ad%98%e9%96%a2%e4%bf%82%e3%82%92%e6%98%8e%e7%a4%ba%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.skyarch.net\/blog\/aws-cdk-%e3%81%ae-l2-construct-%e3%81%a7%e3%83%aa%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%ae%e4%be%9d%e5%ad%98%e9%96%a2%e4%bf%82%e3%82%92%e6%98%8e%e7%a4%ba%e3%81%99%e3%82%8b\/","title":{"rendered":"AWS CDK \u306e L2 Construct \u3067\u30ea\u30bd\u30fc\u30b9\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u3059\u308b"},"content":{"rendered":"<h1>\u3084\u308a\u305f\u3044\u3053\u3068<\/h1>\n<p>AWS CDK \u306e L2 Construct \u3067\u30ea\u30bd\u30fc\u30b9\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\n\u79c1\u306e\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30ab\u30b9\u30bf\u30e0\u30ea\u30bd\u30fc\u30b9\u3092\u8a18\u8ff0\u3057\u3066\u3044\u305f\u6642\u306b\u4f9d\u5b58\u95a2\u4fc2\u306e\u660e\u793a\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nfrom aws_cdk import CustomResource\r\n\r\n...\r\n\r\n        # 1. AWS Organizations: \u3059\u3079\u3066\u306e\u6a5f\u80fd\u306e\u6709\u52b9\u5316\r\n        enable_all_features = CustomResource( 'EnableAllFeatures',\r\n            service_token=custom_resource_provider.service_token,\r\n            properties={\r\n                'ClassName': 'EnableAllFeatures',\r\n            }\r\n        )\r\n\r\n        # 2. AWS Organizations: Service Control Policy \u306e\u6709\u52b9\u5316\r\n        enable_policy_types = CustomResource( 'EnablePolicyTypes',\r\n            service_token=custom_resource_provider.service_token,\r\n            properties={\r\n                'ClassName': 'EnablePolicyTypes',\r\n                'PolicyTypes': ','.join(&#x5B;\r\n                    'SERVICE_CONTROL_POLICY',\r\n                ])\r\n            }\r\n        )\r\n<\/pre>\n<p>AWS Organizations \u306e\u8a71\u306f\u672c\u7b4b\u3068\u306f\u7570\u306a\u308b\u305f\u3081\u8a73\u7d30\u3092\u7701\u304d\u307e\u3059\u304c\u3001<br \/>\n\u30ab\u30b9\u30bf\u30e0\u30ea\u30bd\u30fc\u30b9\u3067\u4ee5\u4e0b\u306e\u51e6\u7406\u3092\u5b9f\u65bd\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<ol>\n<li>\u3059\u3079\u3066\u306e\u6a5f\u80fd\u306e\u6709\u52b9\u5316<\/li>\n<li>Service Control Policy \u306e\u6709\u52b9\u5316<\/li>\n<\/ol>\n<p>\u3053\u306e\u51e6\u7406\u306b\u306f\u4f9d\u5b58\u95a2\u4fc2\u304c\u3042\u308a\u30011 -&gt; 2 \u306e\u9806\u3067\u5b9f\u65bd\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br \/>\n\u305f\u3060\u3057 <code>CustomResource<\/code> \u306e\u3088\u3046\u306a L2 Construct \u306b\u306f<br \/>\nL1 Construct (CfnXXXX) \u306e\u3088\u3046\u306a <code>add_dependency<\/code> \u30e1\u30bd\u30c3\u30c9\u304c\u7121\u3044\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u66f8\u304d\u65b9\u306f\u51fa\u6765\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n        # 1. AWS Organizations: \u3059\u3079\u3066\u306e\u6a5f\u80fd\u306e\u6709\u52b9\u5316\r\n        enable_all_features = CustomResource( 'EnableAllFeatures',\r\n            service_token=custom_resource_provider.service_token,\r\n            properties={\r\n                'ClassName': 'EnableAllFeatures',\r\n            }\r\n        )\r\n\r\n        # 2. AWS Organizations: Service Control Policy \u306e\u6709\u52b9\u5316\r\n        enable_policy_types = CustomResource( 'EnablePolicyTypes',\r\n            service_token=custom_resource_provider.service_token,\r\n            properties={\r\n                'ClassName': 'EnablePolicyTypes',\r\n                'PolicyTypes': ','.join(&#x5B;\r\n                    'SERVICE_CONTROL_POLICY',\r\n                ])\r\n            }\r\n        )\r\n        enable_policy_types.add_dependency(enable_all_features)\r\n<\/pre>\n<h1>\u89e3\u6c7a\u65b9\u6cd5<\/h1>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306b <code>node.add_dependency()<\/code> \u3068\u3059\u308b\u3053\u3068\u3067\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n        # 1. AWS Organizations: \u3059\u3079\u3066\u306e\u6a5f\u80fd\u306e\u6709\u52b9\u5316\r\n        enable_all_features = CustomResource( 'EnableAllFeatures',\r\n            service_token=custom_resource_provider.service_token,\r\n            properties={\r\n                'ClassName': 'EnableAllFeatures',\r\n            }\r\n        )\r\n\r\n        # 2. AWS Organizations: Service Control Policy \u306e\u6709\u52b9\u5316\r\n        enable_policy_types = CustomResource( 'EnablePolicyTypes',\r\n            service_token=custom_resource_provider.service_token,\r\n            properties={\r\n                'ClassName': 'EnablePolicyTypes',\r\n                'PolicyTypes': ','.join(&#x5B;\r\n                    'SERVICE_CONTROL_POLICY',\r\n                ])\r\n            }\r\n        )\r\n        enable_policy_types.node.add_dependency(enable_all_features)\r\n<\/pre>\n<p>\u4ee5\u4e0b\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002<\/p>\n<p><a href=\"https:\/\/stackoverflow.com\/questions\/61250772\/how-can-i-create-a-dependson-relation-between-ec2-and-rds-using-aws-cdk\" target=\"_blank\" rel=\"noopener\">How can I create a DependsOn relation between EC2 and RDS using aws-cdk<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3084\u308a\u305f\u3044\u3053\u3068 AWS CDK \u306e L2 Construct \u3067\u30ea\u30bd\u30fc\u30b9\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u3057\u305f\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002 \u79c1\u306e\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30ab\u30b9\u30bf\u30e0\u30ea\u30bd\u30fc\u30b9\u3092\u8a18\u8ff0\u3057\u3066\u3044\u305f\u6642\u306b\u4f9d\u5b58\u95a2\u4fc2\u306e\u660e\u793a\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3057\u305f\u3002 from aws&#8230;<\/p>\n","protected":false},"author":60,"featured_media":24045,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"ja","_original_post":"https:\/\/www.skyarch.net\/blog\/?p=24429","footnotes":""},"categories":[20,829],"tags":[102,706],"class_list":{"0":"post-24429","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-aws","8":"category-cdk","9":"tag-aws","10":"tag-aws-cdk","11":"ja"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/24429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/comments?post=24429"}],"version-history":[{"count":5,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/24429\/revisions"}],"predecessor-version":[{"id":24434,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/24429\/revisions\/24434"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/media\/24045"}],"wp:attachment":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/media?parent=24429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/categories?post=24429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/tags?post=24429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}