AWS LightsailインスタンスとS3をエンドポイントでつなぐ

Lightsail にはストレージもあるんですが、EC2のインスタンスとデータ共有もしたいなぁと思い、S3との接続にチャレンジしました。

EC2のときみたいにVPCエンドポイント作成してい、VPCピア接続しちゃえばOKかと考えていたんですが、以下のドキュメントに”S3には不要です”って記載が。。。

Amazon Lightsail の外部の AWS リソースを使用するために Amazon VPC ピア接続をセットアップする

“一部の AWS リソース (Amazon S3、Amazon CloudFront、Amazon DynamoDB など) では、VPC ピア接続を有効にする必要はありません。”

※S3ですが、”パブリックアクセスをすべてブロック”はオンにしています。

VPCエンドポイントを作成します

今回は、名称を”Lightsail2-vpc”としました。

ルートテーブルには、S3へのルーティング情報が追加されています。

さて、コレでアクセスをしてみます。

$ aws s3 ls s3://ku-bucket01

An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied

つながったことはつながったようで、次は権限の設定です。

IAMの作成を行います。

EC2だと「アクション→インスタンスの設定→IAMロールの変更」から操作をするのですが、Lightsailにはありません。

そのかわり下記の手順で行います。

IAMユーザーとポリシーを作成し、[アクセスキー ID] と [シークレットアクセスキー] をAWS CLI に設定します。

IAMコンソールを開きます。

・ユーザー→「ユーザーを追加」

ユーザー名は”Lightsail2-iam-pc-user”としました。

アクセスの種類は、”プログラムによるアクセス”をチェックしてください。

・「アクセス権限」→「既存のポリシーを直接アタッチ」

タグやらいくつかの設定有り。。。

ユーザーの作成をすると、アクセスキーとシークレットアクセスキーが作成されます。

CSVファイルでダウンロードもできますが、一つだけなんでメモメモ(^^)

AWS CLIに設定します。

アクセスキーとシークレットキーをAWS CLIに設定します。

$ aws s3 cp test.txt s3://km-bucket011
upload: ./test.txt to s3://km-bucket011/test.txt

$ aws s3 ls s3://km-bucket011
2020-09-26 08:29:36 5 test.txt

無事つながってくれました!!!

おまけ(^^)

こんな記事もあります。

チュートリアル: Amazon Lightsail の WordPress ウェブサイトを Amazon S3 バケットに接続する

Lightsail ドキュメントは参考になります。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA