![ロールを設定するだけでは、AWS Fargate の RDS および Elasticache Redis にアクセスできないのでしょうか?](https://rvso.com/image/782593/%E3%83%AD%E3%83%BC%E3%83%AB%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%AF%E3%80%81AWS%20Fargate%20%E3%81%AE%20RDS%20%E3%81%8A%E3%82%88%E3%81%B3%20Elasticache%20Redis%20%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
Fargate のタスク ロールを通じて、AWS サービス RDS と Elasticache Redis にアクセスしようとしました。
タスクロールにサービスのフルアクセスを付与したのですが、接続できなかったので、セキュリティグループ設定でサブネットを許可したところ、接続が可能になりました。
本来のロールとセキュリティグループを設定した後にのみアクセスすることは可能ですか?
それとも役割を適切に設定しなかったのでしょうか?
答え1
タスクロールの権限により、AWS API へのアクセスが付与され、タスクは新しい RDS サーバーまたは ElastiCache サーバーの作成などの操作を実行できるようになります。これらの IAM 権限では、RDS サーバーまたは ElastiCache サーバーに接続するためのアクセス権は付与されません。また、これらの権限を追加しても、ネットワーク レベルでデータベース サーバーのファイアウォールのポートが開かれることはありません。
RDS サーバーに接続するには、そのデータベース サーバーのネットワーク ポートでデータベース ドライバー (PostgreSQL、MySQL、選択した RDBMS) とのネットワーク接続を確立する必要があります。同様に、ElastiCache サーバーに接続するには、Redis クライアントを使用して、Redis がリッスンしているポートに接続を確立する必要があります。データベースへの接続を確立する際には、タスク IAM ロールはまったく使用されません。AWS API で何も実行されず、直接データベース ネットワーク接続が確立されるためです。