質問編集履歴

3

追加修正

2020/11/17 09:18

投稿

212Yuichi
212Yuichi

スコア15

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
   この場合はなぜかdynamoDBアクセスの処理でエラーとなって止まっている
40
40
 
41
-  (エラーメッセージはなく、後続処理がされないことで特定済み
41
+  (エラーメッセージ「An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials」
42
42
 
43
43
 
44
44
 

2

質問内容の修正・加筆

2020/11/17 09:18

投稿

212Yuichi
212Yuichi

スコア15

test CHANGED
File without changes
test CHANGED
@@ -1,24 +1,24 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- AWS EC2インスタンス起動時にpythonスクリプトを起動する処理を組み込みたいが、
3
+ lambda関数でboto3を利用しEC2インスタンス起動時に「dynamoDBにアクセスするpythonスクリプト実行したい
4
-
5
- その中でdynamoDBにアクセスする処理があるとうまく起動しない状態を解消したい
4
+
6
-
7
-
8
-
9
-
10
-
11
-
12
-
5
+
6
+
7
+
8
+
9
+
10
+
13
- AWS lambdaにて指定のEC2インスタンスを起動(boto3ec2.start_instances()で起動)した
11
+ AWS lambdaにて指定のEC2インスタンスを起動(lambda関数4行目処理)したとき
14
-
12
+
15
- EC2インスタンスの /etc/init.d に設定しているshellからpythonスクリプトを自動起動する処理を
13
+ EC2インスタンスの /etc/init.d に設定しているshellからpythonスクリプトを実行する処理を組み込もうとしています。
16
-
14
+
15
+
16
+
17
- 設定しています。そのpythonスクリプトの中でdynamoDBにアクセスしていのです
17
+ pythonスクリプトをEC2起動時に実行することは成功しているですが、pythonの中で dynamoDBにアクセス処理
18
-
18
+
19
- 権限設定がうまくいっていないのかpythonスクリプト自動起動しくれせん
19
+ あるとそこでエラーとなっていて後続処理行われず困っ
20
-
21
- (dynamoDBアクセス部分をコメントアウトすると想定通りに動きます)
20
+
21
+
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,19 @@
26
26
 
27
27
 
28
28
 
29
+ 〇実現できていること
30
+
31
+  cloud9でEC2を起動し、ターミナルで「/etc/init.d/app_start start」(shell起動コマンド)を実行すると、
32
+
29
- dynamoDBアクセスする処理るpythonスクリプトをEC2起動時に自動実行できようにしたい
33
+  dynamoDBへのアクセス処理っても問題なく後続処理まで実行され
34
+
35
+
36
+
37
+ ×lambda関数でboto3を利用してEC2を起動した場合、同様にshellが起動しpythonスクリプトが実行されるが、
38
+
39
+  この場合はなぜかdynamoDBアクセスの処理でエラーとなって止まっている
40
+
41
+  (エラーメッセージはなく、後続処理がされないことで特定済み)
30
42
 
31
43
 
32
44
 
@@ -50,6 +62,12 @@
50
62
 
51
63
 
52
64
 
65
+
66
+
67
+ 以下、EC2内の設定ファイル
68
+
69
+
70
+
53
71
  ■起動shell (/etc/init.d/app_start)
54
72
 
55
73
 
@@ -146,9 +164,7 @@
146
164
 
147
165
  ・起動shell内で ec2-user で実行するようにしないとうまく動かなかったので su -l ec2-user -c している。
148
166
 
149
- cloud9でEC2を立ち上げ「/etc/init.d/app_start start」すると、うまく動くが、lambdaら上記の通り
167
+ 以下の通り様々なポリシーをロールに設定しlambda、EC2に割り当てみたが、うまく動かない。
150
-
151
-  実行したときはうまく動かない
152
168
 
153
169
 
154
170
 
@@ -168,8 +184,6 @@
168
184
 
169
185
 
170
186
 
171
-
172
-
173
187
  ■EC2インスタンス
174
188
 
175
189
  ・AmazonEC2FullAccess
@@ -193,3 +207,13 @@
193
207
 
194
208
 
195
209
  ・AWS Amazon linux
210
+
211
+
212
+
213
+
214
+
215
+ lambda関数からboto3を使った場合の権限とcloud9でEC2内で直接shell実行したときとで
216
+
217
+ 実行権限が何か違ってエラーとなっているのではないかと思っていますが、次の一手がなく困っています。
218
+
219
+ 何か解決策になりそうなものがございましたら、ご教示頂けると幸いです。

1

質問内容の編集・加筆

2020/11/17 06:50

投稿

212Yuichi
212Yuichi

スコア15

test CHANGED
File without changes
test CHANGED
@@ -168,6 +168,8 @@
168
168
 
169
169
 
170
170
 
171
+
172
+
171
173
  ■EC2インスタンス
172
174
 
173
175
  ・AmazonEC2FullAccess