ヤマムギ

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でも実行できました。


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

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

 - AWS ,

ad

ad

  関連記事

CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)

先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …

Rocket.ChatからOut Going Webhookを設定してみる

API GatewayとLambda とりあえず、どんなデータが飛んでくるのか見 …

EC2インスタンスを必要最小限のパラメータでCLIとSDKから起動する

EC2インスタンスをCLIとSDKから起動するデモで、パラメータを必要最小限にし …

ブログのアーキテクチャをコストベースで見直しました

当ブログはAWSで構築しています。 アーキテクチャをコストを最重視して見直しまし …

S3バケットのデフォルト暗号化はデフォルトだったことを確認しました

S3バケットのデフォルト暗号化は名前のとおりだとデフォルトなので、暗号化を指定し …

CloudFormation StackSetsでOrganizations組織のアカウントに一気にIAMロールを作成した

Organizationsで管理している各アカウントにIAMロールを作成したい場 …

「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました

AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …

JAWS-UG 大阪 関西女子合同 Amazon Personalizeハンズオンやってみました

久しぶりに大阪でJAWS-UGに参加です。 Amazon Personalize …

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」執筆裏話

今日2019/4/20発売となりました「AWS認定資格試験テキスト AWS認定ク …

AWS EC2 Amazon Linuxにmauticをインストールする(Sendgrid, Nginx, MySQL on RDS)

mauticをAmazon LinuxとNginx,MySQL on RDSにイ …