質問編集履歴
3
情報の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -83,4 +83,71 @@
|
|
83
83
|
aws_lambda_permissionのsource_arnを下記に設定してもダメでした。
|
84
84
|
```ここに言語を入力
|
85
85
|
source_arn = "${aws_api_gateway_rest_api.example.execution_arn}/*/GET/servers/*/users/*/config"
|
86
|
+
```
|
87
|
+
### 問題②の解決案実行後の手順
|
88
|
+
apply後にGUIでlambdaの再設定を行いました。
|
89
|
+
その際、lambdaにてトリガーが追加されていたので、追加された分を削除しました。
|
90
|
+
apigatewayでtestを実行すると200となります。
|
91
|
+
|
92
|
+

|
93
|
+
|
94
|
+
解決案の通り、terraformでplanを実行した所以下のような変更点が出力されました。
|
95
|
+
|
96
|
+
```ここに言語を入力
|
97
|
+
Terraform will perform the following actions:
|
98
|
+
|
99
|
+
# aws_api_gateway_deployment.example must be replaced
|
100
|
+
+/- resource "aws_api_gateway_deployment" "example" {
|
101
|
+
~ created_date = "2021-11-02T23:22:48Z" -> (known after apply)
|
102
|
+
~ execution_arn = "arn:aws:execute-api:ap-northeast-1:アカウントID:jlihn3alu4/" -> (known after apply)
|
103
|
+
~ id = "todot6" -> (known after apply)
|
104
|
+
~ invoke_url = "https://jlihn3alu4.execute-api.ap-northeast-1.amazonaws.com/" -> (known after apply)
|
105
|
+
~ triggers = {
|
106
|
+
- "redeployment" = "3875530b499ff01a701c50620346694f9e676d2c"
|
107
|
+
} -> (known after apply) # forces replacement
|
108
|
+
# (1 unchanged attribute hidden)
|
109
|
+
}
|
110
|
+
|
111
|
+
# aws_api_gateway_integration.example must be replaced
|
112
|
+
+/- resource "aws_api_gateway_integration" "example" {
|
113
|
+
- cache_key_parameters = [] -> null
|
114
|
+
~ cache_namespace = "qj8p2r" -> (known after apply)
|
115
|
+
- content_handling = "CONVERT_TO_TEXT" -> null
|
116
|
+
~ id = "agi-jlihn3alu4-qj8p2r-GET" -> (known after apply)
|
117
|
+
~ integration_http_method = "POST" -> "GET" # forces replacement
|
118
|
+
~ passthrough_behavior = "WHEN_NO_MATCH" -> (known after apply)
|
119
|
+
- request_parameters = {} -> null
|
120
|
+
- request_templates = {} -> null
|
121
|
+
# (7 unchanged attributes hidden)
|
122
|
+
}
|
123
|
+
|
124
|
+
# aws_api_gateway_stage.example will be updated in-place
|
125
|
+
~ resource "aws_api_gateway_stage" "example" {
|
126
|
+
~ deployment_id = "todot6" -> (known after apply)
|
127
|
+
id = "ags-jlihn3alu4-stg"
|
128
|
+
tags = {}
|
129
|
+
# (9 unchanged attributes hidden)
|
130
|
+
}
|
131
|
+
|
132
|
+
Plan: 2 to add, 1 to change, 2 to destroy.
|
133
|
+
```
|
134
|
+
-マークの付いていた下記をコード上で設定しました。
|
135
|
+
しかしapply後Api Gatewayでのtestで500エラーとなってしまいます。
|
136
|
+
```
|
137
|
+
- cache_key_parameters = [] -> null
|
138
|
+
- request_parameters = {} -> null
|
139
|
+
- request_templates = {} -> null
|
140
|
+
- content_handling = "CONVERT_TO_TEXT" -> null
|
141
|
+
|
142
|
+
以下のように設定
|
143
|
+
content_handling = "CONVERT_TO_TEXT"
|
144
|
+
request_parameters = {}
|
145
|
+
request_templates = {}
|
146
|
+
cache_key_parameters = []
|
147
|
+
```
|
148
|
+
#####不明な変更点
|
149
|
+
以下の変更点は、POSTの設定はないのにも関わらず出力されているので不明です。
|
150
|
+
```ここに言語を入力
|
151
|
+
POSTの設定してないので、なぜこれが変更点として出るのかは分かりません。
|
152
|
+
~ integration_http_method = "POST" -> "GET" # forces replacement
|
86
153
|
```
|
2
追加情報
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,8 +48,39 @@
|
|
48
48
|
権限の問題かと思ったのですが、aws_lambda_permissionは設定しています。
|
49
49
|
足りない部分があればご教授お願いします。
|
50
50
|
|
51
|
+
|
51
52
|
### お願いしたいこと
|
52
53
|
|
53
54
|
terraformでの設定値が足りないのか、仕様なのか判断が付きません。
|
54
55
|
1度のapplyでlambda関数が反映され、Apigatewayのテストを実行しても200が返ってくる様にしたいです。
|
55
|
-
何卒ご教授お願いします。
|
56
|
+
何卒ご教授お願いします。
|
57
|
+
|
58
|
+
### 問題②について追加情報
|
59
|
+
lambdaのコードを追加しました。
|
60
|
+
```HCL
|
61
|
+
resource "aws_lambda_function" "example" {
|
62
|
+
function_name = "example"
|
63
|
+
role = aws_iam_role.lambda.arn
|
64
|
+
handler = "lambda_function.lambda_handler"
|
65
|
+
runtime = "python3.7"
|
66
|
+
filename = "lambda_function.zip"
|
67
|
+
description = "Sample"
|
68
|
+
memory_size = "128"
|
69
|
+
timeout = "3"
|
70
|
+
tags = {
|
71
|
+
"Name" = "Example-lmd"
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
resource "aws_lambda_permission" "example" {
|
76
|
+
statement_id = "AllowAPILambdaPremission"
|
77
|
+
action = "lambda:InvokeFunction"
|
78
|
+
function_name = aws_lambda_function.example.function_name
|
79
|
+
principal = "apigateway.amazonaws.com"
|
80
|
+
source_arn = "${aws_api_gateway_rest_api.example.execution_arn}/*"
|
81
|
+
}
|
82
|
+
```
|
83
|
+
aws_lambda_permissionのsource_arnを下記に設定してもダメでした。
|
84
|
+
```ここに言語を入力
|
85
|
+
source_arn = "${aws_api_gateway_rest_api.example.execution_arn}/*/GET/servers/*/users/*/config"
|
86
|
+
```
|
1
文章の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
仕様なのか設定に不足があるのかが分かりません。
|
7
7
|
|
8
|
-
### 発生している問題①
|
8
|
+
### 発生している問題①APIgatewayに設定が反映されない
|
9
9
|
コード内でLamdaをしているのに統合リクエストのLambda関数が空欄になり、設定されない状態となります。
|
10
10
|
もう一度applyするとlambda関数は選択された状態になります。
|
11
11
|

|
@@ -33,7 +33,7 @@
|
|
33
33
|
}
|
34
34
|
```
|
35
35
|
|
36
|
-
### 発生している問題②
|
36
|
+
### 発生している問題②権限情報が足りてない?
|
37
37
|

|
38
38
|
2度目のapplyでlambdaが設定されても、Apigatewayでテストを実行すると500エラーとなります。
|
39
39
|
|
@@ -46,6 +46,7 @@
|
|
46
46
|
}
|
47
47
|
```
|
48
48
|
権限の問題かと思ったのですが、aws_lambda_permissionは設定しています。
|
49
|
+
足りない部分があればご教授お願いします。
|
49
50
|
|
50
51
|
### お願いしたいこと
|
51
52
|
|