ハンズオン: CloudFormation、SAM、Codeサービス ~AWS認定デベロッパーアソシエイト(DVA-C02)~
このブログは2026年6月29日翔泳社さんより発売される「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集」で扱う内容を体験していただくためのハンズオンガイドです。
このハンズオンガイドでは、CloudFormation、SAM、CodeCommit、CodeBuild、CodePipelineを使って、サーバーレスアプリケーションのデプロイとCI/CDパイプラインを構築します。インフラのコード化(IaC)によるデプロイの自動化と、コード変更時の自動ビルド・デプロイを体験します。
目次
全体構成
東京リージョンで構築してください。
完成する構成は以下のとおりです。
(1) CloudFormationでEC2作業環境を構築する(git、Docker、SAM CLIをインストール)
(2) EC2上でSAMアプリケーションを作成してデプロイする(Lambdaバージョン/エイリアス + Canaryデプロイ)
(3) CodeCommitリポジトリにSAMプロジェクトをプッシュする
(4) CodeBuildでビルドプロジェクトを作成する
(5) CodePipelineでCI/CDパイプラインを構築する(ソース → ビルド → デプロイ)
一連のフロー:CodeCommit(コード変更) → CodePipeline → CodeBuild(sam build + sam package) → CloudFormation(デプロイ) → Lambda + API Gateway更新
準備:IAMポリシーの作成とアタッチ
ハンズオンで使用するIAMユーザーまたはIAMロールに、以下のポリシーをアタッチしてください。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessForHandson", "Effect": "Allow", "Action": [ "cloudformation:*", "lambda:*", "apigateway:*", "iam:*", "codecommit:*", "codebuild:*", "codepipeline:*", "codedeploy:*", "s3:*", "logs:*", "ec2:*", "ssm:*", "cloudshell:*", "events:*" ], "Resource": "*" } ] } |
タスク 1:CloudFormationでEC2作業環境を構築する
目的
CloudFormationテンプレートを使って、git、Docker、SAM CLIがインストールされたEC2作業環境を自動構築しましょう。IaC(Infrastructure as Code)の基本を体験します。
手順
(1) CloudShellを開いて、CloudFormationテンプレートを作成します:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
cat > /tmp/workenv-template.yaml << 'EOF' AWSTemplateFormatVersion: '2010-09-09' Description: Handson - EC2 work environment with git, Docker, SAM CLI Parameters: LatestAmiId: Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id> Default: /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64 Resources: WorkRole: Type: AWS::IAM::Role Properties: RoleName: handson-cicd-work-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: ec2.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AdministratorAccess - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore WorkInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Roles: - !Ref WorkRole WorkSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: No inbound access - Session Manager only GroupName: handson-cicd-sg WorkInstance: Type: AWS::EC2::Instance Properties: ImageId: !Ref LatestAmiId InstanceType: t3.micro IamInstanceProfile: !Ref WorkInstanceProfile SecurityGroupIds: - !Ref WorkSecurityGroup Tags: - Key: Name Value: handson-cicd-workenv UserData: Fn::Base64: | #!/bin/bash dnf update -y dnf install -y git docker systemctl enable docker systemctl start docker usermod -aG docker ssm-user curl -Lo /tmp/aws-sam-cli-linux-x86_64.zip https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip unzip -q /tmp/aws-sam-cli-linux-x86_64.zip -d /tmp/sam-installation /tmp/sam-installation/install echo "Setup complete" > /tmp/setup-done.txt Outputs: InstanceId: Description: EC2 Instance ID Value: !Ref WorkInstance EOF |
(2) CloudFormationスタックを作成します:
|
1 2 3 4 5 6 |
aws cloudformation create-stack \ --stack-name handson-cicd-workenv \ --template-body file:///tmp/workenv-template.yaml \ --capabilities CAPABILITY_NAMED_IAM \ --region ap-northeast-1 |
(3) スタックの作成完了を待ちます(3〜5分かかります):
|
1 2 3 4 5 |
aws cloudformation wait stack-create-complete \ --stack-name handson-cicd-workenv \ --region ap-northeast-1 echo "スタック作成完了" |
(4) EC2インスタンスIDを確認します:
|
1 2 3 4 5 6 |
aws cloudformation describe-stacks \ --stack-name handson-cicd-workenv \ --query "Stacks[0].Outputs[?OutputKey=='InstanceId'].OutputValue" \ --output text \ --region ap-northeast-1 |
(5) EC2コンソールでhandson-cicd-workenvインスタンスを選択し、[接続]-[セッションマネージャー]タブから[接続]をクリック。ユーザーデータの実行完了には数分かかるため、接続後に以下で確認します:
|
1 2 |
cat /tmp/setup-done.txt |
「Setup complete」と表示されればインストール完了です。
(6) インストールされたツールを確認します:
|
1 2 3 4 |
git --version docker --version sam --version |
ポイント
- CloudFormationテンプレートでEC2インスタンスとIAMロール、セキュリティグループをまとめて自動構築しています。
- UserDataにより、インスタンス起動時にgit、Docker、SAM CLIが自動インストールされます(ブートストラップパターン)。
- セキュリティグループにインバウンドルールがないため、SSHポートを開放せずにセッションマネージャーで安全に接続しています。
- スタックを削除すれば、EC2、IAMロール、セキュリティグループもまとめて削除できます。
タスク 2:SAMでサーバーレスアプリケーションを作成してデプロイする
目的
EC2作業環境からSAMを使って、サーバーレスアプリケーションを作成・デプロイしましょう。LambdaのAutoPublishAliasとCanaryデプロイも設定します。
手順
(1) セッションマネージャーのターミナルでssm-userに再ログインします(UserDataで追加したDockerグループ権限を反映するため):
|
1 2 3 |
sudo su - ssm-user cd ~ |
(2) SAMプロジェクトを初期化します:
|
1 2 |
sam init --runtime python3.13 --name handson-sam-app --app-template hello-world --no-tracing --no-application-insights --no-structured-logging |
(3) template.yamlを編集して、AutoPublishAliasとDeploymentPreferenceを追加します:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
cat > ~/handson-sam-app/template.yaml << 'EOF' AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Globals: Function: Timeout: 3 Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.13 Architectures: - x86_64 AutoPublishAlias: live DeploymentPreference: Type: Canary10Percent5Minutes Events: HelloWorld: Type: Api Properties: Path: /hello Method: get Outputs: HelloWorldApi: Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/Prod/hello/" HelloWorldFunctionArn: Value: !GetAtt HelloWorldFunction.Arn EOF |
(4) ビルドします(EC2にPython 3.13がないため、Dockerコンテナ内でビルドします):
|
1 2 3 |
cd ~/handson-sam-app sam build --use-container |
(5) ローカルでLambda関数をテストします。sam local invokeでDockerコンテナ内で関数を実行します(初回はイメージのダウンロードで数分かかります):
|
1 2 |
sam local invoke HelloWorldFunction --event events/event.json |
{"statusCode": 200, "body": "{\"message\": \"hello world\"}"} のようなレスポンスが返ればローカルテスト成功です。デプロイ前にコードの動作を確認できます。
(6) デプロイします:
|
1 2 3 4 5 6 7 |
sam deploy \ --stack-name handson-sam-stack \ --resolve-s3 \ --capabilities CAPABILITY_IAM \ --region ap-northeast-1 \ --no-confirm-changeset |
(7) デプロイ完了後、APIエンドポイントを確認してテストします:
|
1 2 3 4 5 6 7 8 9 |
API_URL=$(aws cloudformation describe-stacks \ --stack-name handson-sam-stack \ --query "Stacks[0].Outputs[?OutputKey=='HelloWorldApi'].OutputValue" \ --output text \ --region ap-northeast-1) echo "API URL: $API_URL" curl -s $API_URL |
{"message": "hello world"} が返れば成功です。
(8) コードを変更してCanaryデプロイを体験します:
|
1 2 3 4 5 6 7 8 9 10 |
cat > ~/handson-sam-app/hello_world/app.py << 'EOF' import json def lambda_handler(event, context): return { "statusCode": 200, "body": json.dumps({"message": "hello world - v2 with Canary deploy!"}), } EOF |
(9) ビルドして再デプロイします:
|
1 2 3 4 5 6 7 8 9 |
cd ~/handson-sam-app sam build --use-container sam deploy \ --stack-name handson-sam-stack \ --resolve-s3 \ --capabilities CAPABILITY_IAM \ --region ap-northeast-1 \ --no-confirm-changeset |
デプロイ中、CodeDeployが自動的にCanaryデプロイを実行します。まず10%のトラフィックが新バージョンに移行し、5分後に問題がなければ残り90%が移行します。
(10) Lambdaコンソールでバージョン2が作成され、liveエイリアスが更新されていることを確認します。
ポイント
sam init→sam build→sam deployの3ステップでデプロイできます。sam local invokeでDockerコンテナ内でLambda関数をローカル実行してテストできます。sam local start-apiでAPIとしてローカル起動することも可能です。- AutoPublishAliasを設定すると、デプロイのたびに新しいバージョンが発行されてエイリアスが更新されます。
- DeploymentPreferenceでCanary10Percent5Minutesを指定すると、CodeDeployがまず10%のトラフィックを新バージョンに移行し、5分間問題がなければ残り90%を一気に移行します。
- Canaryデプロイにより、全ユーザーに影響を与えずに新バージョンのリリースを安全に行えます。
タスク 3:CodeCommitリポジトリにSAMプロジェクトをプッシュする
目的
CodeCommitにリポジトリを作成して、SAMプロジェクトをプッシュしましょう。CI/CDパイプラインのソースとして使用します。
手順
(1) EC2のセッションマネージャーで以下を実行します。CodeCommitリポジトリを作成します:
|
1 2 3 4 5 |
aws codecommit create-repository \ --repository-name handson-sam-app \ --repository-description "Handson SAM application" \ --region ap-northeast-1 |
(2) Gitの初期設定を行います:
|
1 2 3 4 5 |
git config --global user.email "handson@example.com" git config --global user.name "handson" git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true |
(3) SAMプロジェクトをGitリポジトリとして初期化し、CodeCommitにプッシュします:
|
1 2 3 4 5 6 7 |
cd ~/handson-sam-app git init git add . git commit -m "Initial commit - SAM Hello World with Canary deploy" git remote add origin https://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/handson-sam-app git push -u origin master |
(4) マネジメントコンソールのCodeCommitコンソールでhandson-sam-appリポジトリを開き、ファイルが表示されることを確認します。
ポイント
- CodeCommitはAWSが提供するプライベートGitリポジトリサービスです。
- EC2のIAMロール経由で認証情報ヘルパーを使い、追加の認証設定なしでCodeCommitにアクセスしています。
- CodeCommitはIAMと統合されているので、リポジトリへのアクセス制御をIAMポリシーで管理できます。
タスク 4:CodeBuildでビルドプロジェクトを作成する
目的
CodeBuildでビルドプロジェクトを作成して、SAMアプリケーションのビルドとパッケージングを自動化しましょう。
手順
(1) まず、SAMプロジェクトにbuildspec.ymlを追加します。EC2のセッションマネージャーで実行します:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
cd ~/handson-sam-app cat > buildspec.yml << 'EOF' version: 0.2 phases: install: runtime-versions: python: 3.12 commands: - pip install aws-sam-cli build: commands: - sam build --use-container post_build: commands: - sam package --output-template-file packaged.yaml --s3-bucket $S3_BUCKET --region ap-northeast-1 --no-resolve-s3 artifacts: files: - packaged.yaml EOF |
(2) buildspec.ymlをコミットしてプッシュします:
|
1 2 3 4 |
git add buildspec.yml git commit -m "Add buildspec.yml for CodeBuild" git push |
(3) パイプラインのアーティファクト用S3バケットを作成します(バケット名は一意にしてください):
|
1 2 3 4 |
ARTIFACT_BUCKET="handson-cicd-artifacts-$(aws sts get-caller-identity --query Account --output text)" aws s3 mb s3://$ARTIFACT_BUCKET --region ap-northeast-1 echo "アーティファクトバケット: $ARTIFACT_BUCKET" |
このバケット名をメモしておきます。
(4) マネジメントコンソールのCodeBuildコンソールにアクセスし、[ビルドプロジェクトの作成]をクリック。
(5) 以下の設定を行います:
| 項目 | 設定値 |
|---|---|
| プロジェクト名 | handson-sam-build |
| ソースプロバイダ | AWS CodeCommit |
| リポジトリ | handson-sam-app |
| ブランチ | master |
| 環境イメージ | マネージド型イメージ |
| コンピューティング | EC2 |
| オペレーティングシステム | Amazon Linux |
| ランタイム | Standard |
| イメージ | aws/codebuild/amazonlinux-x86_64-standard:6.0 |
| 特権付与 | チェックを入れる |
| サービスロール | 新しいサービスロール |
| ビルド仕様 | buildspecファイルを使用する |
(6) [環境変数]セクションで以下を追加します:
| 名前 | 値 | タイプ |
|---|---|---|
| S3_BUCKET | (手順3でメモしたバケット名) | プレーンテキスト |
(7) [アーティファクト]セクションはタイプ[なし]のまま、[ビルドプロジェクトを作成]をクリック。
(8) 作成されたCodeBuildのサービスロールに権限を追加します。IAMコンソールで、CodeBuildが自動作成したサービスロール(codebuild-handson-sam-build-service-roleのような名前)を開きます。
(9) [許可を追加]-[ポリシーをアタッチ]をクリックし、AdministratorAccessをアタッチします。
buildspec.yml内でsam build –use-containerを実行するため特権付きが必要です。また、sam packageでS3にアップロードするためAdministratorAccessを付与しています。本番環境では最小権限にしてください。
ポイント
- buildspec.ymlはビルドの仕様を定義するファイルで、リポジトリのルートに配置します。
sam build --use-containerはDockerコンテナ内でビルドするため、CodeBuild環境のPythonバージョンに依存しません。sam packageでビルド済みコードをS3にアップロードし、packaged.yamlを生成します。このpackaged.yamlをCloudFormationのデプロイステージで使用します。- 環境変数S3_BUCKETでパッケージのアップロード先を指定しています。
タスク 5:CodePipelineでCI/CDパイプラインを構築する
目的
CodePipelineを使って、コード変更を検知してビルド・デプロイを自動実行するCI/CDパイプラインを構築しましょう。デプロイステージではCloudFormationでSAMテンプレートを適用します。
手順
(1) まずデプロイステージで使用するCloudFormation用のIAMロールを作成します。IAMコンソールにアクセスし、[ロール]-[ロールを作成]をクリック。以下の設定で作成します:
| 項目 | 設定値 |
|---|---|
| 信頼されたエンティティタイプ | AWSのサービス |
| サービスまたはユースケース | CloudFormation |
| 許可ポリシー | AdministratorAccess |
| ロール名 | handson-cfn-deploy-role |
本番環境ではAdministratorAccessではなく最小権限にすべきですが、ハンズオンでは簡略化のためフルアクセスを使用します。
(2) CodePipelineコンソールにアクセスし、[パイプラインを作成する]をクリック。
(3) Step 1 [作成オプションを選択する]で[カスタムパイプラインを構築する]を選択して[次に]をクリック。
(4) Step 2 [パイプラインの設定を選択する]で以下を設定します:
| 項目 | 設定値 |
|---|---|
| パイプライン名 | handson-sam-pipeline |
| 実行モード | キュー |
| サービスロール | 新しいサービスロール |
(5) [次に]をクリック。
(6) Step 3 [Add source stage]で以下を設定します:
| 項目 | 設定値 |
|---|---|
| ソースプロバイダー | AWS CodeCommit |
| リポジトリ名 | handson-sam-app |
| ブランチ名 | master |
| ソースの変更を自動的に検出するEventBridgeルールを作成 | チェックを入れる |
| 出力アーティファクト形式 | CodePipelineのデフォルト |
(7) [次に]をクリック。
(8) Step 4 [ビルドステージを追加する]で[その他のビルドプロバイダー]を選択し、以下を設定します:
| 項目 | 設定値 |
|---|---|
| プロバイダー | AWS CodeBuild |
| プロジェクト名 | handson-sam-build |
| ビルドタイプ | 単一ビルド |
(9) [次に]をクリック。
(10) Step 5 [テストステージを追加]は[テストステージをスキップ]をクリック。
(11) Step 6 [デプロイステージを追加する]で以下を設定します:
| 項目 | 設定値 |
|---|---|
| デプロイプロバイダー | AWS CloudFormation |
| リージョン | アジアパシフィック(東京) |
| 入力アーティファクト | BuildArtifact |
| アクションモード | スタックを作成または更新する |
| スタック名 | handson-sam-stack |
| テンプレート | BuildArtifact – packaged.yaml |
| Capabilities | CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND |
| ロール名 | handson-cfn-deploy-role |
(12) [次に]をクリック。
(13) Step 7 [レビュー]で確認して[パイプラインを作成する]をクリック。
パイプラインが作成されると、自動的にソースステージが実行されます。
初回実行はCodeCommitから最新のコードを取得してビルド・デプロイが実行されます。
(14) パイプラインの各ステージが緑(成功)になることを確認します。ビルドステージでエラーが発生した場合は、CodeBuildのログを確認してサービスロールの権限を修正します。
(15) パイプラインが成功したら、コードを変更してCI/CDの自動実行を確認します。EC2のセッションマネージャーに戻って以下を実行します:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
cd ~/handson-sam-app cat > hello_world/app.py << 'EOF' import json from datetime import datetime, timezone, timedelta def lambda_handler(event, context): jst = timezone(timedelta(hours=9)) now = datetime.now(jst).isoformat() return { "statusCode": 200, "body": json.dumps({ "message": "CI/CD Pipeline is working!", "deployedAt": now }, ensure_ascii=False), } EOF git add . git commit -m "Update message to test CI/CD pipeline" git push |
(16) CodePipelineコンソールに戻り、パイプラインが自動的に開始されることを確認します。
(17) パイプラインが成功したら、APIエンドポイントにアクセスして更新されたメッセージを確認します:
|
1 2 3 4 5 6 7 8 |
API_URL=$(aws cloudformation describe-stacks \ --stack-name handson-sam-stack \ --query "Stacks[0].Outputs[?OutputKey=='HelloWorldApi'].OutputValue" \ --output text \ --region ap-northeast-1) curl -s $API_URL |
{"message": "CI/CD Pipeline is working!", "deployedAt": "2026-06-..."} のようなレスポンスが返れば、CI/CDパイプラインが正常に動作しています。
ポイント
- CodePipelineはソース・ビルド・デプロイの各ステージを連携させるCI/CDオーケストレーションサービスです。
- CodeCommitへのプッシュをEventBridgeが検知して、自動的にパイプラインが開始されます。
- ビルドステージでsam buildとsam packageが実行され、packaged.yamlがアーティファクトとしてデプロイステージに渡されます。
- デプロイステージではCloudFormationがpackaged.yamlをテンプレートとして使い、スタックを作成/更新します。
- CAPABILITY_IAMとCAPABILITY_AUTO_EXPANDの両方が必要です(SAMのTransformでIAMリソースが生成されるため)。
- コードを変更してプッシュするだけで、自動的にビルド・デプロイが実行される継続的デプロイメント(CD)が実現されています。
クリーンアップ
ハンズオンで作成したリソースをすべて削除します。以下の順番で削除してください。
(1) CodePipelineの削除
CodePipelineコンソールでhandson-sam-pipelineを削除します。
(2) CodeBuildプロジェクトの削除
CodeBuildコンソールでhandson-sam-buildプロジェクトを削除します。
(3) CloudFormationスタックの削除(SAMアプリケーション)
CloudFormationコンソールでhandson-sam-stackを削除します。
(4) CodeCommitリポジトリの削除
CodeCommitコンソールでhandson-sam-appリポジトリを削除します。
(5) S3バケットの削除
S3コンソールで以下のバケットを空にしてから削除します:
– handson-cicd-artifacts-{アカウントID}(タスク4で作成)
– aws-sam-cli-managed-default-…(SAMが自動作成)
– codepipeline-ap-northeast-1-…(CodePipelineが自動作成)
(6) CloudFormationスタックの削除(EC2作業環境)
CloudFormationコンソールでhandson-cicd-workenvを削除します。EC2インスタンス、IAMロール、セキュリティグループもまとめて削除されます。
(7) IAMロールの削除
IAMコンソールで以下のロールを削除します:
– handson-cfn-deploy-role(タスク5で作成)
– CodeBuildとCodePipelineが作成したサービスロール
(8) CloudWatch Logsロググループの削除
CloudWatchコンソールの[ロググループ]で関連するロググループを削除します。
(9) ハンズオン用ポリシーの削除
ハンズオン用に作成したIAMポリシーがあれば削除します。
まとめ
| タスク | サービス | 役割 |
|---|---|---|
| タスク 1 | CloudFormation | テンプレートによるEC2作業環境の自動構築(IaC) |
| タスク 2 | SAM | サーバーレスアプリの定義とデプロイ(Canaryデプロイ) |
| タスク 3 | CodeCommit | Gitリポジトリによるソースコード管理 |
| タスク 4 | CodeBuild | ビルドプロセスの自動化(buildspec.yml) |
| タスク 5 | CodePipeline | CI/CDパイプラインによるソース→ビルド→デプロイの自動化 |
このハンズオンで体験したデプロイの特徴をまとめます。
- CloudFormationにより、インフラをコードとして管理(IaC)できます。テンプレートからスタックを作成・更新・削除できます。
- SAMはCloudFormationの拡張で、サーバーレスアプリケーションの定義が簡潔に記述できます。
- AutoPublishAliasとDeploymentPreferenceにより、Lambdaのバージョン/エイリアス管理とCanaryデプロイが自動化されます。
- CodeCommitはプライベートGitリポジトリで、IAMと統合されたアクセス制御が可能です。
- CodeBuildはbuildspec.ymlに基づくビルドプロセスを提供し、スケーラブルかつ従量課金で利用できます。
- CodePipelineは各サービスを連携させてCI/CDを実現します。コード変更を検知して自動的にビルド・デプロイが実行されます。
- CI/CDパイプラインにより、手動デプロイによるミスや遅延を排除し、頻繁で安全なリリースが可能になります。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS CloudHSMを起動してみました
なかなか触る機会のないサービス、CloudHSM。 起動してみました。 手順はユ …
-
-
AWS Organizationsからメンバーアカウントを直接「閉じる」ことができるようになりました
これまでは、メンバーアカウントはOrganizations組織から「除外」して独 …
-
-
Amazon S3アクセスポイント経由からアクション可能なポリシー
S3アクセスポイントを使うことで、複雑で長いバケットポリシーを避け、アクセスポイ …
-
-
IAMアクセス許可の境界でIAMロールの権限を制御する
IAMユーザー自身の権限はIAMポリシーで制御できますが、IAMユーザーにIAM …
-
-
ALBのヘルスチェックでPHPとMySQL接続をチェック
当ブログで504エラーが発生して、オートスケーリングにより自動でインスタンスが置 …
-
-
AWS認定試験の自宅受験で壁のポスターを注意されちゃいました
AWS認定オンライン受験をしてみましたに書きましたとおり、自宅受験デビューしまし …
-
-
このブログからパブリックIPv4 IPアドレスをなくしてコスト最適化
2024年2月より使用中のパブリックIPv4アドレスに1時間あたり0.005US …
-
-
Amazon VPCのAmazonProvidedDNSとほかメモ
VPCユーザーガイドのAmazon DNS について理解するの記載内容について実 …
-
-
EC2 Global Viewで不要なインスタンスを見つけて4つほど終了しました
EC2 Global Viewという機能がリリースされました。 EC2コンソール …
-
-
AWS Savings Plansを検討しました
今、個人でAWSアカウントを7つ使っています。 Savings Plansが使え …
- PREV
- CSVとParquetのデータ比較

