Unable to access some tables in Redshift which are external from Athena - amazon-web-services

No data is getting printed when I run the table in redshift which has huge data and it is working fine in Athena but not in redshift, can anybody help me with ways to access the data.

There could be multiple causes of this issue:
Role you have created external table does not have access to S3 bucket.
If the role has access to S3 bucket that also needs to be associated with the redshift cluster.
There could be a S3-based policy restricting the getObject access with bucket name or bucket_name_* in the resources.
Check if there is endpoint created in VPC for S3 bucket and check any policy restricting the S3 bucket access..
For testing, create separate bucket load data into it, and try creating an external table using data. catalog and check if it is accessible.

Related

When creating a new instance of Snowflake hosted on AWS, is the data storage to S3 automatically setup?

I've created a new instance of Snowflake hosted on AWS. Is the data storage component in S3 automatically setup? If not, what pieces of information do I need to configure it (assuming I already have an S3 instance created)
The storage that Snowflake uses to store and maintain the databases is created automatically by Snowflake. You will see the amount of storage used by each table in the tables listing.
If you need to load source files from an S3 bucket, you will need to create an external stage, and then run the 'COPY INTO' command.
https://docs.snowflake.com/en/user-guide/data-load-s3.html
In order to set up the External Stage using AWS S3, you have got 3 options:
Option 1: Configuring a Snowflake Storage Integration to Access Amazon S3
Option 2: Configuring an AWS IAM Role to Access Amazon S3 — Deprecated
Option 3: Configuring AWS IAM User Credentials to Access Amazon S3

Does data in Amazon S3 go on public internet when i use job glue?

I'm using AWS services to create a datapipeline
I have data stored in an Amazon S3 bucket and I plan to use the glue crawler to crawl the data under a prefix to extract the metadata and after a glue job to do ETL and save the data in another bucket.
My question is : in which network the services works and communicates each other? it is possible that the data will be moved from Amazon S3 to glue through the public internet?
is there any link to aws documentation that explain which networks AWS services uses when they transfer data between them?
You need to grand explicit permission to any resource to be able access your S3 bucket.
AIM Roles. Using policy create a role and attach that role to AWS resource.
Bucket Policy is another mechanism to grant access.
By default everything is private, you need to grant access otherwise No is not accessible from the internet.

Can I access a AWS S3 Bucket with "Bucket and objects not public" access via AWS Quicksight?

There is a S3 bucket that has "Bucket and objects not public" access. Within Athena, there is table that is pulling data from the S3 bucket successfully. However, I cannot pull the data from Athena to Quicksight. My conclusion is that it is because the S3 bucket has "Bucket and objects not public" access. Is this correct?
Is it the case that Athena has some kind of special access to the S3 bucket, but Quicksight doesn't?
Here is a crude illustration of the issue:
I'm a total beginner when it comes to AWS so I apologise for missing any information.
Thanks in advance.
To verify that you can connect Amazon QuickSight to Athena, check the following settings:
AWS resource permissions inside of Amazon QuickSight
AWS IAM policies
S3 bucket location
Query results location
If S3 bucket location and Query results location are correct, you might have issues with Amazon QuickSight resource permissions. You have to make sure that Amazon QuickSight can access the S3 buckets used by Athena:
Choose your profile name. Choose Manage QuickSight, then choose Security & permissions.
Choose Add or remove.
Locate Athena, select it to enable Athena. (choose Connect both)
Choose the buckets that you want to access and click Select.
Choose Update.

Is it possible to unload my orgs redshift data to an s3 bucket outside of my org?

I am trying to unload my organizations redshift data to a vendors s3 bucket. They have provided me with Access Keys and Secret Access Keys but Im getting a 403 Access Denied Error. I want to make sure its not an issue with the credentials they sent me and am reaching out. Is this even possible?
Yes, That's possible. Here are the steps.
unload the redshift data to bucket associated to the current account.
unload ('select * from table')
to 's3://mybucket/table'
Mybucket should have replication configured to the vendor s3 bucket. use the below s3 replication to configure the replication

Should Quicksight Need Access to the S3 Bucket Athena Is Querying?

I have set up a reporting stack using data stored in S3, schema mapped by AWS Glue, queried by Amazon Athena, and visualized in Amazon QuickSight.
I gave QuickSight permissions to access the three aws-athena-query-results buckets I have (see below)
However, when I try to build reports based on my Athena table, it throws an error. I went back in and explicitly gave it access to the S3 bucket that holds my raw data, and now I have visualizations.
My question is whether or not this is how it should need to be set up. My assumption was that Athena has access to S3, and QuickSight has access to Athena and it's results, so it shouldn't need direct access to each S3 bucket storing raw data. It seems it would generate a lot of overhead each time there is a new S3 bucket to be reported on that you need to go grant Athena and QuickSight access.
From reading this page: Troubleshoot Athena Insufficient Permissions, it's unclear which buckets are required.
Yes, at the moment, QuickSight needs to be granted explicit access to both Athena and the underlying buckets that Athena accesses. I got this answer from discussion with Amazon so, unfortunately, I don't have source to link.