AWS関連のことを調べてみた

AWS関連のことを調べてみた

AWS責任共有モデル

# 背景
こちら[^2]を受講したところ、なんだっけこれ?といったものが案外散見された。その中のひとつが責任共有モデルだったので、本記事で整理する。

# 責任共有モデル[^1]
コース[^2]では以下の図を暗記しましょうと言っていた。EC2などのIaaSのサービスを考えれば当然なことを言っているような気もする。

![スクリーンショット 2023-11-20 191855.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3137982/15f3e6b9-92c2-c8db-6b65-c008f673b85f.png)

AWS利用者(我々AWSユーザーが以下について責任を持たなければいけない)
– データ
– 当然S3やDBに入れるデータはAWSが感知するわけもないのでこちらで責任を持つ
– プラットフォーム、アプリケーション、IDとアクセス管理
– プラットフォーム:
– アプリケーション: こちらで作るものなのだか

元記事を表示

【開発環境向け】NATインスタンスを利用して費用を削減する

## 1.はじめに
以下記事に感化され、

[開発環境のNAT GatewayをNAT InstanceにしてAWS利用費を削減した話](https://dev.classmethod.jp/articles/cost-cut-by-nat-instance/)

確かに、開発環境や学習用環境はNAT GatewayをNAT Instanceに代えたらAWS利用費を削減できそう!
と思い手順を検証してみました。

某C社様のブログにはいつもお世話になっております。

あと、公式ドキュメントの手順で簡単にできるだろうと思っていたら
案外、躓くポイントがありました。

NATインスタンスとは?

* NATインスタンスの基本
AWS公式ドキュメント:[NAT インスタンス](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_NAT_Instance.html)
* NAT インスタンスにはインターネットアクセスが必要
* パブリックサブネットに存在し、パブリック IP アドレスまたは El

元記事を表示

AWS ソリューションアーキテクトアソシエイト(SAA-C03)合格体験記(更新)(2023/11)

## はじめに
2023/10の[DVA](https://qiita.com/Shibuya_K/items/3c0a0a8d450853791168)に続き、SAAを受験しました。
3年前に取得しているので今回は更新になります。
ちなみに前回は何の手応えのないまま受験してギリギリ合格(756点)でした。。
(辛かった記憶しか残ってない)

## まずは結果から
838点で合格しました!
今回は問題集を2種類使ったこともあり、当日の試験では(私にしては珍しく)手応えを感じました。

## 試験の傾向
与えられた条件(可用性や俊敏性やコストなど)でどのサービスを組み合わせて構築するか?的な問いが多かったです。
各サービスやタイプの特徴を理解して、使い分けできるような理解が必要と思います。

例えば、ストレージの種類(EBS,EFS,S3)、オンプレとの連携方法、Storage Gatewayのタイプ、Kinesis、SNS,SQS、CloudFront,GlobalAccelerator・・・などなど

## 学習方法
### WEB問題集
– CloudLicense

https

元記事を表示

S/4 HANA 2023インストールしてみた(S/4 HANA編)

前回はHANA DATABASEのインストールを実施しました。
https://qiita.com/goyamamo/items/4d298497d5f67935c326
引き続きS/4 HANAのインストールを実施していきます。

### OS設定
下記に従い推奨のOS設定をします。
SAP Note
①2772999 – Red Hat Enterprise Linux 8.x: インストールと構成
https://launchpad.support.sap.com/#/notes/2772999
AWSドキュメント
②Configure Operating System – RHEL for SAP 7.x, 8.x, and 9.x
https://docs.aws.amazon.com/ja_jp/sap/latest/sap-hana/operating-system-and-storage-configuration.html#configure-operating-system-rhel-for-sap-7.x

### ソフトウェアダウンロード
メンテナンスプラン

元記事を表示

amazon comprehendをPHPで動かす

## はじめに
個人開発しているwebアプリで機械学習による自然言語処理を使った機能を実装するため、phpから[amazon comprehend](https://docs.aws.amazon.com/ja_jp/comprehend/)を使えるようにしましたが、なかなか苦戦したのでやり方を残しておきます。

## 対象者
– amazon comprehendを外部からweb apiのように使いたい人

## 結論
phpから感情分析が行えるようになりました
“`php:example.php
‘ap-northeast-1’,
‘version’ => ‘latest’
]);

$result = $client->detectSentiment([
‘LanguageCode’ => ‘ja’, // REQU

元記事を表示

AWS Lambdaの耐障害性を考える

# はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧は[こちら](https://qiita.com/tech4anyone/items/b06f88035d27c6ef13b2)。

この記事ではAWS Lambdaを耐障害性の観点から超詳細解説しています。

具体的には以下流れで説明します。

– AWS Lambdaをリリースするときのダウンタイム
– AWS Lambdaのスケーラビリティ
– AWS Lambdaの永続ストレージ

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– AWS Lambdaを採用するときのベストプラクティスを説明できるようになりたい人
– AWS Lambdaの耐障害性に不安を感じている人
– AWS Certified DevOps Engineer Professionalを目指している人

# AWS Lambdaをリリースするときのダウンタイム
AWS La

元記事を表示

【AWS】EC2にログインしてからの環境構築(SpringBoot + MySQL)

どうも、puchankoです。
AWSの学習をしようと思い、まずは基本的な構成でVPC内にEC2とRDSを置いて、自分で作ったSpringBootアプリケーションを動かしてみようとすると、なかなか上手くいかず、予想外のところでつまずいたポイントが色々あったので備忘録として残す。

# 記事の構成
| 項番 | ページ内リンク |
|:—-:|:————-|
| 0 | [はじめに](#0-はじめに) |
| 1 | [最初の設定](#1-最初の設定) |
| 2 | [メモリ領域の割り当て](#2-メモリ領域の割り当て) |
| 3 | [Javaのインストール](#3-Javaのインストール) |
| 4 | [Apacheのインストール](#4-Apacheのインストール) |
| 5 | [Tomcatのインストール](#5-Tomcatのインストール) |
| 6 | [MySQLのインストール](#6-MySQLのインストール) |
| 7 | [Javaプログラムを実行する](#7-Javaプログラムを実行する) |
| 8 | [参考記事](#8-参考

元記事を表示

【供養】Datadog AWS Integration × Terraform で sts:AssumeRole の罠に詰まった

罠ではなく、ただの視野狭窄
謎に詰まったので供養として

# 前提
Terraform 1.5.4
aws provider 5.2
data dog provider 3.32

# 結論だけ
datadogのAWS`arn:aws:iam::464622532012:root`は日本では利用不可
`arn:aws:iam::417141415827:root`を指定すること

# なにがおこったか

公式のブログのようにTerraformを構成した

providerは日本なのでそのあたりだけいれて、後は環境変数に入れています

“`terraform:provider.tf

terraform {
required_version = “1.5.4”
required_providers {
aws = {
source = “hashicorp/aws”
version = “5.20.0”
}
datadog = {
source = “DataDog/datadog”
}
}
}

pr

元記事を表示

Node18でLambdaからDynamoDBにデータを登録する関数を作ろうとしたら思ったより深い罠にかかった話。

## 前置き
業務で、「LambdaでJsonのデータをもとにDynamoDBにデータを投入する関数を作る」というタスクをいただきました。過去のQiita記事やインターネットの記事を参考にしましたが、どれもうまくいかず…
詳しく調べてみるとNode18ではインターネットに転がっている従来のソースではうまく動作しないことが多いようです。
そこで、本記事では私と同じ問題で躓いている方をお助けできるよう、また、自分の備忘録として、記事として残そうと思います。

## 結論
結論だけ見たい方、時間がない方向け。
シンプルなサンプルソースとサンプルJSONが以下となります。

#### サンプルソース
“`mjs:index.mjs

import { DynamoDBClient } from “@aws-sdk/client-dynamodb”
import { DynamoDBDocumentClient, PutCommand } from “@aws-sdk/client-dynamodb”;

export const handler = async (event) => {

元記事を表示

【AWS】CloudWatchLogsサブスクリプションフィルタ+Lambdaによるログデータの確認

# 目次

1. [はじめに](#はじめに)
1. [CloudWatchLogsサブスクリプションフィルタとは](#Chapter1)
1. [Lambdaでパラメータを受け取る](#Lambdaでパラメータを受け取る)
1. [改善してほしいところ](#改善してほしい点)



# はじめに
WindowsServer内でバッチファイルを実行し、その処理結果(ログ)に基づいて成功・失敗通知を行いたかったのですが、Lambda呼び出しのとこでいきなり躓いたので備忘録としてまとめました。

(EventBridge+Lambdaの構成と同じようにLambdaハンドラーのEventから取り出せばいいだろうと思っていたらちょっと違った…)


# CloudWatchLogsサブスクリプションフィルタとは
CloudWatchLogsに指定した文字列が記録されたら特定のアクションを実行させるようなトリガーを設定できる機能で

元記事を表示

AWS SSO × CodeCommit の認証設定

# はじめに
AWS の CodeCommit を使用してソース管理をしていますが、CodeCommitとGitの設定情報に関して基礎から理解できていなかったため、改めて調べたことを備忘録として残します。恐らく初学者向けです。

# 概要

– git config
– AWS CLI に関するファイル
– ~/.aws/config
– ~/.aws/credentials
– プロファイルの設定
– git config の認証情報に AWSのプロファイルを設定
– 元々やりたかったこと
– 実際に起きていたこと
– 補足

# git config

git config は Gitの設定を行うためのコマンドになり、ここで設定した内容は `.gitconfig` ファイルに保存されます。

例えば、`git config user.email`と実行し、メールアドレス`user@mail.com`を入力すると、

“`.gitconfig
[user]
email = user@mail.com
“`
というように設定されます。

また、設定さ

元記事を表示

AMIから新規インスタンスを起動したらミドルウェアが勝手に更新されてた話

docker v18がインストール済みのEC2インスタンスについて、v20にアップデートしようと思い、検証のためにAMIを作成後インスタンスを作成した
起動後すぐはv18のままだったが、5分くらいするとv20になるという事象が発生

なぜかと思い色々と調べたら、どうやらデフォルトでは初回起動時にyum update –securityが実行されるようだった
しっかりドキュメントにも記載がありました
https://aws.amazon.com/jp/amazon-linux-ami/faqs/

“`/etc/cloud/cloud.cfgを編集
repo_upgrade: security

repo_upgrade: none
“`

ちなみに、「repo_upgrade: all」という設定もある

元記事を表示

aws dbインスタンスサイズ変更

## はじめに
コスト削減のためr5.2xlarge→r5.xlargeへ変更

## 環境
– macOS Sonoma 14.1
– Aurora PostgreSQL 14.9

## 実施内容
### 新DBインスタンス作成
“`shell-session:AWSCLIコマンド
[nikumamushi ~]$ DbClusterId=foo-aurora-postgresql-cluster-1
[nikumamushi ~]$ NewInstance=db.r5.xlarge
[nikumamushi ~]$ aws rds create-db-instance \
[nikumamushi ~]$ –db-instance-identifier foo-aurora-postgresql-cluster-1 \
[nikumamushi ~]$ –db-cluster-identifier $DbClusterId \
[nikumamushi ~]$ –engine aurora-postgresql \
[nikumamushi ~]$ –db-instan

元記事を表示

AWS Systems Managerの超詳細解説

# はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧は[こちら](https://qiita.com/tech4anyone/items/b06f88035d27c6ef13b2)。

この記事ではAWS Systems Managerに関連する内容を超詳細にまとめています。

具体的には以下流れで説明します。

– AWS Systems Managerとは
– AWS Systems Managerの仕組み
– AWS Systems Managerのセキュリティ
– AWS Systems Manager for Advance

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– AWS Systems Managerがどういうサービスか説明できるようになりたい人
– AWS Systems Managerを採用するときのベストプラクティスを説明できるようになりたい人
– AWS Certifie

元記事を表示

S/4 HANA 2023インストールしてみた(HANA DB編)

先月2023/10月にS/4 HANA 2023がリリースされたのでインストール検証をしました。
インストールで遭遇したエラーやS/4 HANA 2022から変更されていた点があれば話そうと思います。
インストール検証はAWSで実施しました。詳細は以下。
“`:使用OSとインスタンスタイプ
S/4 HANA
OS:RHEL8.6(AWSが用意しているSAP High AvailabilityのAMIを使用しました)
インスタンスタイプ:m6i.2xlarge

HANADB
OS:同上
インスタンスタイプ:r5.8xlarge
“`
### OS設定
下記に従い推奨のOS設定をします。
SAP Note
①2772999 – Red Hat Enterprise Linux 8.x: インストールと構成
https://launchpad.support.sap.com/#/notes/2772999
②2777782 – SAP HANA DB: RHEL 8 の推奨 OS 設定
https://launchpad.support.sap.com/#/notes/2777782

元記事を表示

なぜS3のバケット名はグローバルで一意でないといけないのか

## きっかけ
S3を使ってCDNの機能を作る時にバケットを作成するが、IAMの情報でS3のバケットにアクセスするのにそのバケット名がグローバルで一意にならなければいけない理由がわからなかったのでまとめました。

## s3のバケット名の概要
**グローバルな名前空間**:
S3のバケットはグローバルに一意な名前空間を持ちます。つまり、S3に作成された全てのバケット名は、AWSの全リージョンにわたって一意である必要があります。これにより、どの地域からでも特定のバケットにアクセスしやすくなります。

**DNSに基づいたアドレッシング**:
S3バケットはDNS(ドメインネームシステム)に基づいてアドレス指定されます。バケット名がURLの一部として使用されるため、一意でなければなりません。例えば、バケット名が my-unique-bucket であれば、そのバケットのURLは my-unique-bucket.s3.amazonaws.com になります。

**シンプルな管理とアクセス**:
一意のバケット名により、開発者や管理者は特定のバケットに簡単にアクセスし、管理できます。名前が

元記事を表示

Distribution Map(StepFunctions)の限界を知った話

## はじめに
昨年のre:Inventで発表されたStepFunctionsの新機能である、Distribution Mapは我々開発者にとってかなり強力な機能だと思います。
(Distribution Mapがどんな機能かは、[リンク](https://qiita.com/saba_miso/items/3309348bb46d50dea158)を確認してみてください。)

今回はDistribution Map(Step Functions)を利用して分かった「限界」に関して記録したいと思います。

## 目次
1. 何をしたかったか。
2. やったこと・起こったこと
3. どのように乗り越えたか
4. まとめ

### 1. 何をしたかったか。
我々は開発フローの中でCICDでデプロイされるWeb資材をS3にビルドを実施しています。
さらにそのWeb資材をユーザー毎に展開していくために、これまではVBAツールを利用して1ユーザーずつコピーを行っていました。
(1つずつ行うのは、ユーザー毎にWeb資材のカスタマイズがあるため、一括コピーができないため)

ただこのツールはお察しの

元記事を表示

AWS DAS合格(更新)記(2023/11/20投稿)

# はじめに
この度AWS認定のDASを受験してきましたので、勉強した内容と受験した感想を書いておきます。
今回は更新目的の受験になります。

尚、AWS DAS試験は2024年4月9日に廃止が決定しておりますので、この記事はそれまでに期限が来る人向けの内容になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/c7fccfa5-324a-ac60-f9a1-7af546d0b380.png)
https://aws.amazon.com/jp/certification/certified-data-analytics-specialty/

# 前提
* AWSのデータ分析基盤は実務経験あります
* AWS認定は全て取っています(詳細は[こちら](https://qiita.com/handy-dd18/items/d21d914bf1c475d777f2)) ※PASは[こちら](https://qiita.com/handy-dd18/items/18e8a

元記事を表示

k8sのコントロールプレーンをELBでヘルスチェックさせてみる

# はじめに
以前k8sをkubeadmで構築した際に、コントロールプレーンのヘルスチェックはHAProxy+keepalivedで実現させていたが、AWSのNetwork LoadBalancerで実現できるか確認してみようと思います。

# 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/480aac74-492b-3a40-0abc-78b1be7c0720.png)

### サーバ環境情報
– Ubuntu 22.04
– kubeadm/kubectl/kubelet 1.28.03
– runc 1.1.9
– containerd 1.7.5
– cni-plugin 1.3.0

# 実際にやってみる
### Kubernetesをまずインストール
コントロールプレーン3台に入れていく。
“`
#各種設定
cat <

元記事を表示

EC2をIPv6にする方法

2024年2月より、IPv4を利用すると1時間あたりで課金されると通達が、、、
いつかはIPv6にしないとなぁとぼんやり思っていたものの、めんどくさくてやってませんでしたが、お金が絡むと、優先順位が変わるみたいです。

今回は、EC2インスタンスをIPv6を有効にした形で起動する手順について、まとめようと思います。

# VPCの設定
まずは、VPNへIPv6 CIDRを追加します。
VPC設定画面より、設定を行うVPCを選択し、画面上部の”Action” -> “Edit CIDR”を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626057/8a25418e-a246-a932-447f-11e830db0820.png)

“Add new IPv6 CIDR”をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626057/24b7b6e9-459c-

元記事を表示

OTHERカテゴリの最新記事