AWS基礎
リージョン、IAM、Well-Architected Framework
IAM(Identity and Access Management)
AWSリソースへのアクセスを安全に制御するサービス。認証と認可を管理。
ユーザー
個人のアカウント。長期認証情報
ロール
一時的な権限。EC2やLambdaに付与
グループ
ユーザーの集合。ポリシーを一括適用
ポリシー
JSON形式の権限定義
1 { 2 "Version": "2012-10-17", 3 "Statement": [ 4 { 5 "Effect": "Allow", 6 "Action": [ 7 "s3:GetObject", 8 "s3:PutObject" 9 ], 10 "Resource": "arn:aws:s3:::my-bucket/*" 11 }, 12 { 13 "Effect": "Deny", 14 "Action": "s3:DeleteObject", 15 "Resource": "*" 16 } 17 ] 18 }
ARN(Amazon Resource Name)
arn:aws:service:region:account-id:resource
| 例 | 説明 |
|---|---|
| arn:aws:s3:::my-bucket | S3バケット |
| arn:aws:ec2:ap-northeast-1:123456789:instance/i-xxx | EC2インスタンス |
| arn:aws:iam::123456789:role/MyRole | IAMロール |
| arn:aws:lambda:ap-northeast-1:123456789:function:MyFunc | Lambda関数 |
Well-Architected Framework
AWSが推奨するアーキテクチャ設計の6つの柱
1. 運用上の優秀性
自動化、IaC、継続的改善
2. セキュリティ
最小権限、暗号化、監査ログ
3. 信頼性
障害復旧、スケーリング、変更管理
4. パフォーマンス効率
適切なリソース選択、モニタリング
5. コスト最適化
不要リソースの削除、適正サイジング
6. サステナビリティ
環境負荷の最小化
AWS CLI
1 # 設定 2 aws configure 3 # AWS Access Key ID: AKIA... 4 # AWS Secret Access Key: ... 5 # Default region name: ap-northeast-1 6 # Default output format: json 7 8 # S3操作 9 aws s3 ls 10 aws s3 cp file.txt s3://my-bucket/ 11 12 # EC2操作 13 aws ec2 describe-instances 14 aws ec2 start-instances --instance-ids i-xxxxx 15 16 # プロファイル切り替え 17 aws --profile production s3 ls 18 19 # 環境変数 20 export AWS_PROFILE=production 21 export AWS_REGION=ap-northeast-1
タグ戦略
リソースにタグを付けて管理。コスト配分、自動化、アクセス制御に活用。
| タグキー | 値の例 | 用途 |
|---|---|---|
| Environment | production, staging, dev | 環境識別 |
| Project | webapp, api | コスト配分 |
| Owner | team-sre | 責任者 |
| CostCenter | 12345 | 請求先 |
セキュリティベストプラクティス
ルートアカウントを使わない
MFAを有効化し、日常作業はIAMユーザーで
最小権限の原則
必要な権限のみを付与
ロールを使う
EC2/LambdaにはIAMロールを付与、アクセスキーを埋め込まない
CloudTrailを有効化
全API呼び出しを記録