2019 年 4 月の Google Cloud Next '19 サンフランシスコで Cloud Run が発表されてから数カ月が経ち、検討フェーズから本番環境での利用も視野に入れている方に向けて、この放送では Cloud Run を使ったサーバーレス アプリケーションを開発するための実践的な Tips を解説します。また他のサーバーレス サービスとの連携や使い分けについても説明します。
PFN福田圭祐による東大大学院「融合情報学特別講義Ⅲ」(2022年10月19日)の講義資料です。
・Introduction to Preferred Networks
・Our developments to date
・Our research & platform
・Simulation ✕ AI
PFN Summer Internship 2021 / Kohei Shinohara: Charge Transfer Modeling in Neu...Preferred Networks
The document discusses techniques for modeling charge transfer in neural network potentials (NNPs) for materials simulation. It presents a graph neural network (GNN) baseline architecture called NequIP that predicts short-range atomic energies. Additional techniques are explored to model long-range electrostatic interactions, including adding an electrostatic correction term (Eele) using Ewald summation and using charge equilibration (Qeq) to predict atomic charges. Results show that while Qeq improves charge prediction accuracy, the baseline GNN achieves comparable or better overall accuracy in most datasets tested, possibly because the GNN can already learn electrostatic effects. The document also discusses PyTorch implementations of Ewald summation and Qeq for efficient evaluation.
16. 16
@everpeace
(AWSの場合) IAM Roles for Service Accounts
IAM RoleにServiceAccount
によるRoleの引き受けを許可
Role
ServiceAccountに引き受けたい
IAM RoleをAnnotationする
Icons made by Freepik from www.flaticon.com
SDKがSTS(Security Token Service)
を使ってService Account Tokenと
IAM Roleの一時的なクレデンシャルを発行
一時的なクレデンシャルをつかって
Cloud APIにアクセス
Bound SA Tokenは
Kubeletが安全に
Rotateします🔄
失効したら
SDKが自動的に
再取得🔄
19. 19
@everpeace
(AWSの場合) IAM Roles for Service Accounts
IAM RoleにServiceAccount
によるRoleの引き受けを許可
Role
ServiceAccountに引き受けたい
IAM RoleをAnnotationする
Icons made by Freepik from www.flaticon.com
SDKがSTS(Security Token Service)
を使ってService Account Tokenと
IAM Roleの一時的なクレデンシャルを発行
一時的なクレデンシャルをつかって
Cloud APIにアクセス
Bound SA Tokenは
Kubeletが安全に
Rotateします🔄
失効したら
SDKが自動的に
再取得🔄
20. 20
@everpeace
(AWSの場合) IAM Roles for Service Accounts
ServiceAccountとIAM Roleと
紐付ける(引き受けを許可)
Role
ServiceAccountに引き受けたい
IAM RoleをAnnotationする
STS(Security Token Service)を使って
Service Account TokenとIAM Roleの
一時的なクレデンシャルを交換
一時的なクレデンシャルをつかって
Cloud APIにアクセス
SA Tokenは
Kubeletが安全に
Rotateします🔄
Expireしたら
自動的に再取得
されます🔄
アプリ開発者は
一度もクレデンシャル
を目にすることがない🙈
無期限なクレデンシャル
が存在しない🈚♾
めっちゃいい🎉
他のCloudも同様の
仕組みがあります
Icons made by Freepik from www.flaticon.com
21. 21
@everpeace
(AWSの場合) IAM Roles for Service Accounts
ServiceAccountとIAM Roleと
紐付ける(引き受けを許可)
Role
ServiceAccountに引き受けたい
IAM RoleをAnnotationする
STS(Security Token Service)を使って
Service Account TokenとIAM Roleの
一時的なクレデンシャルを交換
一時的なクレデンシャルをつかって
Cloud APIにアクセス
SA Tokenは
Kubeletが安全に
Rotateします🔄
Expireしたら
自動的に再取得
されます🔄
各Public Cloudでの機能名
AWS: IAM Roles for Service Accounts
GCP: Workload Identity
Azure: Azure AD Workload Identity
Icons made by Freepik from www.flaticon.com
24. 24
@everpeace
ポイントはココ: SA Tokenをどうやって認証する?
STS(Security Token Service)を使って
Service Account TokenとIAM Roleの
一時的なクレデンシャルを発行
クラウド側でRoleとSAは紐付けられている🪢ので、
STSがBound SA Token(JWT(OIDC IDToken)形式)を
検証可能な状況にすればいい✅
Icons made by Freepik from www.flaticon.com
25. 25
@everpeace
ポイントはココ: SA Tokenをどうやって認証する?
STS(Security Token Service)を使って
Service Account TokenとIAM Roleの
一時的なクレデンシャルを発行
事前にRoleとSAは紐付けられている🪢ので、
STSはBound SA Token(OIDC IDToken(JWT))を検証できればよい✅
Icons made by Freepik from www.flaticon.com
🛠使う道具は2つ
(実はIRSAとほぼ同じ仕組み)
○ 各Cloudの外部OIDC ProviderとのID Federation
○ Kubernetes ServiceAccountIssuerDiscovery
(v1.21以降デフォルトで有効)