SlideShare a Scribd company logo
1 of 20
Download to read offline
オンプレを少しずつコンテナ化する
JAWS-UG CLI専門支部 岡崎 賢吉
自己紹介
• 社内情シスでインフラ担当しています(自社クラウド?それをオンプレと言うんじゃ…
昨年まではポータルサイトのAWSへの移行とか
• 好きなAWSのサービス 
• JAWSの活動 CLI専門支部懇親会係・情シス支部運営
• 黒い画面の布教活動
• 普段はIP電話やL3SWをいじってる低レイヤの人です
• コンテナはあまり詳しくないです。。。
SORACOMリレーブログに参加しました
• https://blog.soracom.jp/relay-blog/2015-11/
• 「SORACOMとAWSで家電話」というタイトルでAWS直結
でスマホからIP電話を使う試みを書きました。
少しずつコンテナにしよう
• オンプレは永遠に不滅です!
無くなると自分の仕事が…w
• 共存しつつコンテナをどう使っていくか
• サービスごとにオンプレから切り出す
DNSサーバ
Webサーバ
あたりが比較的簡単かな?ADとかムリ
コンテナの特徴
• コンテナとは仮想化ではなくユーザ空間で
動くプロセスである。 by クラウド婚にあこがれるZ佛さん(仮名)
• コンテナは起動時に指定したプロセスが終了するとコン
テナも消滅する。
• デーモンとして起動されるサービスをそのまま動かそうと
すると、一瞬でコンテナが消滅してハマる><
• 起動スクリプトの最後に tail -f /dev/null を実行しっぱな
しにする力業とかが見かけるけどイクナイ。
• 目的のサービスをforegroundで起動する必要がある。
どう実装するか
• コンテナは終了すると中のデータが消滅する
• 内部にデータを持たない設計が必要
• コンテナ起動時にS3から必要なデータを読み込み、コン
テナ自体はデータを持たない構造とした
構築手順概要
• S3へコンテンツデータを準備する
• EC2コンテナインスタンスの作成
• コンテナの作成
• リポジトリへpush
• コンテナの起動
• 動作確認
コンテナ暴走。詰んだ
(後日談:原因はリソース不足で操作不能に陥っていたようです…)
コンテナインスタンスの作成
インスタンスプロファイル(IAMロール)の作成
$ AWS_DEFAULT_REGION=ap-northeast-1
$ IAM_ROLE_NAME=ecsInstanceRole
$ IAM_POLICY_NAME='AmazonEC2ContainerServiceforEC2Role'
$ IAM_POLICY_ARN=$( aws iam list-policies --max-items 1000 --query "Policies[?PolicyName==¥`${IAM_POLICY_NAME}¥`].Arn" --output text ) && echo "${IAM_POLICY_ARN}"
$ IAM_POLICY_VERSION=$( aws iam list-policies --max-items 1000 --query "Policies[?PolicyName==¥`${IAM_POLICY_NAME}¥`].DefaultVersionId" --output text ) && echo ${IAM_POLICY_VERSION}
$ FILE_ROLE_DOC="${IAM_ROLE_NAME}.json" && echo ${FILE_ROLE_DOC}
$ cat << EOF > ${FILE_ROLE_DOC}
{
"Version": "2008-10-17",
"Statement": [
{
Action": "sts:AssumeRole",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
EOF
$ aws iam create-role --role-name ${IAM_ROLE_NAME} --assume-role-policy-document file://${FILE_ROLE_DOC}
$ aws iam list-attached-role-policies --role-name ${IAM_ROLE_NAME}
$ aws iam attach-role-policy --role-name ${IAM_ROLE_NAME} --policy-arn ${IAM_POLICY_ARN}
$ IAM_ROLE_NAME="ecsInstanceRole"
$ IAM_INSTANCE_PROFILE_NAME=${IAM_ROLE_NAME} && echo ${IAM_INSTANCE_PROFILE_NAME}
$ cat << ETX
IAM_INSTANCE_PROFILE_NAME: ${IAM_INSTANCE_PROFILE_NAME}
ETX
$ aws iam create-instance-profile --instance-profile-name ${IAM_INSTANCE_PROFILE_NAME}
$ ARRAY_IAM_ROLES=$( aws iam get-instance-profile --instance-profile-name ${IAM_INSTANCE_PROFILE_NAME} --query 'InstanceProfile.Roles[].RoleName' --output text ) && echo ${ARRAY_IAM_ROLES}
$ aws iam add-role-to-instance-profile --instance-profile-name ${IAM_INSTANCE_PROFILE_NAME} --role-name ${IAM_ROLE_NAME}
$ ARRAY_IAM_ROLES=$( aws iam get-instance-profile --instance-profile-name ${IAM_INSTANCE_PROFILE_NAME} --query 'InstanceProfile.Roles[].RoleName' --output text ) && echo ${ARRAY_IAM_ROLES}
コンテナインスタンスの作成
セキュリティグループ・鍵ペア・インスタンスプロファイルの作成
$ VPC_SG_NAME='ec2-http-dns-global-inbound'
$ VPC_SG_DESC='EC2 HTTP/DNS Global inbound'
$ aws ec2 create-security-group --group-name ${VPC_SG_NAME} --description "${VPC_SG_DESC}"
$ VPC_SG_ID=$( aws ec2 describe-security-groups --filter Name=group-name,Values=${VPC_SG_NAME} --query 'SecurityGroups[].GroupId' --output text ) && echo ${VPC_SG_ID}
$ VPC_SG_PROTOCOL='tcp'
$ VPC_SG_PORT='80'
$ VPC_SG_CIDR='0.0.0.0/0'
$ aws ec2 authorize-security-group-ingress --group-id ${VPC_SG_ID} --protocol ${VPC_SG_PROTOCOL} --port ${VPC_SG_PORT} --cidr ${VPC_SG_CIDR}
$ VPC_SG_PROTOCOL='udp'
$ VPC_SG_PORT='53'
$ VPC_SG_CIDR='0.0.0.0/0'
$ aws ec2 authorize-security-group-ingress --group-id ${VPC_SG_ID} --protocol ${VPC_SG_PROTOCOL} --port ${VPC_SG_PORT} --cidr ${VPC_SG_CIDR}
$ VPC_SG_PROTOCOL='tcp'
$ VPC_SG_PORT='22'
$ VPC_SG_CIDR='■端末IP■/32'
$ aws ec2 authorize-security-group-ingress --group-id ${VPC_SG_ID} --protocol ${VPC_SG_PROTOCOL} --port ${VPC_SG_PORT} --cidr ${VPC_SG_CIDR}
$ PRJ_NAME=ecshandson
$ EC2_KEY_NAME="${PRJ_NAME}-${AWS_DEFAULT_REGION}-ec2" && echo ${EC2_KEY_NAME}
$ FILE_SSH_KEY="${HOME}/.ssh/${EC2_KEY_NAME}.pem" && echo ${FILE_SSH_KEY}
$ aws ec2 create-key-pair --key-name ${EC2_KEY_NAME} --query 'KeyMaterial' --output text > ${FILE_SSH_KEY} && cat ${FILE_SSH_KEY} && chmod 400 ${FILE_SSH_KEY}
$ aws iam list-instance-profiles --query 'InstanceProfiles[].InstanceProfileName'
$ IAM_INSTANCE_PROFILE_NAME='ecsInstanceRole'
$ VPC_SG_NAME='ec2-http-dns-global-inbound'
$ VPC_SG_ID=` aws ec2 describe-security-groups --filter Name=group-name,Values=${VPC_SG_NAME} --query 'SecurityGroups[].GroupId' --output text ` && echo ${VPC_SG_ID}
$ ARRAY_VPC_SG_ID="${VPC_SG_ID} ${ARRAY_VPC_SG_ID}" && echo ${ARRAY_VPC_SG_ID}
$ aws ec2 describe-security-groups --group-ids ${VPC_SG_ID}
コンテナインスタンスの作成
インスタンスの起動
$ EC2_INSTANCE_TYPE='c4.8xlarge'
$ AMZLINUX_VERSION='2015.03.d'
$ EC2_IMAGE_NAME="amzn-ami-${AMZLINUX_VERSION}-amazon-ecs-optimized"
$ EC2_IMAGE_ID=`aws ec2 describe-images --filters Name=name,Values="${EC2_IMAGE_NAME}" --query 'Images[].ImageId' --output text` && echo ${EC2_IMAGE_ID}
$ ECS_CLUSTER_NAME='handson-cluster'
$ FILE_EC2_USERDATA="ecs-userdata-${ECS_CLUSTER_NAME}.bash"
$ cat << EOF > ${FILE_EC2_USERDATA}
echo ECS_CLUSTER=${ECS_CLUSTER_NAME} > /etc/ecs/ecs.config
EOF
$ aws ecs create-cluster --cluster-name ${ECS_CLUSTER_NAME}
$ aws ec2 run-instances --image-id ${EC2_IMAGE_ID} --instance-type ${EC2_INSTANCE_TYPE} --security-group-ids ${ARRAY_VPC_SG_ID} ¥
--key-name ${EC2_KEY_NAME} --associate-public-ip-address --user-data file://${FILE_EC2_USERDATA} --iam-instance-profile Name=${IAM_INSTANCE_PROFILE_NAME}
$ EC2_INSTANCE_ID=` aws ec2 describe-instances --filters Name=instance-state-name,Values=pending --query 'Reservations[].Instances[].InstanceId' ¥
--output text ` && echo ${EC2_INSTANCE_ID}
$ EC2_PUBLIC_IP=` aws ec2 describe-instances --instance-id ${EC2_INSTANCE_ID} --query "Reservations[].Instances[].PublicIpAddress" ¥
--output text ` && echo ${EC2_PUBLIC_IP}
• 数分待ってからコンテナインスタンスへログイン
ssh -i ${FILE_SSH_KEY} ec2-user@${EC2_PUBLIC_IP}
• 以後の作業はログインしたコンテナインスタンス上から行います。
httpdコンテナ
apache httpdコンテナを作る
• ベースとなるコンテナ(centos:6)に追加したいファイルを準備
/root/.aws/config /root/.aws/credential /etc/httpd/conf/httpd.conf.add /etc/rc.local (後述)
• rc.localはS3からWebコンテンツを取得してapacheを起動する設定を記述
apacheをフォアグラウンドで起動させるためにapachectlを直接呼び出す。
#!/bin/sh
/usr/bin/aws s3 sync s3://ecs-handson/html /var/www/html
/usr/sbin/apachectl -DFOREGROUND
• Dockerfileファイルを新規作成し構築したい内容を記述
FROM centos:6
RUN curl -O https://bootstrap.pypa.io/get-pip.py
RUN python get-pip.py
RUN pip install awscli
RUN yum -y install httpd
ADD config /root/.aws/config
ADD credentials /root/.aws/credentials
ADD httpd.conf.add /tmp/httpd.conf.add
RUN cat /tmp/httpd.conf.add >> /etc/httpd/conf/httpd.conf
ADD rc.local /etc/rc.local
CMD /etc/rc.local
httpdコンテナ
コンテナのビルド
• これらのファイルを1つのディレクトリに入れ(ここでは ./lt-httpd/) build
# docker build --rm -t xiaomiho/lt-httpd ./lt-httpd
Sending build context to Docker daemon 6.144 kB
Sending build context to Docker daemon
Step 0 : FROM centos:6
---> 3bbbf0aca359
Step 1 : RUN curl -O https://bootstrap.pypa.io/get-pip.py
---> Using cache
---> b2657c17a25d
Step 2 : RUN python get-pip.py
---> Using cache
---> 7f81e9867e4c
Step 3 : RUN pip install awscli
---> Using cache
---> 69c2fe677515
Step 4 : RUN yum -y install httpd
---> Using cache
---> c4e9e346f87a
Step 5 : ADD config /root/.aws/config
---> Using cache
---> c05b256e202c
Step 6 : ADD credentials /root/.aws/credentials
---> Using cache
---> 203b855206db
Step 7 : ADD httpd.conf.add /tmp/httpd.conf.add
---> bad97ea080ef
Removing intermediate container 32c25d8a8ded
Step 8 : RUN cat /tmp/httpd.conf.add >> /etc/httpd/conf/httpd.conf
---> Running in f90024c961d5
---> e819ed1c1d4b
Removing intermediate container f90024c961d5
Step 9 : ADD rc.local /etc/rc.local
---> 04f297d4b8f4
Removing intermediate container 089a2986981b
Step 10 : CMD /etc/rc.local
---> Running in 65b18d2f4f3a
---> cdd53146bb20
Removing intermediate container 65b18d2f4f3a
Successfully built cdd53146bb20 ←■最後の行 built隣の文字列がdocker image番号
#
httpdコンテナ
リポジトリへコンテナをpush、コンテナの起動
• 完成したdocker imageをリポジトリへpushする
# docker push xiaomiho/lt-httpd
The push refers to a repository [xiaomiho/lt-httpd] (len: 1)
cdd53146bb20: Image already exists
04f297d4b8f4: Image successfully pushed
e819ed1c1d4b: Image successfully pushed
bad97ea080ef: Image successfully pushed
203b855206db: Image already exists
c05b256e202c: Image already exists
c4e9e346f87a: Image already exists
69c2fe677515: Image successfully pushed
7f81e9867e4c: Image already exists
b2657c17a25d: Image already exists
3bbbf0aca359: Image already exists
fea77d2fd61e: Image already exists
91e6f84b8fe8: Image already exists
2c2557968d48: Image already exists
47d44cb6f252: Image already exists
Digest: sha256:23b61d265fa481ba9c462bacda40f38cb70a30390e1705ffdd32bcfe2549768b
#
• コンテナを起動する
# docker run -d -p 80:80 xiaomiho/lt-httpd
e2caa45cf32b31cc317dccda3377a0b3cd57f248cc0ecf690def2366f06037c8
#
正しく起動されるとコンテナIDが返されます。(長い文字列)
• 作業完了。Webブラウザで確認してみましょう
無事ブラウザでコンテンツが表示されました。
namedコンテナ
bindコンテナを作る
• 先程と同様にベースとなるコンテナ(centos:6)に追加したいファイルを準備
/root/.aws/config /root/.aws/credential /etc/rc.local (後述)
• rc.localはS3からゾーン情報などを取得してbindを起動する設定を記述
bindをフォアグラウンドで起動させるためにnamedを直接呼び出す。
#!/bin/sh
/usr/bin/aws s3 cp s3://ecs-handson/etc/named.conf /etc/
/usr/bin/aws s3 sync s3://ecs-handson/named /var/named
/usr/sbin/named -u named -f
• Dockerfileファイルを新規作成し構築したい内容を記述
FROM centos:6
RUN curl -O https://bootstrap.pypa.io/get-pip.py
RUN python get-pip.py
RUN pip install awscli
RUN yum -y install bind initscripts
ADD config /root/.aws/config
ADD credentials /root/.aws/credentials
ADD rc.local /etc/rc.local
CMD /etc/rc.local
namedコンテナ
bindコンテナのビルド、リポジトリへpush、そして起動。
• これらのファイルを1つのディレクトリに入れ(ここでは ./lt-dns/) build
# docker build --rm -t xiaomiho/lt-dns ./lt-dns
(中略)
Successfully built 86b9ec61a298
#
• 完成したdocker imageをリポジトリへpushする
# docker push xiaomiho/lt-dns
The push refers to a repository [xiaomiho/lt-dns] (len: 1)
(中略)
Digest: sha256:4da38320fad6f7b0526d0d26acc6031e871a6cfd15b906e917c24fe59f8ee267
#
• コンテナを起動する
# docker run -d -p 53:53/udp xiaomiho/lt-dns
121d50299f765aa3f415ac72aacac4b0e1d3c280db939c4d9c1003dc0c57c97b
#
• 作業完了。DNSサーバが機能しているか確認してみましょう
DNSサーバの動作確認って表現が難しいので、今回はSUPINFさんのドメインに偽ゾーン情報を入れてみました。
正しく動作していれば、Webブラウザで予期せぬページが表示されるはずです。
通常はこれが…
毒入り成功!
課題
• コンテナが落ちた時の自動復帰
ECSにすれば自動処理されるようなので、ECSに載せる方向で。
• アクセスログの管理
Amazon EFSと連携してNFSマウントしたファイルシステムにアクセスログをゴリゴリ書
きたいところですが…
IPv4アドレス枯渇に伴いCGNのなどが登場し、アクセス元ポート番号まで記録が必要
になりつつある昨今、自前でログを書いて解析するのは大変。
• ELBがS3へログを記録する機能を使ってKibanaで可視化する試みも公開されている
のでこれが最適解かも。
ありがとうございました!

More Related Content

What's hot

AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策Amazon Web Services Japan
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねクラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねYoshioSawada
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう増田 亨
 
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfssuser868e2d
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話Takanori Sejima
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)NTT DATA Technology & Innovation
 
IaC事始め Infrastructure as Code やってみる?
IaC事始め Infrastructure as Code やってみる?IaC事始め Infrastructure as Code やってみる?
IaC事始め Infrastructure as Code やってみる?大使 梶原
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon CognitoAmazon Web Services Japan
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Web Services Japan
 

What's hot (20)

AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策AWS初心者向けWebinar AWS上でのDDoS対策
AWS初心者向けWebinar AWS上でのDDoS対策
 
AWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPCAWS Black Belt Techシリーズ Amazon VPC
AWS Black Belt Techシリーズ Amazon VPC
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
クラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよねクラウドでも非機能要求グレードは必要だよね
クラウドでも非機能要求グレードは必要だよね
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
IaC事始め Infrastructure as Code やってみる?
IaC事始め Infrastructure as Code やってみる?IaC事始め Infrastructure as Code やってみる?
IaC事始め Infrastructure as Code やってみる?
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 

Similar to オンプレを少しずつコンテナ化する

microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみようHiroaki_UKAJI
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックEmma Haruka Iwao
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)さくらインターネット株式会社
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-靖 小田島
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )hiro345
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境Masashi Shinbara
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!Midori Oge
 
Idcfクラウドで始める構築自動化
Idcfクラウドで始める構築自動化Idcfクラウドで始める構築自動化
Idcfクラウドで始める構築自動化智之 大野
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationyukihiro kawada
 
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したいAwsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい聡 大久保
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介Midori Oge
 
Sakura no-yuube-20140327
Sakura no-yuube-20140327Sakura no-yuube-20140327
Sakura no-yuube-20140327Kunihiro TANAKA
 
Jaws−横浜ハンズオンーCloudFormation 1/3
Jaws−横浜ハンズオンーCloudFormation 1/3Jaws−横浜ハンズオンーCloudFormation 1/3
Jaws−横浜ハンズオンーCloudFormation 1/3Yasuhiro Araki, Ph.D
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstartHideki Saito
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたatk1234
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 

Similar to オンプレを少しずつコンテナ化する (20)

microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
 
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
 
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
 
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
 
20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!20140612_Docker上でCloudStackを動かしてみる!!
20140612_Docker上でCloudStackを動かしてみる!!
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
Idcfクラウドで始める構築自動化
Idcfクラウドで始める構築自動化Idcfクラウドで始める構築自動化
Idcfクラウドで始める構築自動化
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verification
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したいAwsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
 
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
 
Sakura no-yuube-20140327
Sakura no-yuube-20140327Sakura no-yuube-20140327
Sakura no-yuube-20140327
 
Jaws−横浜ハンズオンーCloudFormation 1/3
Jaws−横浜ハンズオンーCloudFormation 1/3Jaws−横浜ハンズオンーCloudFormation 1/3
Jaws−横浜ハンズオンーCloudFormation 1/3
 
Hbstudy41 auto scaling
Hbstudy41 auto scalingHbstudy41 auto scaling
Hbstudy41 auto scaling
 
Ansible quickstart
Ansible quickstartAnsible quickstart
Ansible quickstart
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 

More from Kenkichi Okazaki

中国の移動体通信網入門
中国の移動体通信網入門中国の移動体通信網入門
中国の移動体通信網入門Kenkichi Okazaki
 
AliEaters 札幌 #2 東京第2ゾーンとECSの話
AliEaters 札幌 #2 東京第2ゾーンとECSの話AliEaters 札幌 #2 東京第2ゾーンとECSの話
AliEaters 札幌 #2 東京第2ゾーンとECSの話Kenkichi Okazaki
 
酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~
酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~
酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~Kenkichi Okazaki
 
AWS FinTech リファレンス・アーキテクチャー 日本版 の話
AWS FinTech リファレンス・アーキテクチャー 日本版 の話AWS FinTech リファレンス・アーキテクチャー 日本版 の話
AWS FinTech リファレンス・アーキテクチャー 日本版 の話Kenkichi Okazaki
 
20171014 jaws ug-nagano-reboot
20171014 jaws ug-nagano-reboot20171014 jaws ug-nagano-reboot
20171014 jaws ug-nagano-rebootKenkichi Okazaki
 
AWS free tier maximization
AWS free tier maximizationAWS free tier maximization
AWS free tier maximizationKenkichi Okazaki
 
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)Kenkichi Okazaki
 

More from Kenkichi Okazaki (7)

中国の移動体通信網入門
中国の移動体通信網入門中国の移動体通信網入門
中国の移動体通信網入門
 
AliEaters 札幌 #2 東京第2ゾーンとECSの話
AliEaters 札幌 #2 東京第2ゾーンとECSの話AliEaters 札幌 #2 東京第2ゾーンとECSの話
AliEaters 札幌 #2 東京第2ゾーンとECSの話
 
酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~
酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~
酔っ払いの戯れ言 ~ Alieaters #9 忘年会 ~
 
AWS FinTech リファレンス・アーキテクチャー 日本版 の話
AWS FinTech リファレンス・アーキテクチャー 日本版 の話AWS FinTech リファレンス・アーキテクチャー 日本版 の話
AWS FinTech リファレンス・アーキテクチャー 日本版 の話
 
20171014 jaws ug-nagano-reboot
20171014 jaws ug-nagano-reboot20171014 jaws ug-nagano-reboot
20171014 jaws ug-nagano-reboot
 
AWS free tier maximization
AWS free tier maximizationAWS free tier maximization
AWS free tier maximization
 
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)Inspector CLI (JAWS-UG 京王線支部 #4 LT)
Inspector CLI (JAWS-UG 京王線支部 #4 LT)
 

Recently uploaded

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 

Recently uploaded (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

オンプレを少しずつコンテナ化する