À仿ÄÉµÃæ
¥¢¥×¥ê¤Î¥ê¥ê¡¼¥¹¥×¥í¥»¥¹¤ÈAWS¥µ¡¼¥Ó¥¹ †
¥ê¥ê¡¼¥¹¥×¥í¥»¥¹ †

¥½¡¼¥¹ †

- Code Commit
- HTTPS, SSH
- ǧ¾Ú¾ðÊó¤Ï IAM ¥æ¡¼¥¶¤´¤È
- IAM ¥æ¡¼¥¶¤Ë³ä¤êÅö¤Æ¤ë¥Ý¥ê¥·¡¼(=¸¢¸Â)
- ´ÉÍý¥Ý¥ê¥·¡¼ AWSCodeCommitPowerUser?
- ÍøÍѼԥݥꥷ¡¼ AWSCodeCommitFullAccess?, AWSCodeCommitReadOnly?
- Ä̾ï¤Ï¡¢¥³¡¼¥É¤Î²þÊѤϸ¶ËÜ(Master ¥Ö¥é¥ó¥Á)¤Ç¹Ô¤ï¤Ê¤¤¡£
- ³«È¯¥Ö¥é¥ó¥Á¤Ç²þÊѤò¹Ô¤¤°ìÄ̤괰À®¤·¤¿¤é¡¢³«È¯¥Ö¥é¥ó¥Á¤Î²þÊÑÉôʬ¤ò Master¥Ö¥é¥ó¥Á¤Ë¼è¤ê¹þ¤ó¤Ç¤â¤é¤¦¤¿¤á¤Î "¥×¥ë¥ê¥¯¥¨¥¹¥È" ¤òȯ¹Ô¤¹¤ë¡£
- ¾µÇ§¼Ô¤¬¥ì¥Ó¥å¡¼¤·¤Æ¡¢¸¶ËÜ (Master ¥Ö¥é¥ó¥Á) ¤Ë¡¢¥Þ¡¼¥¸¤¹¤ë¡£
- ¥×¥ë¥ê¥¯¥¨¥¹¥È¤ä¥Þ¡¼¥¸¤Î¥¿¥¤¥ß¥ó¥°¤Ç¡¢ÄÌÃΤòÈô¤Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£
¥Ó¥ë¥É †

¥Ç¥×¥í¥¤ †

- AWS Code Deploy ¤ÎÀßÄê¹àÌÜ
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
- EC2, ¥ª¥ó¥×¥ì¥ß¥¹, ECS, Lambda
- ¥Ç¥×¥í¥¤¥°¥ë¡¼¥×
- ¥¢¥×¥ê¤¬ EC2 ¤Î¾ì¹ç¤Ë¤Ï¡¢¥¿¥°¥°¥ë¡¼¥×¡¢¥ª¡¼¥È¥¹¥±¡¼¥ê¥ó¥°¥°¥ë¡¼¥×¤ò»ØÄê¤Ç¤¤ë
- ¥Ç¥×¥í¥¤ÀßÄê
Pattern | ¥µ¡¼¥ÐA | ¥µ¡¼¥ÐB | ¥µ¡¼¥ÐC | ¥µ¡¼¥ÐD | ¥µ¡¼¥ÐE | ¥µ¡¼¥ÐF | |
Linear | 10ʬ¸å Ver3¢ªVer4 | 20ʬ¸å Ver3¢ªVer4 | 30ʬ¸å Ver3¢ªVer4 | 40ʬ¸å Ver3¢ªVer4 | 50ʬ¸å Ver3¢ªVer4 | 60ʬ¸å Ver3¢ªVer4 | ½ù¡¹¤Ë¥Ç¥×¥í¥¤ |
Canary | 10ʬ¸å Ver3¢ªVer4 | 60ʬ¸å Ver3¢ªVer4 | ¤ª»î¤·¤Ç¤Á¤ç¤Ã¤È¥Ç¥×¥í¥¤¤·¤Æ¡¢¤¢¤È°ìµ¤¤Ë |
All at once | Ver3¢ªVer4 | °ìµ¤¤ËÆþ¤ìÂØ¤¨ |
Immutable | Ver3(ÇÑ»ß) | ¿·¤·¤¤¥µ¡¼¥Ð·²¤òºîÀ®¤·¤Æ¥¢¥×¥ê¤ò¥Ç¥×¥í¥¤¡£¸½ÍѤΥµ¡¼¥Ð·²¤ÏÇÑ»ß |
- ¤¤¤Þ¸½ÍÑ¥¢¥×¥ê¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ Ver3 ¤Ç¡¢ºÇ¿·ÈǤΠVer4 ¤ËÆþ¤ìÂØ¤¨¤ë¤È¤¹¤ë
- In-Place : ¥µ¡¼¥Ð¡¼¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤½¤Î¤Þ¤Þ¤Ç¡¢¥¢¥×¥ê¤òÆþ¤ìÂØ¤¨¤ë¤³¤È¡£¾åµ¤Ç¤Ï Immutable °Ê³°¤Ï In-Place
- ¥Ç¥×¥í¥¤¥¿¥¤¥×
Pattern | ¥µ¡¼¥ÐA | ¥µ¡¼¥ÐB | ¥µ¡¼¥ÐC | ¥µ¡¼¥ÐD | ¥µ¡¼¥ÐE | ¥µ¡¼¥ÐF | |
Blue/Green | Ver3 | Ver2¢ª4 (¥ê¥¯¥¨¥¹¥ÈÁ÷¿®Àè¤ò¤³¤Ã¤Á¤ËÀÚ¤êÂØ¤¨) | ¥µ¡¼¥Ð·²¤ò¥°¥ë¡¼¥×¤Ë2¤Äʬ¤±¤Æ»È¤¤²ó¤¹¡£ ¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤òÆþ¤ìÂØ¤¨¤Æ¥ê¥¯¥¨¥¹¥ÈÁ÷¿®Àè¤òÀÚ¤êÂØ¤¨ |
Rolling | Ver1¢ª4 (¥ê¥¯¥¨¥¹¥ÈÁ÷¿®Àè¤ò¤³¤Ã¤Á¤ËÀÚ¤êÂØ¤¨) | Ver2 | Ver3 | ¥µ¡¼¥Ð·²¤ò¥°¥ë¡¼¥×¤Ëʬ¤±¤Æ»È¤¤²ó¤¹¡£ ºÇ¸Å¤Î¥Ð¡¼¥¸¥ç¥óÆþ¤ìÂØ¤¨¤Æ¥ê¥¯¥¨¥¹¥ÈÁ÷¿®Àè¤òÀÚ¤êÂØ¤¨ |
- CodeBuild?¥¨¡¼¥¸¥§¥ó¥È (EC2 ¥¤¥ó¥¹¥¿¥ó¥¹Â¦¤Ç¡¢¥¢¥×¥ê¤ÎÇÛÈ÷¤ò¼õ¤±Æþ¤ì¤ë¥¨¡¼¥¸¥§¥ó¥È)
- CodeDeploy?¥µ¡¼¥Ó¥¹¥í¡¼¥ë (CodeDeploy? ¤Î IAM ¸¢¸Â)
- appspec.yml
¥â¥Ë¥¿¥ê¥ó¥° †
- Amazon CodeGuru?
CodeGuru? Profiler | ¼Â¹Ô»þ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹²Ä»ë²½ |
CodeGuru? Reviewer | ¥½¡¼¥¹¥³¡¼¥É¤ÎÀÅŪ²òÀÏ |
Äê·Á½èÍý ¥½¡¼¥¹+¥Ó¥ë¥É+¥Ç¥×¥í¥¤ †
- Code Pipeline

¤ª¤Æ¤¬¤ë¤Ë¡¢CodeCommit? ¢ª CodeBuild? ¢ª S3 ¤È¤«¤¤¤¦¤³¤È¤¬¼Â¸½²Äǽ
- Code Star
- Code Pipeline ¤Î¥Æ¥ó¥×¥ì¡¼¥È
- ¡ÖLambda ¤Ç¼Â¹Ô¤¹¤ë Python ¥¢¥×¥ê¡×¤È¤«¡¢¡ÖElstic Beanstalk ¤Çư¤«¤¹ Node.js ¥¢¥×¥ê¡×¤È¤«
¼Â¹Ô´Ä¶ †
- AWS Code Artifact
- °ÌÃ֤Ť±¤Ï Sonatype Nexus ¤ÈƱ¤¸
- ¼«ºî¥é¥¤¥Ö¥é¥ê¤Î´ÉÍý
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Î¥é¥¤¥Ö¥é¥êÇÛÉÛ¥µ¥¤¥È¤Î¥¥ã¥Ã¥·¥å (Maven ¤ä npm¡¢pip ¤Ê¤É)
AWS OpsWorks? †
- AWS OpsWorks? (Chef/Puppet ¤ò»È¤¤¤¿¤¤¾ì¹ç)
- AWS OpsWorks? for Chef Automate
- AWS OpsWorks? for Puppet Enterprise
AWS Cloud Formation †
- JSON ¤Þ¤¿¤Ï YAML ·Á¼°¤Ç¡¢¼Â¹Ô´Ä¶(Stack) ¤òÄêµÁ¤¹¤ë
- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
MyEC2Instance: #An inline comment
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-0ff8a91507f77f867" #Another comment -- This is a Linux AMI
InstanceType: t2.micro
KeyName: testkey
BlockDeviceMappings:
-
DeviceName: /dev/sdm
Ebs:
VolumeType: io1
Iops: 200
DeleteOnTermination: false
VolumeSize: 20
- Resources ¤Ë¥ê¥½¡¼¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤òÀßÄê¤Ç¤¤ë
- Parameters ¥»¥¯¥·¥ç¥ó¤Ëƨ¤·¤¿ÀßÄê¤Ï¡¢AWS ¤Î´ÉÍý¥³¥ó¥½¡¼¥ë¤«¤éÀßÄê¤Ç¤¤ë
Parameters:
AmazonLinuxAMIID:
Type: AWS::SSM...
Default: /aws/service/ami-amazon-linux-latest/amazn-ami-hvm-x86_64-gp2
Resources:
EC2Instance:
...
Properties:
....
ImageId: !Ref AmazonLinuxAMIID # »²¾È
....
- ¸ÇÄê¹àÌÜ¤Ï Mappings ¥»¥¯¥·¥ç¥ó¤ËÀßÄꤹ¤ë¡£Åìµþ¥ê¡¼¥¸¥ç¥ó¤È¥·¥ó¥¬¥Ý¡¼¥ë¥ê¡¼¥¸¥ç¥ó¤Ç°ã¤¦¤È¤³¤í¤ò Mapping ¤ËÄêµÁ¤·¤Æ¡¢Resources ¤«¤é¤Ï !Refs ¤Ç»²¾È¤¹¤ë
- AWS Cloud Formation ¼Â¹Ô»þ¤Ë¤Ç¤¤¿ÊÑ¿ô¤Ï¡¢Output ¥»¥¯¥·¥ç¥ó¤ËÀßÄꤹ¤ë¤È¡¢¼Â¹Ô¥í¥°¤Ë½ÐÎϤµ¤ì¤ë¡£¼Â¹Ô»þ¤Ë AWS ¤«¤é³ä¤êÅö¤Æ¤é¤ì¤¿ URL ¤òÃΤꤿ¤¤¤È¤¤Ê¤É¤Ë»È¤¦
- ¾ò·ïʬ´ô Condition
Parameters:
EnvType:
Type: String
Default: test
AllowedValues:
- product
- test
Conditions:
CreateProdResources: !Equals [ !Ref EnvType, product ]
Resources:
...
MountPoint
Type: "AWS::EC2::VolumeAttachment"
Condition: CreateProdResources
....
- Paramete ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¡EnvType? ¤ÎÃͤ¬ product "¤Ç¤Ê¤¤"¤È¤¡¢CreateProdResources? ¤¬ true ¤Ë¤Ê¤ë
- ¤½¤¦¤¹¤ë¤È MountPoint? ¤ÎÃæ¤Î Condition ¤¬ true ¤Ë¤Ê¤ê¡¢¿·¤·¤¤ MountPoint? ¤¬ºî¤é¤ì¤ë
- ¤½¤·¤Æ¡¢EnvType? ¤Ï AWS ¤Î´ÉÍý¥³¥ó¥½¡¼¥ë¤Ç Web GUI ¤«¤éÀÚ¤êÂØ¤¨¤Ç¤¤ë¤È¤¤¤¦À£Ë¡
AWS Elastic Beanstalk †
- Wizard ¤Ç¼ê·Ú¤Ë Web ¥¢¥×¥ê¤Î¼Â¹Ô´Ä¶¤òºî¤ë»ö¤¬¤Ç¤¤ë»ÅÁȤß
- ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à (.Net / Docker / Glassfish / Tomcat / Node.js / ...)
- ¥×¥ê¥»¥Ã¥È
- ¥½¥Õ¥È¥¦¥§¥¢ (Web°Ê³° Apache / S3(Log) / CloudWatch? Logs)
- ¥¤¥ó¥¹¥¿¥ó¥¹
- ÍÆÎÌ
- ¥í¡¼¥É¥Ð¥é¥ó¥µ¡¼
- ¥Ç¥×¥í¥¤¥á¥ó¥È¥Ý¥ê¥·¡¼ (All at once / Rolling)
- ¥»¥¥å¥ê¥Æ¥£
- ¥â¥Ë¥¿¥ê¥ó¥°
- ÄÌÃÎ
- ¥Í¥Ã¥È¥ï¡¼¥¯
- ¸¢¸Â
- Beanstalk ¤¬Æ°¤¤¤Æ¤¤¤ë EC2 ¤Î¸¢¸Â ¢ª ¾¤Î¥µ¡¼¥Ó¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Î¸¢¸Â
- AWSElasticBeanstalkEnhancedHealth? ¢ª Beanstalk ¤Î´Æ»ë¤¹¤ë¸¢¸Â
- AWSElasticBeanstalkService? ¢ª Beanstalk ¤Î´Ä¶¤òºîÀ®¡¦¹¹¿·¤¹¤ë¸¢¸Â
- eb¥³¥Þ¥ó¥É
- eb init ¢ª ´Ä¶ÄêµÁ¥Õ¥¡¥¤¥ë¤Î¿÷·Á (config.yml) ¤òºî¤ë
- eb create ¢ª config.yml ¤ò¤â¤È¤Ë beanstalk ´Ä¶¤òºî¤ë
- eb deploy ¢ª beanstalk ´Ä¶¤Ë¥¢¥×¥ê¤òÇÛÈ÷¤¹¤ë
- ¥ï¡¼¥«¡¼´Ä¶
- SQS (Amazon Simple Queue Service) ¤Þ¤¿¤Ï Amazon DynamoDB ·Ðͳ¤Ç¥ï¡¼¥«¡¼¤Ë¥¿¥¹¥¯¤ò¼õ¤±ÅϤ¹¥Ð¥Ã¥Á¼Â¹Ô´Ä¶
- ¥¹¥±¡¼¥ê¥ó¥°¤Ï EC2 Auto Scaling ¤ÇÀßÄꤹ¤ë
¥µ¡¼¥Ð¥ì¥¹ †
- ¥¢¥×¥ê¤è¤ê²¼¤Î¥ì¥¤¥ä¤ò Amazon ¤¬¤ä¤Ã¤Æ¤¯¤ì¤ë¥µ¡¼¥Ó¥¹
AWS Lambda | ¥³¥ó¥Ô¥å¡¼¥Æ¥£¥ó¥° |
Amazon API Gateway | REST/WebSocket? |
AWS AppSync? | GraphQL |
Amazon S3 | Strage |
Amazon Dynamo DB | RDB (NoSQL) |
Amazon SNS | Message Notification |
Amazon SQS | Message Queue |
AWS Step Function | Workflow |
Amazon Kinesis | Data Analysis (Streaming) |
Amazon Athena | Data Analysis (Statistics) |
Amazon Fargate | Container Orchestration |
Amazon Aurora | RDB (compatible with MySQL/PostgreSQL) |
Amazon Cognito | Authentication |
AWS SAM (Serverless Application Model) †
- CloudFormation? ¤ò¥³¥Þ¥ó¥É¥é¥¤¥ó¤Çºî¤ì¤ë¤è¤¦¤Ë¤¹¤ë
- sam¥³¥Þ¥ó¥É
- sam init ¢ª Wizard ¤Ç tamplate.yml ¤òºî¤ë
- sam build ¢ª ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Ó¥ë¥É (¥Ó¥ë¥É¤Ï template.yml ¤ÎÄêµÁ¤Ë´ð¤Å¤¤¤Æ¹Ô¤ï¤ì¤ë)
- sam deploy ¢ª ¼Â¹Ô´Ä¶¤ËÇÛÈ÷
¥»¥¥å¥ê¥Æ¥£ †
¶¦ÍÀÕǤ¥â¥Ç¥ë †
- AWS¤Ï¡¢¥¤¥ó¥Õ¥é¤Î¥»¥¥å¥ê¥Æ¥£¤ËÀÕǤ¤ò»ý¤Ä
- ¥æ¡¼¥¶¤Ï¡¢OS¡¢¥¢¥×¥ê¡¢¥Ç¡¼¥¿¤Î¥»¥¥å¥ê¥Æ¥£¤ËÀÕǤ¤ò»ý¤Ä
¥Í¥Ã¥È¥ï¡¼¥¯ †
- ¹½À® VPC = Virtual Private Cloud
Region ¨¡ VPC ¨¨ Internet Gateway = ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤Î½Ð¸ý
¨¢
¨§ Availability Zone 1
¨¢ ¨§ Public Subnet 1
¨¢ ¨¢ ¨¦ Nat Gateway 1
¨¢ ¨¦ Private Subnet 1
¨¢ ¨§ Instance 1 (Linux Server)
¨¢ ¨¢ ¨¦ ENI (Elastice Network Interface) ¡á¥¤¥ó¥¹¥¿¥ó¥¹¤Î NIC (eth0)
¨¢ ¨¦ Interface Endpoint = ¥µ¡¼¥Ó¥¹API¤ÎENI(Î㤨¤Ð Instace1 ¤«¤é Lambda ¤ò»È¤¦¤¿¤á¤ÎÀܳ¸ý)
¨¢
¨§ Availability Zone 2
¨¢ ¨§ Public Subnet 2
¨¢ ¨¢ ¨¦ Nat Gateway 2
¨¢ ¨¦ Private Subnet 2
¨¢ ¨§ Instance 2 (Linux Server)
¨¢ ¨¢ ¨¦ ENI (Elastice Network Interface) ¡á¥¤¥ó¥¹¥¿¥ó¥¹¤Î NIC (eth0)
¨¢ ¨¦ Interface Endpoint = ¥µ¡¼¥Ó¥¹API¤ÎENI(Î㤨¤Ð Instace2 ¤«¤é Lambda ¤ò»È¤¦¤¿¤á¤ÎÀܳ¸ý)
¨¢
¨§ VGP(²¾Áۥץ饤¥Ù¡¼¥È¥²¡¼¥È¥¦¥§¥¤) = VPC Endpoint = ¥ª¥ó¥×¥ì¥ß¥¹¤È¤ÎÀܳ¸ý
¨¦ Gateway Endpoint = S3, DynamoDB ¤Ø¤ÎÀܳ¸ý
- Public Subnet ¤Î Route Table ¤Ç 0.0.0.0/0 (GW) ¤Ë Internet Gateway ¤ò»ØÄꤹ¤ë¡£(Public Subnet Æâ¤Î IP ¤Ç¤Ê¤±¤ì¤Ð Internet Gateway ¤«¤é½Ð¤Æ¤¤¤¯)
- Private Subnet ¤Î Route Table ¤Ç 0.0.0.0/0 (GW) ¤Ë Nat Gateway ¤ò»ØÄꤹ¤ë¡£(Private Subnet Æâ¤Î IP ¤Ç¤Ê¤±¤ì¤Ð¡¢Nat Gateway ¤Ë½Ð¤Æ¤¤¤¯¡¢¹¹¤Ë Public Subnet Æâ¤Î IP ¤Ç¤Ê¤±¤ì¤Ð Internet Gateway ¤«¤é½Ð¤Æ¤¤¤¯)
- ¥Í¥Ã¥È¥ï¡¼¥¯ACL (¥µ¥Ö¥Í¥Ã¥È¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë)
- ¥¤¥ó¥Ð¥¦¥ó¥É¤ÎÎã (80¤À¤±OK)
¥ë¡¼¥ë# | ¥¿¥¤¥× | ¥×¥í¥È¥³¥ë | ¥Ý¡¼¥ÈÈÏ°Ï | Á÷¿®Àè | µö²Ä/µñÈÝ |
100 | HTTP(80) | TCP | 80 | 0.0.0.0/0 | ALLOW |
- | ¤¹¤Ù¤Æ¤Î¥È¥é¥Õ¥£¥Ã¥¯ | ¤¹¤Ù¤Æ | ¤¹¤Ù¤Æ | 0.0.0.0/0 | DENY |
- ¥¢¥¦¥È¥Ð¥¦¥ó¥É¤ÎÎã (HTTP¥ì¥¹¥Ý¥ó¥¹¤Ë»È¤¦°ì»þ¥Ý¡¼¥È¤òµö²Ä¤¹¤ë¤³¤È¤òÁÛÄê)
¥ë¡¼¥ë# | ¥¿¥¤¥× | ¥×¥í¥È¥³¥ë | ¥Ý¡¼¥ÈÈÏ°Ï | Á÷¿®Àè | µö²Ä/µñÈÝ |
100 | ¥«¥¹¥¿¥àTCP¥ë¡¼¥ë | TCP | 32768-65535 | 0.0.0.0/0 | ALLOW |
- | ¤¹¤Ù¤Æ¤Î¥È¥é¥Õ¥£¥Ã¥¯ | ¤¹¤Ù¤Æ | ¤¹¤Ù¤Æ | 0.0.0.0/0 | DENY |
- ¥»¥¥å¥ê¥Æ¥£¥°¥ë¡¼¥× (ENI¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë)
- VGP = VPC¥¨¥ó¥É¥Ý¥¤¥ó¥È
- ¥ª¥ó¥×¥ì¥ß¥¹(¼«¼Ò¥µ¡¼¥Ð¡¼)¤È¤ÎÀܳ¸ý
- [»î¸³Âкö] ¥ª¥ó¥×¥ì¥ß¥¹¤È¤Î¤ßÀܳ¤·¤Æ¤¤¤ë VPC ¤Î¾ì¹ç¤Ï¡¢Internet Gateway ¤òºî¤é¤º VPC ¥¨¥ó¥É¥Ý¥¤¥ó¥È¤Î¤ß¤òºî¤ë
- Gateway Endpoint (¤³¤ì¤Ï VPC ¤Î»ý¤Áʪ)
- Interaface Endpoint (¤³¤ì¤Ï Subnet ¤Î»ý¤Áʪ)
- ¥µ¡¼¥Ó¥¹API ¤Î ENI
- Amazon API Gateway
- Amazon Cloud Watch
- Amazon Cloud Build
- AWS Elastic Beanstalk
- Amazon Elastic Container Registry
- AWS Key Management Service
- Amazon Kinesis Data Stream
- AWS Lambda
- AWS Secrets Manager
- AWS System Manager
- Amazon SNS
- Amazon SQS
- ¢¨ S3, Dynamo DB ¤Î Interface Endpoint ¤Ï¤Ê¤¤
SSH †
- SSH (Code Commit = git) ¥¢¥¯¥»¥¹
IAM †
- Aws Identity And Access Management
- ǧ¾Ú Identity (¤ªÁ°ËÜÅö¤Ë tanaka ?)
- ǧ²Ä Access Management (tanka ¤Ï±¾¡¹¤¬¤Ç¤¤ë¡¢³Æ³Æ¤Ï¤Ç¤¤Ê¤¤)
- ¥ë¡¼¥È¥æ¡¼¥¶
- AWS¥¢¥«¥¦¥ó¥È¤òºî¤Ã¤¿¥æ¡¼¥¶
- ¥í¥°¥¤¥ó : ¥á¡¼¥ë¥¢¥É¥ì¥¹¤È¥Ñ¥¹¥ï¡¼¥É
- ¥¢¥«¥¦¥ó¥ÈÆâ¤Î¤¹¤Ù¤Æ¤Î¸¢¸Â¤òÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¡£¸¢¸Â¤ò¸º¤é¤¹¤³¤È¤Ï¤Ç¤¤Ê¤¤
- Ä̾ïºî¶È¤Ç¤Ï¥ë¡¼¥È¥æ¡¼¥¶¤Ï»È¤ï¤Ê¤¤ (¸¢¸Â¤¬¶¯¤¹¤®¤ë¤Î¤Ç»ö¸Î¤¬µ¯¤¤ë¡£ÉÔÀµ¥¢¥¯¥»¥¹¤µ¤ì¤ë¤È²¿¤Ç¤â¤Ç¤¤ë)
- ¢ÍÄ̾ïºî¶È¤Ç¤Ï¡¢Å¬Àڤ˸¢¸Â¤òÀßÄꤷ¤¿ IAM ¥æ¡¼¥¶¤ò»È¤¦
- IAM¥æ¡¼¥¶
- AWS¤Î¥Þ¥Í¥¸¥á¥ó¥È¥³¥ó¥½¡¼¥ë¤ÇºîÀ®¤¹¤ë
- ¥í¥°¥¤¥ó : ¥¢¥«¥¦¥ó¥ÈID(12·å)¡¢¥æ¡¼¥¶Ì¾¡¢¥Ñ¥¹¥ï¡¼¥É
- CLI : ¥¢¥¯¥»¥¹¥¡¼ID(12·å)¡¢¥·¡¼¥¯¥ì¥Ã¥È¥¢¥¯¥»¥¹¥¡¼
- ¸¢¸Â
- ¥æ¡¼¥¶¤Ë¥Ý¥ê¥·¡¼ (ÆÃÄê¤Îµ¡Ç½¤ËÂФ¹¤ë¸¢¸Â) ¤ò³ä¤êÉÕ¤±¤ë
- ¥æ¡¼¥¶¤ËIAM¥í¡¼¥ë (¥Ý¥ê¥·¡¼¤ò«¤Í¤¿¤â¤Î (ex ¥ì¥Ý¥¸¥È¥êºîÀ®ÉÔ²Ä + ¥³¡¼¥É¥³¥ß¥Ã¥È²Ä + DynamoDB´ÉÍý¸¢¸Â)) ¤ò³ä¤êÉÕ¤±¤ë
- CLI
- ¥æ¡¼¥¶¾ðÊó ~/.aws/credentials C:\Users\USERNAME\.aws\credentials
[default]
aws_access_key_id={³«È¯´Ä¶ACCESS_KEY_ID}
aws_secret_access_key={³«È¯´Ä¶SECREAT_ACCESS_KEY}
[product]
aws_access_key_id={ËÜÈִĶACCESS_KEY_ID}
aws_secret_access_key={ËÜÈִĶSECREAT_ACCESS_KEY}
- ¥×¥í¥Õ¥¡¥¤¥ë
- ¥ê¡¼¥¸¥ç¥ó»ØÄê
$ aws ec2 describe-instance --output table --region ap-northeast-1
- ¤½¤Î¾¤ÎÀßÄê ~/.aws/config
- IAM¥Ý¥ê¥·¡¼
- JSON¤Çµ½Ò¤¹¤ë
{
"Version" : "2024-03-20 Rev1",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"s3:GetObject"
],
"Condition" : {
"IpAddress": {
"aws:SourceIP": "11.22.33.44/32"
}
},
"Resource": "arn:aws:s3:::blog-image/*"
}
]
}
- AWS Policy Generator ¤Çºî¤ë¤³¤È¤¬¤Ç¤¤ë (JSON¤òľ¤Ëºî¤ë¤³¤È¤â¤Ç¤¤ë)
- ARN (Amazon Resource Name)
arn:aws:service:reagion:account:resource-id
-¸ÇÄê- :s3 : : :blog-image/*
- Condition
- IAM¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥ÉÊѹ¹(¼«Ê¬¤ÎÀßÄꤷ¤«Êѹ¹¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤¹¤ë) ½ñ¤Êý¤¬ÆÃ¼ì
{
"Version" : "2024-03-20 Rev1",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"iam:*LoginProfile",
"iam:*AccessKey*",
"iam:*SSHPublicKey*",
],
"Resource": "arn:aws:iam::123456789012:user/${aws:username}"
}
]
}
- IAM¥Ý¥ê¥·¡¼¤ÎʬÎà
- ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¡¼¥Ù¡¼¥¹¤Î¥Ý¥ê¥·¡¼
- AWS´ÉÍý¥Ý¥ê¥·¡¼ (AWS¤¬Í½¤áÍѰդ·¤Æ¤ª¤¤¤¿¥Ý¥ê¥·¡¼¡£¥æ¡¼¥¶¤Ï µö²Ä¡¦µñÈݤòÀßÄꤹ¤ë¤À¤±)
- ¥«¥¹¥¿¥Þ¡¼´ÉÍý¥Ý¥ê¥·¡¼
- ¥¤¥ó¥é¥¤¥ó¥Ý¥ê¥·¡¼ (¥°¥ë¡¼¥×/¥æ¡¼¥¶/¥í¡¼¥ë¡ÊIAM ¤Î¥¨¥ó¥Æ¥£¥Æ¥£) ¤ËľÀܸ¢¸Â¤ò½ñ¤¤¤Á¤ã¤¦¤³¤È¡£AWS´ÉÍý¥Ý¥ê¥·¡¼¡¢¥«¥¹¥¿¥Þ¡¼´ÉÍý¥Ý¥ê¥·¡¼¤Ï¡¢¸¢¸Â¤ò¥Ý¥ê¥·¡¼¤È¤·¤ÆÄêµÁ¤·¤Æ¡¢¥Ý¥ê¥·¡¼¤ò¥¨¥ó¥Æ¥£¥Æ¥£¤Ë³ä¤êÉÕ¤±¤ë )
- ¥ê¥½¡¼¥¹¥Ù¡¼¥¹¤Î¥Ý¥ê¥·¡¼
- S3¥Ð¥±¥Ã¥È¤Î¥Ý¥ê¥·¡¼
- Cognito(Web¥í¥°¥¤¥ó)¤Ç¥µ¥¤¥ó¥¤¥ó¤·¤¿¥æ¡¼¥¶¤Ë¡¢Lambda ¤Î¼Â¹Ô¤òµö²Ä¤¹¤ë¥Ý¥ê¥·¡¼
- ¾¤Î¥¢¥«¥¦¥ó¥È¤ÎIAM¥æ¡¼¥¶¤¬¡¢API ¤äSQS ¤ò»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¥Ý¥ê¥·¡¼
- ¾¤Î¥¢¥«¥¦¥ó¥È¤ÎRDS°Å¹æ²½¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤«¤é¥¤¥ó¥¹¥¿¥ó¥¹¤òÉü¸µ¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¥Ý¥ê¥·¡¼
- ¥Ý¥ê¥·¡¼¤Îɾ²Á
- API ¤Î¥¢¥¯¥·¥ç¥ó¤´¤È¤Ë¡¢¤¹¤Ù¤Æ¤Î¥Ý¥ê¥·¡¼¤¬É¾²Á¤µ¤ì¤Æ¡¢¤É¤ì¤«°ì¤Ä¤Ç¤âµñÈݤʤéµñÈݤµ¤ì¤ë
- [»î¸³] ¥Ý¥ê¥·¡¼¤¬½ñ¤«¤ì¤Æ¤¤¤ë½çÈ֤ϴط¸¤Ê¤¤
- ÄêÀÐ: AWS´ÉÍý¥Ý¥ê¥·¡¼¤Ç¹¤¯µö²Ä¤·¤Æ¤ª¤¡¢¥«¥¹¥¿¥Þ¡¼´ÉÍý¥Ý¥ê¥·¡¼¤ÇºÙ¤«¤¯µñÈݤ¹¤ë
- IAM¥í¡¼¥ë
- EC2¥¤¥ó¥¹¥¿¥ó¥¹¤Ë°ì»þŪ¤Ë¸¢¸Â¤òÍ¿¤¨¤ë»ÅÁȤß
- STS (Security Token Service)
| AWS Cloud
[¥ª¥ó¥×¥ì¥ß¥¹¡¦¥Ð¥Ã¥Á¥µ¡¼¥Ð] -------------|--> STS ------> IAM¥í¡¼¥ë
| | |
+----------------|--> S3 <------------+
| DynamoDB <------+
- ¡¥Ð¥Ã¥Á¥µ¡¼¥Ð¤¬STS¤Ëǧ¾Ú ¢Í ¥Ð¥Ã¥Á¥µ¡¼¥Ð¤Ë °ì»þtoken ¤¬ÊÖ¤µ¤ì¤ë
- ¢S3 ¤Ë¡¢Ï¢·È¤¹¤ëIAM¥í¡¼¥ë¤¬°ìÄê»þ´ÖŬÍѤµ¤ì¤ë (¥Ç¥Õ¥©¥ë¥È3600sec, ºÇ¾®900sec)
- £¥Ð¥Ã¥Á¥µ¡¼¥Ð¤Ï¡¢S3¤Ë °ì»þtoken ¤ò»È¤Ã¤Æ¥¢¥¯¥»¥¹¤¹¤ë
- STS°Ê³°¤Ë¤â³°Éôǧ¾Ú¤ÈID¥Õ¥§¥Ç¥ì¡¼¥·¥ç¥ó¤ÇIAM¥í¡¼¥ë¤òÏ¢·È¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤ë
| AWS Cloud
[SSO]--------------------+--------(SAML)--|---------------> IAM¥í¡¼¥ë
(SAML) | |
[Web¥µ¡¼¥Ð] ---------|--> S3 <------------+
| DynamoDB <------+
- ³°Éô¤ÎSSO¤ÈSAML2.0¤ÇIAM¥í¡¼¥ë¤òÏ¢·È¤¹¤ë¤³¤È¤¬¤Ç¤¤ë
- Active Direcotry¡¢IDaaS(OneLOgin, Okta) ¤Ê¤É¤ÈÏ¢·È¤Ç¤¤ë
Amazon Cognito †
- AWS¾å¤Çư¤¯¥¢¥×¥ê¤Î¥í¥°¥¤¥ó´ÉÍý
- ¥æ¡¼¥¶¥×¡¼¥ë : ǧ¾Ú
- ID¥×¡¼¥ë : ¥¯¥é¥¤¥¢¥ó¥È¦¤ÎJavascript¤Ç IAM¤ß¤¿¤¤¤Ê¤³¤È¤ò¤ä¤ê¤¿¤¤¤È¤¤Ë»È¤¦
- ¥æ¡¼¥¶¥×¡¼¥ë
- ¥í¥°¥¤¥ó²èÌÌ¡¢UI¤Î¥«¥¹¥¿¥Þ¥¤¥º²Äǽ
- ¥æ¡¼¥¶¥×¥í¥Õ¥¡¥¤¥ë´ÉÍý
¥Ñ¥¹¥ï¡¼¥É¥Ý¥ê¥·¡¼ |
¥æ¡¼¥¶¥µ¥¤¥ó¥¢¥Ã¥×¤Îµö²Ä |
¥á¡¼¥ë¥¢¥É¥ì¥¹/ÅÅÏÃÈÖ¹æ¤Î¸¡¾Ú |
MFA(¿Í×ÁÇǧ¾Ú) |
¥¢¥É¥Ð¥ó¥¹¥È¥»¥¥å¥ê¥Æ¥£(¥Ñ¥¹¥ï¡¼¥É¤¬Ï³±Ì¤·¤¿¤È¤¥í¥Ã¥¯¤¹¤ë¤Ê¤É) |
- Lambda¥È¥ê¥¬¡¼
- Web ID¥Õ¥§¥Ç¥ì¡¼¥·¥ç¥ó (Facebook, Google, Apple ID, SAML... ¤Ç¥í¥°¥¤¥ó)
- ID¥×¡¼¥ë
- ¥¯¥é¥¤¥¢¥ó¥È¦¤ÎJavascript¤«¤éREST¤ÇľÀÜS3¤äDynamoDB¤Ë¥¢¥¯¥»¥¹|
¥·¡¼¥¯¥ì¥Ã¥È¾ðÊó¤Î´ÉÍý †
- Web¥µ¡¼¥Ð¤¬¡¢DB¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Î¾ðÊó¤ò¤É¤³¤Ë»ý¤Ã¤Æ¤ª¤¯¤«
- AWS System Manager ¥Ñ¥é¥á¡¼¥¿¥¹¥È¥¢
- KMS ¤Ë¡¢DB¤ÎIP¥¢¥É¥ì¥¹¡¢¥æ¡¼¥¶Ì¾¡¢¥Ñ¥¹¥ï¡¼¥É¡¢¥Ý¡¼¥È¤ò³ÊǼ¤¹¤ë
- ¸¶Â§Åª¤Ë¸ÇÄê¤Î¾ðÊó¤ò³ÊǼ¤¹¤ë
- AWS Secure Manager
- KMS ¤Ë¡¢DB¤ÎIP¥¢¥É¥ì¥¹¡¢¥æ¡¼¥¶Ì¾¡¢¥Ñ¥¹¥ï¡¼¥É¡¢¥Ý¡¼¥È¤ò³ÊǼ¤¹¤ë¤Î¤Ï¡¢System Manager ¤ÈƱ¤¸
- Äê´üŪ¤Ë DB¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¹¹¿·¤·¤¿¤¤¤È¤¤Ë»È¤¦
- °ìÄê»þ´Ö¤´¤È¤Ë Lambda ¤ò¼Â¹Ô¤·¤Æ¡¢DB¥µ¡¼¥Ð¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ËÂФ·¤Æ GetSecret? ¤Ç¥æ¡¼¥¶Ì¾¤ä¥Ñ¥¹¥ï¡¼¥É¤ò¼èÆÀ¡¢¼«Æ°¹¹¿·¤¹¤ë
- DB¥µ¡¼¥Ð¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¼«Æ°Åª¤ËÍð¿ô¤¬ÀßÄꤵ¤ì¤ë (¤½¤·¤Æ¡¢Secure Manager ¤Ç Web¥µ¡¼¥Ð¤Ë¼«Æ°¶¦Í¤µ¤ì¤ë) ¤è¤¦¤Ë¤¹¤ì¤Ð¡¢DB¥µ¡¼¥Ð¤Î¥Ñ¥¹¥ï¡¼¥É¤òÃΤäƤ¤¤ë¿Í´Ö¤¬¤¤¤Ê¤¤±¿ÍѤ¬¤Ç¤¤ë
°Å¹æ²½(SSL/TLS) †
- AWS Certificate Manager
- ÆÈ¼«¥É¥á¥¤¥ó¤Î¾ÚÌÀ½ñ¤ò´ÉÍý¤¹¤ë
- Amazon Cloud Front
- Elastic Load Balancer
- Amazon API Gateway
- AWS Key Management Service
- ¾ÚÌÀ½ñ¤ÎÊÝ´É
- CMK (Customer Master Key) ¤Ç°Å¹æ²½
- ¢¨ ¤è¤ê¸·³Ê¤ÊÊݴɤ¬É¬Íפʾì¹ç¤Ï AWS Cloud HSM ¤ò»È¤¦
- ¥Ç¡¼¥¿¤Î°Å¹æ²½
- S3
- SSE-S3 (S3¤¬´ÉÍý¤¹¤ë¸°¤Ç°Å¹æ²½)
- SSE-KMS (KMS¤¬´ÉÍý¤¹¤ë¸°¤Ç°Å¹æ²½)
- SSE-C (¥æ¡¼¥¶»ØÄê¤Î¸°¤Ç°Å¹æ²½)
- RDS (Relational Database Service)
- Amazon Aurora¡¢PostgreSQL¡¢MySQL¡¢MariaDB¡¢Oracle Database¡¢Microsoft SQL Server
- KMS¤Ç´ÉÍý¤µ¤ì¤ë¸°¤Ç°Å¹æ²½
- ¥Ð¥Ã¥¯¥¢¥Ã¥×¤â°Å¹æ²½¤µ¤ì¤ë
- ¥ê¡¼¥¸¥ç¥ó¤Þ¤¿¤®¤Î¥³¥Ô¡¼ : ¥ê¡¼¥¸¥ç¥ó¤ò¤Þ¤¿¤¤¤Ç CMK ¤òÅϤ»¤Ê¤¤¤Î¤Ç¡¢°Å¹æ²½¤µ¤ì¤¿¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤ò¥³¥Ô¡¼¤·¤Æ¤âÉü¹æ²½¤Ç¤¤Ê¤¤¡£¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤Î¥³¥Ô¡¼¤ò¹Ô¤¦¤È¤¤Ë¡¢Á÷¤êÀè¤Î CMK ¤ò»ØÄꤹ¤ë
- ÊÌ¥¢¥«¥¦¥ó¥È¤Ç¤Î¥ê¥¹¥È¥¢ : CMK¤Î¥¡¼¥Ý¥ê¥·¡¼¤Ç¡¢Â¾¤Î¥¢¥«¥¦¥ó¥È¤Ë¥ê¥¹¥È¥¢¤òµö²Ä¤¹¤ë
- SQS ¥á¥Ã¥»¡¼¥¸¤Î°Å¹æ²½
- ¥á¥Ã¥»¡¼¥¸¤Ï KMS ¤¬»ý¤Ã¤Æ¤¤¤ë CMK ¤Ç°Å¹æ²½/Éü¹æ²½¤µ¤ì¤ë
¥µ¡¼¥Ó¥¹³«È¯ †
¥¤¥ó¥Õ¥é †
- AWS¤Î¹½À®
- AWS Region (À¤³¦20¥ö½ê°Ê¾å)
- Availability Zone (RegionÆâ¤ËºÇÄã2¤Ä)
- Edge Location (À¤³¦200¥ö½ê°Ê¾å)
- Cloud Front
- Edge Location ¤Ë¤¢¤ë¥¥ã¥Ã¥·¥å¥µ¡¼¥Ð
- Web¤À¤±¤Ç¤Ê¤¯¡¢S3¤Î¥Ð¥±¥Ã¥È¤Ê¤É¤â Cloud Front ¤Ç¥¥ã¥Ã¥·¥å¤µ¤ì¤ë ¢Í Îã: ËÌÊÆ¥ê¡¼¥¸¥ç¥ó¤Çư¤¤¤Æ¤¤¤ë¥µ¡¼¥Ó¥¹¤òÅìµþ¤ÎEdge Location¾å¤Î Cloud Front ¤«¤é¥¢¥¯¥»¥¹¤¹¤ë
- AZ¤ò°Õ¼±¤·¤Ê¤¤ã¤¤¤±¤Ê¤¤¤Î¤Ï
- Cloud Front¤Ï¡¢¥ê¡¼¥¸¥ç¥ó¤Î³° (Edge Location¤Î»ý¤Áʪ)
- ¤½¤Î¾¤Ï¥ê¡¼¥¸¥ç¥ó¤Î»ý¤Áʪ (S3,SNS,Lambda,...)
³«È¯´Ä¶ †
| AWS Cloud
¥æ¡¼¥¶ - [UI] ---API---> EC2, Lambda, S3, VPC
|
- UI
- AWS Management Console
- AWS Command Line Interface
- AWS Tools ans SDKs
- Toolkit IDE¤Îplugin¤ÇÄó¶¡ (PyCharm?, VSCode, ...)
- AWS Colud9 (Web IDE)
- UI¤Ï¡¢API·Ðͳ¤Ç¥µ¡¼¥Ó¥¹¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë
- API¤Ø¤Î¥¢¥¯¥»¥¹¤Ï¡Ö½ð̾¥Ð¡¼¥¸¥ç¥ó4¡×¤Ç¡¢½èÍýÍ×µá¤Ë½ð̾¤ò¤¹¤ëɬÍפ¬¤¢¤ë
- ¥Ø¥Ã¥À¤Ë¼¡¤Î¤â¤Î¤ò¤Ä¤±¤ë
½ð̾¤Ë»ÈÍѤ·¤¿¥¢¥ë¥´¥ê¥º¥à | AWS4-HMAC-SHA256 |
ǧ¾Ú¾ðÊó¥¹¥³¡¼¥× | ¥¤¥ó¥¹¥¿¥ó¥¹+»þ¹ï+¥ê¡¼¥¸¥ç¥ó+API |
½ð̾ÉÕ¤¥Ø¥Ã¥À¤Î°ìÍ÷ | AWS¤Î¥·¡¼¥¯¥ì¥Ã¥È¥¢¥¯¥»¥¹¥¡¼¤«¤é½ð̾¥¡¼¤ò¼èÆÀ |
·×»»¤µ¤ì¤¿½ð̾ | ¥ê¥¯¥¨¥¹¥È¤Î¥á¥¿¥Ç¡¼¥¿¤È½ð̾¥¡¼¤«¤é·×»»¤µ¤ì¤¿¥Ï¥Ã¥·¥åÃÍ |
- ǧ¾Ú¾ðÊó¤È¤·¤Æ»È¤¦¤â¤Î¤ÎÍ¥Àè½ç°Ì
- ¥³¡¼¥É¤Î¥ª¥×¥·¥ç¥ó¤ä¥Ñ¥é¥á¡¼¥¿¤Ç»ØÄꤵ¤ì¤¿¥¢¥¯¥»¥¹¥¡¼
- ´Ä¶ÊÑ¿ô (AWS_ACCESS_KEY_ID¡¢AWS_SECRET_ACCESS_KEY_
/.aws/credentials
- ECS¤ÎIAM ¥í¡¼¥ë (¥¤¥ó¥¹¥¿¥ó¥¹¥×¥í¥Õ¥¡¥¤¥ë)
¥¹¥È¥ì¡¼¥¸ †
- Amazon Elastic Block Store (EBS)
- ¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¥¢¥¿¥Ã¥Á¤·¤Æ¡¢OS¤ä¥½¥Õ¥È¥¦¥§¥¢¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë Block ¥Ç¥Ð¥¤¥¹
- Availability Zone ¤Î»ý¤Áʪ (AZ ¤ò¤Þ¤¿¤¤¤Ç¶¦Í¤Ç¤¤Ê¤¤)
- Amazon Elastic File System (EFS)
- ¥¤¥ó¥¹¥¿¥ó¥¹¤«¤é¥Þ¥¦¥ó¥È¤·¤Æ»È¤¦¡¢¥Ç¡¼¥¿Îΰè
- AZ¤ò¤Þ¤¿¤¤¤ÇÊ£¿ô¥¤¥ó¥¹¥¿¥ó¥¹¤«¤é¥Þ¥¦¥ó¥È¤Ç¤¤ë
- S3 (Amazon Simple Storage Service)
- KVS
- ¥ª¥Ö¥¸¥§¥¯¥È¥¹¥È¥ì¡¼¥¸
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÂбþ(¥Ö¥é¥¦¥¶¤«¤éľÀܸ«¤é¤ì¤ë)
- ÍÆÎÌ̵À©¸Â
- ½ÀÆð¤Ê¥»¥¥å¥ê¥Æ¥£ÀßÄê
- S3¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¼ç¤ÊÍÑÅÓ
- AWS Glue ¥Ç¡¼¥¿²Ã¹©¡¢¥Ç¡¼¥¿¥«¥¿¥í¥°¤ÎºîÀ®
- Amazon EMR Hadoop/Spark
- Amazon Redshift DWH (Dataware House)
- Amazon SageMaker? ¿äÏÀ
- Amazon Athena SQL¥¯¥¨¥ê¤ÇʬÀÏ
- Amazon Quick Sight BI(Business Intelligence ÍÍ¡¹¤Ê¥°¥é¥Õ²½)
- AWS Lake Formation (Glue, Athena ¤Ê¤É¤Î¥Æ¥ó¥×¥ì¡¼¥È)
- S3 Select (SQLʸ¤Ç¥Ç¡¼¥¿¤òÃê½Ð)
- S3 ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×
- ¥Ð¡¼¥¸¥ç¥Ë¥ó¥°
- ¥ª¥Ö¥¸¥§¥¯¥È¥í¥Ã¥¯(¾å½ñ¤¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤¹¤ë)
- Amazon S3 Glacier
- AWS Storage Gateway
- ¥Õ¥¡¥¤¥ë¥²¡¼¥È¥¦¥§¥¤ : S3 ¤ò NFS/SMB ¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë
- ¥Ü¥ê¥å¡¼¥à¥²¡¼¥È¥¦¥§¥¤ : S3 ¤ò iSCSI ¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë
- ¥Æ¡¼¥×¥²¡¼¥È¥¦¥§¥¤ : S3 ¤ò²¾Áۥơ¼¥×¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë
- S3 ¤Î¥¯¥í¥¹¥ê¥×¥ê¥±¡¼¥·¥ç¥ó : Åìµþ¥ê¡¼¥¸¥ç¥ó¤È¥·¥ó¥¬¥Ý¡¼¥ë¥ê¡¼¥¸¥ç¥ó¤ÇS3¤òƱ´ü¤¹¤ë
- S3 ¤«¤éÀÅŪ¥¦¥§¥Ö¥³¥ó¥Æ¥ó¥Ä¤òÇÛ¿®¤¹¤ë¡£Cloud Front ¤È¹ç¤ï¤»¤Æ»È¤¦
Cloud Front (JPN)-------+
Cloud Front (CHN)-------+-----S3 (HTML,CSS,PNG,JPG,...)
Cloud Front (SGN)-------+
- ¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥ê¥¹¥È¤Ç¸ø³«ÀßÄꤹ¤ë
- ¤è¤ê¾ÜºÙ¤Ë¸¢¸ÂÀßÄꤹ¤ë¾ì¹ç¤Ï¡¢¥Ñ¥±¥Ã¥È¥Ý¥ê¥·¡¼¤òÀßÄꤹ¤ë
- ½ð̾ÉÕ¤¥ª¥Ö¥¸¥§¥¯¥È¥¡¼ : °ì»þŪ¤Ë¥¢¥¯¥»¥¹¤Ç¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎURL (¥×¥í¥»¥¹¤¬À¸¤¤Æ¤¤¤ë´Ö¤À¤±Í¸ú¡Ë
- CORS (Cross Origin)
- °Å¹æ²½ SSE-S3, SSE-KMS, SSE-C
- À°¹çÀ MD5¥Á¥§¥Ã¥¯¥µ¥à
openssl md5 -binary xxx.txt | base64
¤Ç base64 ¤Î MD5 ¥Á¥§¥Ã¥¯¥µ¥à¤ò·×»»¤·¤Æ¡¢¥¢¥Ã¥×¥í¡¼¥É»þ¤Ë»ØÄꤹ¤ë
aws s3api put-ouject --bucket yyyy -key xxx.txt --body xxx.txt --content-md5 {MD5}
- S3¤ÎError
- Internal Error ¢Í ¤Ê¤ó¤«¤Î¥¨¥é¡¼¡¢²ò·èË¡¡ÖºÆ»î¹Ô¡×
- No Such Bucket
- Bucket Already Exists
- Invalid Bucket Name
Database †
- Amazon RDS (Relational Database Service)
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- ¥Ñ¥¹¥ï¡¼¥É¤Ï AWS Secret Manager ¤Ç¼«Æ°¥í¡¼¥Æ¡¼¥·¥ç¥ó¡¦¥¢¥×¥ê¥µ¡¼¥Ð¤È¶¦Í
- ¥ì¥×¥ê¥±¡¼¥·¥ç¥ó
- È󯱴ü/ÆÉ¤ß¼è¤êÀìÍÑ¥ì¥×¥ê¥«¤Ï 5 ¤Ä¤Þ¤ÇºîÀ®¤Ç¤¤ë
- ¥¯¥í¥¹¥ê¡¼¥¸¥ç¥ó¥ì¥×¥ê¥«
- ¥Õ¥§¥¤¥ë¥ª¡¼¥Ð¡¼ : ¥Þ¥¹¥¿¡¼¾ã³²»þ¤Ë¥¹¥¿¥ó¥Ð¥¤¤¬¥Þ¥¹¥¿¡¼¤Ë¾º³Ê
- ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È ¢Í S3¡£Â¾¤Î¥ê¡¼¥¸¥ç¥ó¤Ë¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¤òºî¤ë¤³¤È¤â¤Ç¤¤ë
- Amazon Aurora
- MySQL¸ß´¹API (Àǽ5ÇÜ)¡¢PostgreSQL¸ß´¹API (Àǽ3ÇÜ)
- ¼«Æ°³ÈÄ¥ 10GB ¢Í 128TB
- ¥¹¥¿¥ó¥Ð¥¤¤Ï¤Ê¤¤¡£ÆÉ¤ß¼è¤êÀìÍѤΥ꡼¥É¥ì¥×¥ê¥«¤ò 15 ¸Ä¤Þ¤Çºî¤ì¤ë
- ¥Õ¥§¥¤¥ë¥ª¡¼¥Ð¡¼¤Ï¡¢¥ê¡¼¥É¥ì¥×¥ê¥«¤¬¾º³Ê¡£¾ã³²¸å1ʬ°ÊÆâ
- ¥¥ã¥Ñ¥·¥Æ¥£¡¼¥¿¥¤¥×
- ¥×¥í¥Ó¥¸¥ç¥Ë¥ó¥°¥¿¥¤¥× : ¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤¹¤ë¡£¥¤¥ó¥¹¥¿¥ó¥¹¤´¤È¤Î²Ý¶â
- ¥µ¡¼¥Ð¥ì¥¹¥¿¥¤¥× : Aurora Serverless¡£AWS¤Î¤É¤Ã¤«¤Çư¤¤¤Æ¤¤¤ë¤¬¡¢¥æ¡¼¥¶¤Ï´ØÃΤ·¤Ê¤¤¡£ACU (Aurora Capacity Unit) ¤´¤È¤Ë²Ý¶â¡£1ACU=1CPU/2GB¥á¥â¥ê¡£¥Þ¥Í¥¸¥á¥ó¥È¥³¥ó¥½¡¼¥ë¤ÇÀßÄꤷ¤¿ºÇ¾®ACU¤«¤éºÇÂçACU¤Ë¼«Æ°¥¹¥±¡¼¥ê¥ó¥°
- Amazon Elastic Cache
- Memcached, Redis
- Ê£¿ô¤Î¥µ¥Ö¥Í¥Ã¥È¤ò«¤Í¤¿¥µ¥Ö¥Í¥Ã¥È¥°¥ë¡¼¥×¤ËÇÛÃÖ¤¹¤ë ¢Í AZ¤ò¤Þ¤¿¤¤¤À¥¥ã¥Ã¥·¥å¥µ¡¼¥Ð¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤¤ë
- Amazon DynamoDB
- Amazon ÆÈ¼«¤Î KVS
- PK
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤Î¤ß
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤È¥½¡¼¥È¥¡¼
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤Î¥Ï¥Ã¥·¥åÃͤò¸µ¤Ë¡¢¥ì¥³¡¼¥É¤ò³ÊǼ¤¹¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò·è¤á¤ë¡£¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤Ï¥Ï¥Ã¥·¥å¥¡¼¤È¤â¸Æ¤Ð¤ì¤ë
- ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤Î¹Íθ»ö¹à
- ¶È̳Ū¤ËʬÇÛ¤·¤ä¤¹¤¤Â°À¤ò»ÈÍѤ¹¤ë (¥æ¡¼¥¶ID¤Ê¤É)
- ¤½¤¦¤¤¤¦Â°À¤¬¤Ê¤¤¤Ê¤é¥µ¥Õ¥£¥Ã¥¯¥¹¤òÄɲä¹¤ë ¡Ö.1¤«¤é.200¡× (Åìµþ.1, Åìµþ.2, ..., Åìµþ.200, ¿ÀÆàÀî.1, ¿ÀÆàÀî.2, ...)
- ¥»¥«¥ó¥À¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹
- LSI (¥í¡¼¥«¥ë¥»¥«¥ó¥À¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹) = ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤Î¤³¤È
- GSI (¥°¥í¡¼¥Ð¥ë¥»¥«¥ó¥À¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹) = ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥¡¼¤È̵´Ø·¸¤Î°À¤Ç¥¯¥¨¥ê¤Î¸¡º÷¤ò¹Ô¤¤¤¿¤¤¤È¤¤ËÀßÄꤹ¤ë
- ÀÁµá
- ¥ª¥ó¥Ç¥Þ¥ó¥É¥¥ã¥Ñ¥·¥Æ¥£¥â¡¼¥É : ÆÉ¤ß½ñ¤²ó¿ô¤Ë¤è¤ë²Ý¶â
- ¥×¥í¥Ó¥¸¥ç¥Ë¥ó¥°ºÑ¤ß¥¥ã¥Ñ¥·¥Æ¥£¥â¡¼¥É : ¥×¥í¥Ó¥¸¥ç¥Ë¥ó¥°=³ÎÄꡣͽ¤á RCU,WCU¤ò¹ØÆþ¤¹¤ë
RCU | Read Capacity Unit | 1KB/sec |
WCU | Write Capacity Unit | 1KB/sec |
- DynamDB ¥¹¥È¥ê¡¼¥à
- Êѹ¹»þ¤ËÊѹ¹¾ðÊ󤬯À¤é¤ì¤ë¥¹¥È¥ê¡¼¥à¡£Êѹ¹¤´¤È¤Ë Lambda ¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ë»È¤¦
- ¤É¤Î¾ðÊó¤ò¥¹¥È¥ê¡¼¥à¤Ë¾è¤»¤ë¤«¤òÀßÄꤹ¤ë
¥¡¼¤Î¤ß | |
¿·¤·¤¤¥¤¥á¡¼¥¸ | Êѹ¹¸å¤Î¥ì¥³¡¼¥É |
¸Å¤¤¥¤¥á¡¼¥¸ | Êѹ¹Á°¤Î¥ì¥³¡¼¥É |
¿·µì¥¤¥á¡¼¥¸ | Êѹ¹Á°¤ÈÊѹ¹¸å¤Î¥ì¥³¡¼¥É |
- DynamoDB ¥°¥í¡¼¥Ð¥ë¥Æ¡¼¥Ö¥ë
- ¾¤Î¥ê¡¼¥¸¥ç¥ó¤Ë¥ì¥×¥ê¥«¤òºî¤ë
- DynamoDB ¥¹¥È¥ê¡¼¥à¤Ë¤è¤Ã¤Æ¡¢Êѹ¹¾ðÊó¤ò¾¤Î¥ê¡¼¥¸¥ç¥ó¤ËÇÛ¤Ã¤ÆÆ±´ü¤¹¤ë
- DynamoDB ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
- ¥Ý¥¤¥ó¥È¥¤¥ó¥¿¥¤¥à¥ê¥«¥Ð¥ê ¢Í ²áµî35Æü°ÊÆâ¤ÎǤ°Õ¤Î»þ¹ï¤ËÌá¤ì¤ë
- ¥Ð¥Ã¥¯¥¢¥Ã¥× ¢Í ÆÃÄê¤Î»þÅÀ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë
- DynamoDB Accelerarator (DAX)
- ¥¤¥ó¥á¥â¥ê¤Çư¤¯ DynamoDB
- Ä̾ï¿ô¥ß¥êÉäΥ쥤¥Æ¥ó¥·¤ò¿ô¥Þ¥¤¥¯¥íÉäˤǤ¤ë
- VPC¥µ¥Ö¥Í¥Ã¥È¥°¥ë¡¼¥×¾å¤Ë¤Ä¤¯¤ë
- API¤Ï DynamoDB ¤È¸ß´¹
- DynamoDB API
- PutItem?
- UpdateItem? : ³Ú´Ñ¥í¥Ã¥¯ ConditionExpression?
- GetItem?
- DeleteItem?
- Query
- Scan (Á´¹àÌÜÁöºº¡¢ÃÙ¤¤¤Î¤Ç Query ¤ò»È¤¦¤Ù¤·)
- BatchWriteItem? , BatchGetItem?
- TransactWriteItems?, TransactGetItems? : 2018¤ËÄɲᢡÖDynamoDB¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë NoSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¡×
- Java DynamoMapper?
- C# ¥ª¥Ö¥¸¥§¥¯¥È±Ê³À¥â¥Ç¥ë
- DynamoDB¤Î¥»¥¥å¥ê¥Æ¥£=IAM
Computer#Basic