湖AWS湖形成を用いたデータ共有
7089 ワード
湖の形成は確実にビジネスユニット間のデータを共有し、頭痛を引き起こすことなくソリューションをスケールする組織を可能にします.データを別のチームに属して別のAWSアカウントに格納することができます.
データ共有を可能にするAWSサービス
AWS接着剤
2 )湖形成
AWS接着剤
AWSの接着剤は、データカタログの作成に役立つデータリポジトリのクロールを可能にする管理サービスです.
ジョブは、接着剤によって提供される抽出、変換、およびロード(ETL)ツールです.困難の1つは、IAMの役割とポリシーでロールベースのアクセス制御を使用して接着剤でアクセスを共有することができますが、これは基礎となるストレージメカニズムの知識を必要とします.
また、グルーカタログとS 3バケットの両方のポリシーを作成する必要があります.
湖の形成
AWS湖の形成は、アカウント全体のアクセス管理とリソース共有を簡素化します.湖の形成は、SQLの専門家が認識する簡単な付与メカニズムを提供しています.
これらの補助金は、IAMアイデンティティ、AWSアカウント、またはAWS組織またはOU全体に行われる.
湖の形成は、クロスアカウントリソース共有を作成するための補助金を作成した後、AWSリソースアクセスマネージャと統合します.
共有カタログカタログリソースは、ターゲットアカウントの湖形成管理者のローカルデータカタログで表示されます.
解決概要
AWSアカウント間でデータを共有し、マルチソースデータ解析ソリューションを有効にします.
ソリューションコンポーネント
集中データアカウント
1 )データをS 3に格納する
2 )データが見えるようにデータを表示し、スキーマが既知であるカタログ
3 )他のAWSアカウントへのデータの共有
消費データアカウント
1 )ソースアカウントのデータを問い合わせる
以下の図は、これらのコンポーネントがどのように連携して解決するかを示しています.
湖形成の設定
1)湖づくり管理者を置く.
管理者は、アカウント内およびアカウント間のデータカタログリソースへのアクセスを管理することができます.
湖形成管理者は、IAMユーザーまたはIAM役割のどちらでもありえます.
2)IAMから湖形成天然補助物質への湖沼形成許可モデルの変更
3 )集中化データケ
4 ) AWS CLIまたはS 3コンソールからファイルをアップロードする
AWS CLIまたはS 3コンソールからファイルをアップロードできます.
シンク.S 3 :/my source bucket
クローラーを追加し、バケットを読む許可を与え、カタログに書きます
このCFNスタックを使用して、上記の手順に記載のリソースを展開します
7)当座預金
クロスアカウントのアクセスを有効にするには、湖の形成助成金を追加し、消費者アカウント番号を指定する必要があります.
消費者アカウントとセットアップ湖形成ベース設定にログインしてください:
1)湖形成管理者の設定
データレイクアカウントのデータベースへのリソースリンクを作成します.残念ながら、これはまだCloudFormation経由で利用できません.湖の形成コンソールで、[データベース]をクリックします.
3 )オープンアテナコンソールでは、あなたのようなデータベースとテーブルスキーマを見ることができます.今、すべてのテーブルを問い合わせて、結果を返すことを確認することです.
データ共有を可能にするAWSサービス
AWS接着剤
2 )湖形成
AWS接着剤
AWSの接着剤は、データカタログの作成に役立つデータリポジトリのクロールを可能にする管理サービスです.
ジョブは、接着剤によって提供される抽出、変換、およびロード(ETL)ツールです.困難の1つは、IAMの役割とポリシーでロールベースのアクセス制御を使用して接着剤でアクセスを共有することができますが、これは基礎となるストレージメカニズムの知識を必要とします.
また、グルーカタログとS 3バケットの両方のポリシーを作成する必要があります.
湖の形成
AWS湖の形成は、アカウント全体のアクセス管理とリソース共有を簡素化します.湖の形成は、SQLの専門家が認識する簡単な付与メカニズムを提供しています.
これらの補助金は、IAMアイデンティティ、AWSアカウント、またはAWS組織またはOU全体に行われる.
湖の形成は、クロスアカウントリソース共有を作成するための補助金を作成した後、AWSリソースアクセスマネージャと統合します.
共有カタログカタログリソースは、ターゲットアカウントの湖形成管理者のローカルデータカタログで表示されます.
解決概要
AWSアカウント間でデータを共有し、マルチソースデータ解析ソリューションを有効にします.
ソリューションコンポーネント
集中データアカウント
1 )データをS 3に格納する
2 )データが見えるようにデータを表示し、スキーマが既知であるカタログ
3 )他のAWSアカウントへのデータの共有
消費データアカウント
1 )ソースアカウントのデータを問い合わせる
以下の図は、これらのコンポーネントがどのように連携して解決するかを示しています.
湖形成の設定
1)湖づくり管理者を置く.
管理者は、アカウント内およびアカウント間のデータカタログリソースへのアクセスを管理することができます.
湖形成管理者は、IAMユーザーまたはIAM役割のどちらでもありえます.
2)IAMから湖形成天然補助物質への湖沼形成許可モデルの変更
3 )集中化データケ
4 ) AWS CLIまたはS 3コンソールからファイルをアップロードする
AWS CLIまたはS 3コンソールからファイルをアップロードできます.
シンク.S 3 :/my source bucket
クローラーを追加し、バケットを読む許可を与え、カタログに書きます
このCFNスタックを使用して、上記の手順に記載のリソースを展開します
AWSTemplateFormatVersion: '2010-09-09'
Description: My data lake source
Resources:
LakeformationSettings:
Type: AWS::LakeFormation::DataLakeSettings
Properties:
Admins:
- DataLakePrincipalIdentifier: arn:aws:iam::XXXXXXXXX:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_AWSAdministratorAccess_85c5426c350156b8
MySourceDataStore:
Type: AWS::S3::Bucket
DeletionPolicy: Delete
Properties:
AccessControl: Private
BucketName: !Sub 'my-source-data-store-${AWS::Region}-${AWS::AccountId}'
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
MySourceGlueDatabase:
Type: AWS::Glue::Database
Properties:
CatalogId: !Ref AWS::AccountId
DatabaseInput:
Name: my-source-glue-database-demo
Description: String
MySourceCrawlerRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: 'Allow'
Principal:
Service:
- 'glue.amazonaws.com'
Action:
- 'sts:AssumeRole'
Path: '/'
Policies:
- PolicyName: 'root'
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- 'glue:*'
Resource: '*'
- Effect: Allow
Action:
- 'logs:CreateLogGroup'
- 'logs:CreateLogStream'
- 'logs:PutLogEvents'
- 'logs:AssociateKmsKey'
Resource: '*'
- Effect: Allow
Action: 's3:ListBucket'
Resource: !GetAtt MySourceDataStore.Arn
- Effect: Allow
Action: 's3:GetObject'
Resource: !Sub
- '${Bucket}/*'
- { Bucket: !GetAtt MySourceDataStore.Arn }
MySourceCrawler:
Type: AWS::Glue::Crawler
Properties:
Name: my-source-data-crawler
Role: !GetAtt MySourceCrawlerRole.Arn
DatabaseName: !Ref MySourceGlueDatabase
Targets:
S3Targets:
- Path: !Ref MySourceDataStore
SchemaChangePolicy:
UpdateBehavior: 'UPDATE_IN_DATABASE'
DeleteBehavior: 'LOG'
SourceCrawlerLakeGrants:
Type: AWS::LakeFormation::Permissions
Properties:
DataLakePrincipal:
DataLakePrincipalIdentifier: !GetAtt MySourceCrawlerRole.Arn
Permissions:
- ALTER
- DROP
- CREATE_TABLE
Resource:
DatabaseResource:
Name: !Ref MySourceGlueDatabase
DatalakeLocation:
Type: AWS::LakeFormation::Resource
Properties:
ResourceArn: !GetAtt MySourceDataStore.Arn
RoleArn: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess
UseServiceLinkedRole: true
6 )クローラを展開したときは、接着剤コンソールで見ることができます.7)当座預金
クロスアカウントのアクセスを有効にするには、湖の形成助成金を追加し、消費者アカウント番号を指定する必要があります.
CrossAccountLakeGrants:
Type: AWS::LakeFormation::Permissions
Properties:
DataLakePrincipal:
DataLakePrincipalIdentifier: "XXXXXXXXXX" # Consumer account number
Permissions:
- SELECT
PermissionsWithGrantOption:
- SELECT
Resource:
TableResource:
DatabaseName: !Ref MySourceGlueDatabase
Name: !Sub 'my_source_data_store_ap_southeast_2_${AWS::AccountId}'
8 )消費者アカウントのセットアップ許可消費者アカウントとセットアップ湖形成ベース設定にログインしてください:
1)湖形成管理者の設定
AWSTemplateFormatVersion: '2010-09-09'
Description: My consumer data lake setup
Resources:
LakeformationSettings:
Type: AWS::LakeFormation::DataLakeSettings
Properties:
Admins:
- DataLakePrincipalIdentifier: arn:aws:iam::XXXXXXXXXX:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_AWSAdministratorAccess_56cabj890003333
2 )湖づくり補助金の投入データレイクアカウントのデータベースへのリソースリンクを作成します.残念ながら、これはまだCloudFormation経由で利用できません.湖の形成コンソールで、[データベース]をクリックします.
3 )オープンアテナコンソールでは、あなたのようなデータベースとテーブルスキーマを見ることができます.今、すべてのテーブルを問い合わせて、結果を返すことを確認することです.
Reference
この問題について(湖AWS湖形成を用いたデータ共有), 我々は、より多くの情報をここで見つけました https://dev.to/selvapal/data-sharing-using-lake-aws-lake-formation-2n2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol