Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker/ECSでIAMロールを利用する
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takipone
January 17, 2015
Technology
5.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker/ECSで IAMロールを利用する
Docker Meetup Tokyo #4 LT
takipone
January 17, 2015
More Decks by takipone
See All by takipone
OJTに夢を見すぎていませんか? ロールプレイ研修の試行錯誤/tryanderror-in-roleplaying-training
takipone
1
360
ロールプレイトレーニングでクラウドエンジニアを短期育成した知見を一挙公開 / roll playing training benefits and cases
takipone
0
850
スキル育成に生かすLlamaIndexの活用 /using-llamaIndex-to-enhance-ones-skills
takipone
1
3.8k
DNSにちょっとだけ詳しくなりたい人に贈る少し突っ込んだDNSの話 / devioday1_dns
takipone
2
11k
Amazon VPC Latticeに期待する / look-for-vpc-lattice
takipone
0
1.2k
DevelopersIOのアウトプット文化をハックして人材育成に繋げる話 /deviosapporo2022fall_takipone
takipone
0
1.1k
AWSネットワークリソースをサービスでマルチテナントに 提供するときのスケーラビリティ / nwjaws202112-takipone
takipone
1
840
ネットワークがクラウドに載って変わることと変わらないこと /nwjaws201909-takipone
takipone
0
2.3k
AWSネイティブなEC/CRMシステム運用に欠かせないログ基盤構築 / cmdevio2018-aws-log-infra
takipone
7
3.3k
Other Decks in Technology
See All in Technology
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
140
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
110
AIチャット検索改善の3週間
kworkdev
PRO
2
150
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
280
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
130
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
250
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.6k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
170
Chainlitで作るお手軽チャットUI
ynt0485
0
290
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
160
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
290
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
160
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
The Limits of Empathy - UXLibs8
cassininazir
1
360
Exploring anti-patterns in Rails
aemeredith
3
420
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
66
55k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
The SEO identity crisis: Don't let AI make you average
varn
0
490
Bash Introduction
62gerente
615
220k
How to train your dragon (web standard)
notwaldorf
97
6.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
Transcript
Docker/ECSで IAMロールを利利⽤用する Docker Meetup #4 LT classmethod.jp 1 2015/1/17 クラスメソッド株式会社
⼤大瀧隆太
classmethod.jp 2 ⾃自⼰己紹介 • ⽒氏名 : ⼤大瀧隆太
@takipone • 会社 : クラスメソッド • ポジション : AWSコンサル部 エンジニア / 研修講師 classmethod.jp 2
前段のお話をブログに書きました classmethod.jp 3 http://dev.classmethod.jp/cloud/creds-‐‑‒design-‐‑‒pattern-‐‑‒in-‐‑‒docker/
Dockerコンテナのクレデンシャル管理理 1. DockerfileのADDなどで設定ファイルを Dockerイメージに埋め込む – クレデンシャル更更新によるイメージの作り直し – Docker HubへのPushは漏漏洩につながってしまう 2. 環境変数をdocker run
-‐‑‒-‐‑‒envで渡す – GKE/ECSだと環境変数を定義ファイルに記述す るので、そのファイルの管理理が必要 3. クラウドサービスを利利⽤用することで、 クレデンシャルが外出しできる – AWS : IAMロール – GCE : Service Account classmethod.jp 4
classmethod.jp 5 AWS IAMロールの仕組み EC2 AWS IAM メタデータ サーバー 169.254.169.254
S3 ⼀一時キー ⼀一時キー GET /latest/meta-‐‑‒data/iam/ security-‐‑‒credentials/role-‐‑‒name ⼀一時キーでS3にアクセス
classmethod.jp 6 DockerコンテナからのIAMロール EC2 AWS IAM メタデータ サーバー 169.254.169.254 S3
⼀一時キー インスタンスと同じ⼀一時キー が取得できる/できちゃう
DockerコンテナからのIAMロール • コンテナとインスタンスで区別できない – インスタンスと同等の権限が全コンテナから参照 できてしまう • コンテナ単位の権限分けができない – fluentコンテナはs3:PutObject権限を、 phpコンテナはcloudwatch:PutMetricData権限 を付与したい!
• 現在のECSでは、インスタンスの権限(ecs:*) と全コンテナの権限の合算を設定することで 対応 classmethod.jp 7
classmethod.jp 8 メタデータサーバーの⾃自前実装 http://qiita.com/j3tm0t0/items/b63d456cafd20b1624fd
classmethod.jp 9 こうする。 AWS IAM メタデータ サーバー 169.254.169.254 S3 ⼀一時キー
sts:AssumeRole メタデータサーバーへ のトラフィックを⾃自前 サーバーにフック ⾃自前メタデータ サーバー
classmethod.jp 10 こうする。(⾃自前サーバーの実⾏行行) $ ruby ec2-role.rb arn:aws:iam::XXXXXXXXXXXX:role/exc_web [2015-01-16 15:04:44] INFO
WEBrick 1.3.1 [2015-01-16 15:04:44] INFO ruby 2.1.5 (2014-11-13) [x86_64-linux-gnu] == Sinatra/1.4.5 has taken the stage on 4567 for development with backup from WEBrick [2015-01-16 15:04:44] INFO WEBrick::HTTPServer#start: pid=2425 port=4567 { "Code" : "Success", "AccessKeyId" : "ASIAJUGBBWGPOE5LB2DA", "SecretAccessKey" : "F1UCLL1xus3i/HX5UjmJRoPzothnnAza9WRCRbSn", "Token" : "AQoDYXdzEPD////////// wEakAJ5SVuBEVHPmjjCMmaAJ7zX6MJsRy09k62S92wCO5rGImeVeKx +IB4AVZJ4eE8E0kRGpI7RDpW1l3UEqfeWon6AKwuNJQxgrcKOuB91zKSi3BeH8nT/ d2JUoY2deUVyBMLg3LoebPIlAzl1l83mbQ1Dds1vsj6pSn+nhU0w +hFJxypQcEGDSUrGyJMw15xDD/DQ+9G001ocbp0yBD4otjInNxWgB/ kME1KBPVANSLcJKSTubvNqjwyVgQpPGdu5p/eutns/sSvvRfYgKU9eSEdZzJ5y3djSEoo +J4Rmwrtol4p0fS1VhzsQOxPpH5nCaJwJiW3LnUfPbaDGoCwk2kq6z8sH8sx1t0Du +VT9Xp0qYSCM0eSlBQ==", "Expiration" : "2015-01-16T16:04:44Z" }
classmethod.jp 11 こうする。(トラフィックのフック) $ sudo iptables -t nat \ -A
PREROUTING -j DNAT \ -i docker0 \ -p tcp \ ! --src 172.17.0.2 \ --dst 169.254.169.254 --dport 80 \ --to 172.17.42.1:4567
classmethod.jp 12 できた。 $ docker exec 2de1f31fcb3d curl -s 169.254.169.254/latest/meta-data/iam/
security-credentials/temp { "Code" : "Success", "AccessKeyId" : "ASIAJUGBBWGPOE5LB2DA", "SecretAccessKey" : "F1UCLL1xus3i/HX5UjmJRoPzothnnAza9WRCRbSn", "Token" : "AQoDYXdzEPD////////// : $ ruby ec2-role.rb arn:aws:iam::XXXXXXXXXXXX:role/exc_web : 172.17.0.3 - - [17/Jan/2015:04:58:54 +0000] "GET /latest/meta-data/iam/ security-credentials/temp HTTP/1.1" 200 590 0.0003 ip-172-17-0-3.ec2.internal - - [17/Jan/2015:04:58:54 UTC] "GET /latest/ meta-data/iam/security-credentials/temp HTTP/1.1" 200 590 - -> /latest/meta-data/iam/security-credentials/temp • コンテナからメタデータサーバーにリクエスト • ⾃自前メタデータサーバーにアクセスログが表⽰示
classmethod.jp 13 今後の課題 • ⾃自家メタデータサーバー⾃自体をコンテナに • コンテナごとにロールを切切り替えたい • Dockerコンテナのクレデンシャル管理理は、 もっとディスカッションされてもいい話題