ヤマムギ

growing hard days.

*

ブログの画像を別アカウントのS3に移動するためにIAMロールでクロスアカウントアクセス

   

ずっと先延ばしにしていたのですが、このブログの画像はEC2から直接配信しています。
いい加減にS3からの配信に切り替えようと、画像データだけの引っ越しを予定しております。

諸事情ありまして、S3バケットのアカウントとEC2のアカウントは別のアカウントです。
なので、クロスアカウントでファイルをアップロードします。
いい機会ですので、IAMロールを使用したクロスアカウントアクセスをEC2インスタンスプロファイルで実行しました。

S3のコマンドは、SSMセッションマネージャから実行してます。
ssm-userでも特に問題なく設定できました。

ほとんどこちらのブログ別アカウントのS3バケットを利用する手順を参考にさせていただきました。
ありがとうございます!

アカウントA(S3バケットがある方)のIAMロールの設定

IAMポリシーは特定バケット以下へのPutObjectのみです。

これを「別のAWSアカウント」用のロールをアカウントBを指定して作成してアタッチしました。
結果として、次の画面のような信頼関係になりました。

このアカウントAのIAMロールのARNをアカウントB側で使用します。

アカウントB(EC2がある方)のIAMロールの設定

すでに起動しているEC2にIAMロールを割り当てているので、IAMポリシーをインラインポリシーで追加しました。
ResourceにはアカウントAで作成したIAMロールのARNを指定しました。

セッションマネージャでEC2にアクセスします。

credentialsファイルを以下のように作成しました。

試しにreadme.htmlをアップロードしてみました。

無事アップロードされました。

これで、画像ファイルのコピーは恙無く行えそうです。

sudo利用時

今回、最初にうっかりsudoで実行して、
「The config profile (s3_profile) could not be found」
となってしまいました。

ssm-userでsudo でroot権限で実行したのでssm-userのcredentialsが見つからないということのようです。
/root/.aws/credentialsにプロファイル情報を作ればsudoでも実行できました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

「Getting started with AWS Glue DataBrew」をやってみました

AWS Glue DataBrewを体験してみたくて、開発者ガイドのチュートリア …

Introduction to Amazon EKS Workshopの記録

AWS Workshop StudioのIntroduction to Amaz …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …

このブログからパブリックIPv4 IPアドレスをなくしてコスト最適化

2024年2月より使用中のパブリックIPv4アドレスに1時間あたり0.005US …

AWS Secrets ManagerのローテーションでLambda関数の管理が必要なくなりました

Amazon RDS と AWS Secrets Manager の統合を発表と …

AWS App RunnerでGithubリポジトリからデプロイ

AWS App Runner開発者ガイドのチュートリアルをやってみました。 Gi …

AWS Organizationsで組織全体のAWS CloudTrailを有効にしました

Organizationsのサービスメニューから、CloudTrailを選択して …

Amazon CloudWatch Syntheticsでハートビートモニタリングを実行

このブログに対してハートビートモニタリングのCanaryを実行してみました。 C …

AWS CLIを使用したIAMロールの引き受けコマンドのメモ

よく忘れて調べるのでメモです。 公式のこちらAWS CLI を使用して IAM …

EC2にSystems MangerからCloudWatchエージェントをインストール

CloudWatchエージェント EC2の標準メトリクスでは収集できないメモリの …